CSNC script
This commit is contained in:
parent
ec734b6f1e
commit
988f39144d
99
Client/Unity/CSNC.cs
Normal file
99
Client/Unity/CSNC.cs
Normal file
@ -0,0 +1,99 @@
|
||||
using Newtonsoft.Json;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Networking;
|
||||
|
||||
public class CSNC : MonoBehaviour
|
||||
{
|
||||
public string ip;
|
||||
private class EZtransform //ez consistent serialization of transforms
|
||||
{
|
||||
public List<float> position;
|
||||
public List<float> rotation;
|
||||
|
||||
public EZtransform(Transform transform)
|
||||
{
|
||||
position = new List<float>(3);
|
||||
rotation = new List<float>(4);
|
||||
|
||||
position.Add(transform.position.x);
|
||||
position.Add(transform.position.y);
|
||||
position.Add(transform.position.z);
|
||||
|
||||
rotation.Add(transform.rotation.x);
|
||||
rotation.Add(transform.rotation.y);
|
||||
rotation.Add(transform.rotation.z);
|
||||
rotation.Add(transform.rotation.w);
|
||||
}
|
||||
|
||||
}
|
||||
private class CSNCObject
|
||||
{
|
||||
public string type;
|
||||
public EZtransform transform;
|
||||
|
||||
public CSNCObject(string type, Transform trans)
|
||||
{
|
||||
this.type = type;
|
||||
this.transform = new EZtransform(trans);
|
||||
}
|
||||
|
||||
public CSNCObject(string type, EZtransform trans)
|
||||
{
|
||||
this.type = type;
|
||||
this.transform = trans;
|
||||
}
|
||||
}
|
||||
private class SendData
|
||||
{
|
||||
public string uuid;
|
||||
public List<CSNCObject> gameObjects;
|
||||
public SendData(List<CSNCObject> gameobjects)
|
||||
{
|
||||
uuid = GameObjectRegistry.instance.uuid;
|
||||
gameObjects = gameobjects;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void Start()
|
||||
{
|
||||
ip = CHANGEME; //CHANGE THIS VALUE to the ip address
|
||||
}
|
||||
|
||||
void FixedUpdate()
|
||||
{
|
||||
IEnumerator req = request();
|
||||
StartCoroutine(req);
|
||||
}
|
||||
IEnumerator request()
|
||||
{
|
||||
//Debug.Log(GameObjectRegistry.instance.registeredObjects);
|
||||
List<CSNCObject> gameObjects = new List<CSNCObject>();
|
||||
|
||||
foreach (SyncData obj in GameObjectRegistry.instance.registeredObjects)
|
||||
{
|
||||
gameObjects.Add(new CSNCObject(obj.type, obj.transform));
|
||||
}
|
||||
|
||||
SendData sendData = new SendData(gameObjects);
|
||||
//Debug.Log(JsonConvert.SerializeObject(sendData));
|
||||
using (UnityWebRequest req = UnityWebRequest.Post(ip, JsonConvert.SerializeObject(sendData), "application/json"))
|
||||
{
|
||||
req.SetRequestHeader("request-type", "csnc");
|
||||
yield return req.SendWebRequest();
|
||||
|
||||
if (req.result != UnityWebRequest.Result.Success)
|
||||
{
|
||||
Debug.LogError(req.error);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
Debug.Log(req.downloadHandler.text);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
11
Client/Unity/CSNC.cs.meta
Normal file
11
Client/Unity/CSNC.cs.meta
Normal file
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6772f36d5b93fd5498e8f3f1d8155ff2
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
Loading…
x
Reference in New Issue
Block a user