public static NetworkGameObject2D GetGameObject2D(this byte[] data) { NetworkGameObject2D gameObject = new NetworkGameObject2D(); gameObject.ID = data.Take(4).ToArray().ToInt(); gameObject.position = data.Skip(4).Take(8).ToArray().ToVector2(); gameObject.rotation = data.Skip(12).Take(8).ToArray().ToQuaternion2D(); return gameObject; }
private static void Send(NetworkGameObject2D obj, int Code) { byte[] data = obj.ToByte(); byte[] length = new byte[] { (byte)(data.Length + 1) }; byte[] code = new byte[] { (byte)Code }; length = length.AddByte(code); length = length.AddByte(data); client.Send(length); }
public static NetworkGameObject2D NewGameObject2D(this byte[] data) { NetworkGameObject2D gameObject = new NetworkGameObject2D(); string name = BToString(data.Skip(20).ToArray()); gameObject.gameObject = (GameObject)Resources.Load(name); gameObject.ID = data.Take(4).ToArray().ToInt(); gameObject.position = data.Skip(4).Take(8).ToArray().ToVector2(); gameObject.rotation = data.Skip(12).Take(8).ToArray().ToQuaternion2D(); gameObject.gameObject.name = name; return gameObject; }
public static void Instantiates(GameObject Gameobj) { if (!client.Connected) return; NetworkGameObject2D obj = new NetworkGameObject2D(); obj.gameObject = Instantiate(Gameobj); obj.gameObject.name = Gameobj.name; obj.IsMine = true; //obj.moveLerp = obj.gameObject.GetComponent<MoveLerp2D>(); // obj.moveLerp.IsMine = true; ObjectReference2D.Add(obj); Camera.main.GetComponent<CmaeraRunnerScript>().Player = obj.gameObject.transform; byte[] data = obj.ToByte(obj.gameObject.GetInstanceID()); byte[] length = new byte[] { (byte)(data.Length + 1) }; byte[] code = new byte[] { 1 }; length = length.AddByte(code); length = length.AddByte(data); client.Send(length); }