public override void OnCalled(Message msg, NetIncomingMessage netMsg = null) { MessagePlayerHookReleased message = msg as MessagePlayerHookReleased; var player = MultiplayerManager.instance.m_players.FirstOrDefault(x => x.ID == message.playerId); player.PlayerGameObject.GetComponent<PlayerRemote>().OnPlayerHookReleased(); }
public void SendNetworkMessage(Message message, SendTo sendTo, NetIncomingMessage netMessage = null, NetDeliveryMethod deliveryMethod = NetDeliveryMethod.ReliableOrdered) { if (m_isServer) { Type messageType = message.GetType(); NetOutgoingMessage om = m_server.CreateMessage(); om.Write((int)MessageFunction.ClassMessage);; om.Write(messageType.Assembly.ToString()); om.Write(messageType.ToString()); om.WriteAllFields(message); NetConnection sender = null; if (netMessage != null) { sender = netMessage.SenderConnection; } switch (sendTo) { case SendTo.All: message.OnCalled(message, netMessage); m_server.SendToAll(om, sender, deliveryMethod, 0); break; case SendTo.Others: m_server.SendToAll(om, sender, deliveryMethod, 0); if (sender != null) //If server diden't send the message message.OnCalled(message, netMessage); break; case SendTo.Server: message.OnCalled(message, netMessage); break; } } else { Type messageType = message.GetType(); NetOutgoingMessage om = m_client.CreateMessage(); om.Write((int)MessageFunction.ClassMessage); om.Write((int) sendTo); om.Write(messageType.Assembly.ToString()); om.Write(messageType.ToString()); om.WriteAllFields(message); m_client.SendMessage(om, deliveryMethod); if (sendTo == SendTo.All) //Trigger for sender if you sent it to everybody { message.OnCalled(message, netMessage); } } }
public virtual void OnCalled(Message msg, NetIncomingMessage netMsg = null) { }
public override void OnCalled(Message msg, NetIncomingMessage netMsg = null) { MessageUpdatePlayerPosition message = msg as MessageUpdatePlayerPosition; var instance = MultiplayerManager.instance; var player = instance.m_players.FirstOrDefault(x => x.ID == message.playerId); if (player != null) { player.PlayerGameObject.GetComponent<PlayerNetworkView>().OnNetworkData(netMsg.ReceiveTime, message.position, Quaternion.Euler(message.rotation)); } }
public override void OnCalled(Message msg, NetIncomingMessage netMsg = null) { MessageSpawnPlayer message = msg as MessageSpawnPlayer; MultiplayerManager.instance.SpawnPlayer(message.playerId, message.playerName, netMsg.SenderConnection); }
public override void OnCalled(Message msg, NetIncomingMessage netMsg = null) { MessageSendChatMessage message = msg as MessageSendChatMessage; MultiplayerManager.instance.Chat.OnReceiveChatMessage(message.chatMessage); }
public override void OnCalled(Message msg, NetIncomingMessage netMsg = null) { MessageRemovePlayer message = msg as MessageRemovePlayer; var player = MultiplayerManager.instance.m_players.FirstOrDefault(x => x.ID == message.playerId); if (player != null) { GameObject.Destroy(player.PlayerGameObject); MultiplayerManager.instance.m_players.Remove(player); } }
public override void OnCalled(Message msg, NetIncomingMessage netMsg = null) { MessagePlayerShotBullet message = msg as MessagePlayerShotBullet; BulletHitParticlePrefab.Create(message.hitPosition, message.hitDirection); if (message.hitPlayerId != 0) { var playerHit = MultiplayerManager.instance.m_players.FirstOrDefault(x => x.ID == message.hitPlayerId); if (playerHit != null) { playerHit.PlayerGameObject.GetComponent<Player>().OnDamageTaken(playerId, damage); } } }