private void OnPacketReceived(KarmanNet.Networking.Packet packet) { if (packet is MineSpawnPacket mineSpawnPacket) { OnMineSpawnPacketReceived(mineSpawnPacket); } }
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); } }
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())); } } }