示例#1
0
 private void OnPacketReceived(KarmanNet.Networking.Packet packet)
 {
     if (packet is MineSpawnPacket mineSpawnPacket)
     {
         OnMineSpawnPacketReceived(mineSpawnPacket);
     }
 }
示例#2
0
 private void OnPacketReceived(KarmanNet.Networking.Packet packet)
 {
     if (packet is CharacterSpawnPacket characterSpawnPacket)
     {
         OnCharacterSpawnPacketReceived(characterSpawnPacket);
     }
     else if (packet is CharacterDestroyPacket characterDestroyPacket)
     {
         OnCharacterDestroyPacketReceived(characterDestroyPacket);
     }
     else if (packet is CharacterUpdatePositionPacket characterUpdatePositionPacket)
     {
         OnCharacterUpdatePositionPacketReceived(characterUpdatePositionPacket);
     }
 }
示例#3
0
 private void OnClientPacketReceived(Guid clientId, KarmanNet.Networking.Packet packet)
 {
     if (packet is CharacterUpdatePositionPacket characterUpdatePositionPacket)
     {
         CharacterData character = characters[clientId];
         if (character.GetId().Equals(characterUpdatePositionPacket.GetId()))
         {
             character.SetPosition(characterUpdatePositionPacket.GetPosition());
             karmanServer.Broadcast(character.GetUpdatePositionPacket(), clientId);
         }
         else
         {
             Debug.LogWarning(string.Format("Client {0} is trying to move character {1} while that characters is not under control by that client", clientId, characterUpdatePositionPacket.GetId()));
         }
     }
 }