Esempio n. 1
0
    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);
        }
    }
Esempio n. 2
0
    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();
        }
    }