private void onMovement(NetIncomingMessage msg) { LidgrenPlayer lidgrenPlayer = (LidgrenPlayer)msg.SenderConnection.Tag; NetOutgoingMessage netOutgoingMessage = msg.SenderConnection.Peer.CreateMessage(); netOutgoingMessage.Write(msg); server.SendToAll(netOutgoingMessage, msg.SenderConnection, NetDeliveryMethod.ReliableOrdered, 1); msg.ReadInt32(); lidgrenPlayer.GameObject.GetComponent <PlayerAnimator>().OnPlayerMovement(msg.ReadByte()); }
private void onRequestSpawn(NetIncomingMessage msg) { LidgrenPlayer lidgrenPlayer = (LidgrenPlayer)msg.SenderConnection.Tag; if (lidgrenPlayer.GameObject == null) { lidgrenPlayer.GameObject = LidgrenGameObject.Spawn(-1, lidgrenPlayer.Id, msg.SenderConnection); foreach (NetConnection connection in server.Connections) { spawnOn(lidgrenPlayer.GameObject, connection); } } }
private void onDisconnected(NetIncomingMessage a_msg) { LidgrenPlayer lidgrenPlayer = (LidgrenPlayer)a_msg.SenderConnection.Tag; NetOutgoingMessage netOutgoingMessage = server.CreateMessage(); netOutgoingMessage.Write(LidgrenMessageHeaders.Despawn); netOutgoingMessage.Write(lidgrenPlayer.Id); server.SendToAll(netOutgoingMessage, NetDeliveryMethod.ReliableOrdered); if (lidgrenPlayer.GameObject != null) { Object.Destroy(lidgrenPlayer.GameObject); } Debug.Log("Client disconnected"); }
private void onPosition(NetIncomingMessage msg) { LidgrenPlayer lidgrenPlayer = (LidgrenPlayer)msg.SenderConnection.Tag; NetOutgoingMessage netOutgoingMessage = msg.SenderConnection.Peer.CreateMessage(); netOutgoingMessage.Write(msg); server.SendToAll(netOutgoingMessage, msg.SenderConnection, NetDeliveryMethod.Unreliable, 0); msg.ReadInt32(); Vector3 position = new Vector3(msg.ReadFloat(), msg.ReadFloat(), msg.ReadFloat()); lidgrenPlayer.GameObject.transform.position = position; Quaternion rotation = new Quaternion(msg.ReadFloat(), msg.ReadFloat(), msg.ReadFloat(), msg.ReadFloat()); lidgrenPlayer.GameObject.transform.GetChild(0).rotation = rotation; }
void onMovement(NetIncomingMessage msg) { LidgrenPlayer player = (LidgrenPlayer)msg.SenderConnection.Tag; // Forward message to all other players NetOutgoingMessage forward = msg.SenderConnection.Peer.CreateMessage(); forward.Write(msg); server.SendToAll(forward, msg.SenderConnection, NetDeliveryMethod.ReliableOrdered, 1); // Throw away Id on server, we dont need it msg.ReadInt32(); // Read movement animation on server also player.GameObject.GetComponent <PlayerAnimator>().OnPlayerMovement(msg.ReadByte()); }
void onDisconnected(NetConnection c) { LidgrenPlayer player = (LidgrenPlayer)c.Tag; NetOutgoingMessage msg = server.CreateMessage(); msg.Write(LidgrenMessageHeaders.Despawn); msg.Write(player.Id); server.SendToAll(msg, NetDeliveryMethod.ReliableOrdered); if (player.GameObject != null) { GameObject.Destroy(player.GameObject); } Debug.Log("Client disconnected"); }
void onPosition(NetIncomingMessage msg) { LidgrenPlayer player = (LidgrenPlayer)msg.SenderConnection.Tag; // Forward message to all other players NetOutgoingMessage forward = msg.SenderConnection.Peer.CreateMessage(); forward.Write(msg); server.SendToAll(forward, msg.SenderConnection, NetDeliveryMethod.Unreliable, 0); // Throw away Id on server, we dont need it msg.ReadInt32(); // Update position Vector3 pos = new Vector3(msg.ReadFloat(), msg.ReadFloat(), msg.ReadFloat()); player.GameObject.transform.position = pos; // Update rotation Quaternion rot = new Quaternion(msg.ReadFloat(), msg.ReadFloat(), msg.ReadFloat(), msg.ReadFloat()); player.GameObject.transform.GetChild(0).rotation = rot; }