public void SendTransform() { if (isServer) { NetworkMessageHandler.MovementMessage msg = new NetworkMessageHandler.MovementMessage() { ObjectID = objectID, position = this.transform.position, velocity = this.GetComponent <BulletPhysic>().velocity, RTT = 0 }; NetworkServer.SendToAll(NetworkMessageHandler.MyNewMsg, msg); } else { NetworkMessageHandler.MovementMessage msg = new NetworkMessageHandler.MovementMessage() { ObjectID = objectID, position = this.transform.position, velocity = this.GetComponent <BulletPhysic>().velocity, RTT = NetworkManager.singleton.client.GetRTT() }; NetworkLobbyManager.singleton.client.Send(NetworkMessageHandler.MyNewMsg, msg); } }
void OnReceiveSyncMsg(NetworkMessage _msg) { NetworkMessageHandler.MovementMessage msg = _msg.ReadMessage <NetworkMessageHandler.MovementMessage>(); if (NetworkServer.active) { NetworkServer.FindLocalObject(Manager.Instance.GetNetIDFromConnectedNetID(msg.ObjectID)).GetComponent <SyncTransform>().ReceiveMovementMessage(msg.position, msg.velocity, msg.RTT); NetworkServer.FindLocalObject(Manager.Instance.GetNetIDFromConnectedNetID(msg.ObjectID)).GetComponent <PoolBullet>().SetBulletActive(); NetworkServer.SendToAll(NetworkMessageHandler.MyNewMsg, msg); } else { if (ClientScene.FindLocalObject(Manager.Instance.GetNetIDFromConnectedNetID(msg.ObjectID)).GetComponent <NetworkIdentity>().hasAuthority) { return; } ClientScene.FindLocalObject(Manager.Instance.GetNetIDFromConnectedNetID(msg.ObjectID)).GetComponent <SyncTransform>().ReceiveMovementMessage(msg.position, msg.velocity, msg.RTT); ClientScene.FindLocalObject(Manager.Instance.GetNetIDFromConnectedNetID(msg.ObjectID)).GetComponent <PoolBullet>().SetBulletActive(); } }