From 7c87ed9c62a3dc229cc7f0fbd474020eff617bdb Mon Sep 17 00:00:00 2001 From: Julien Date: Sat, 15 Dec 2018 23:29:58 +0900 Subject: [PATCH] Remove logger print on client side because it's cause problems with Unity + Server now check if the game as start before when a player does an action like take an item to prevent crashes --- PralineNetworkSDK/Client/MyNetworkClient.cs | 2 - PralineServer/Server/Room/GameInstance.cs | 43 ++++++++++++++++++++- 2 files changed, 41 insertions(+), 4 deletions(-) diff --git a/PralineNetworkSDK/Client/MyNetworkClient.cs b/PralineNetworkSDK/Client/MyNetworkClient.cs index 00c1db1..5767660 100644 --- a/PralineNetworkSDK/Client/MyNetworkClient.cs +++ b/PralineNetworkSDK/Client/MyNetworkClient.cs @@ -62,13 +62,11 @@ public void SendWriter(NetworkWriter writer, DeliveryMethod method) { private void OnConnectEvent(NetPeer peer) { _peer = peer; if (OnConnect != null) OnConnect.Invoke(); - Logger.WriteLine("Client connected to the server."); } private void OnDisconnectEvent(NetPeer peer, DisconnectInfo info) { _peer = null; if (OnDisconnect != null) OnDisconnect.Invoke(info); - Logger.WriteLine("Client disconnected to the server."); } private void OnNetworkReceive(NetPeer peer, NetPacketReader msg, DeliveryMethod method) { diff --git a/PralineServer/Server/Room/GameInstance.cs b/PralineServer/Server/Room/GameInstance.cs index de6289d..4596a24 100644 --- a/PralineServer/Server/Room/GameInstance.cs +++ b/PralineServer/Server/Room/GameInstance.cs @@ -200,6 +200,9 @@ private void PlayerCrouchMessage(InGamePlayer player, NetworkMessage msg) { } private void DropTrainMessage(InGamePlayer player, NetworkMessage msg) { + if (!GameStarted || GameEnded) + return; + var writer = new NetworkWriter(InGameProtocol.TCPServerToClient.DropTrain); writer.Put(player.Id); @@ -207,6 +210,9 @@ private void DropTrainMessage(InGamePlayer player, NetworkMessage msg) { } private void PlayerReloadingMessage(InGamePlayer player, NetworkMessage msg) { + if (!GameStarted || GameEnded) + return; + bool state = msg.GetBool(); var writer = new NetworkWriter(InGameProtocol.TCPServerToClient.Reloading); @@ -217,6 +223,9 @@ private void PlayerReloadingMessage(InGamePlayer player, NetworkMessage msg) { } private void EnigmaOpenedMessage(InGamePlayer player, NetworkMessage msg) { + if (!GameStarted || GameEnded) + return; + int enigmaID = msg.GetInt(); Logger.WriteLine("Room {0} : Player {1} open enigma {2}.", Id, player.Id, enigmaID); @@ -230,6 +239,9 @@ private void EnigmaOpenedMessage(InGamePlayer player, NetworkMessage msg) { } private void OpenCrateMessage(InGamePlayer player, NetworkMessage msg) { + if (!GameStarted || GameEnded) + return; + int crateID = msg.GetInt(); Logger.WriteLine("Room {0} : Player {1} open crate {2}."); @@ -259,6 +271,9 @@ private void OpenCrateMessage(InGamePlayer player, NetworkMessage msg) { } private void TakeItemMessage(InGamePlayer player, NetworkMessage msg) { + if (!GameStarted || GameEnded) + return; + int itemID = msg.GetInt(); int quantity = msg.GetInt(); @@ -281,6 +296,9 @@ private void TakeItemMessage(InGamePlayer player, NetworkMessage msg) { } private void DropItemMessage(InGamePlayer player, NetworkMessage msg) { + if (!GameStarted || GameEnded) + return; + int itemID = msg.GetInt(); int quantity = msg.GetInt(); @@ -298,6 +316,9 @@ private void DropItemMessage(InGamePlayer player, NetworkMessage msg) { } private void SwitchItemMessage(InGamePlayer player, NetworkMessage msg) { + if (!GameStarted || GameEnded) + return; + int itemID = msg.GetInt(); player.SwitchCurrentItem(itemID); @@ -309,12 +330,18 @@ private void SwitchItemMessage(InGamePlayer player, NetworkMessage msg) { } private void SwitchKnifeMessage(InGamePlayer player, NetworkMessage msg) { + if (!GameStarted || GameEnded) + return; + var writer = new NetworkWriter(InGameProtocol.TCPServerToClient.SwitchKnife); writer.Put(player.Id); _server.SendAll(writer, DeliveryMethod.ReliableOrdered); } private void UseItemMessage(InGamePlayer player, NetworkMessage msg) { + if (!GameStarted || GameEnded) + return; + int itemID = msg.GetInt(); int quantity = msg.GetInt(); @@ -340,9 +367,9 @@ private void PlayerShootMessage(InGamePlayer player, NetworkMessage msg) { } private void PlayerHitMessage(InGamePlayer player, NetworkMessage msg) { - if (!GameStarted) + if (!GameStarted || GameEnded) return; - + int hitPlayerID = msg.GetInt(); short damage = msg.GetShort(); @@ -363,6 +390,9 @@ private void PlayerHitMessage(InGamePlayer player, NetworkMessage msg) { } private void StartThrowingMessage(InGamePlayer player, NetworkMessage msg) { + if (!GameStarted || GameEnded) + return; + short type = msg.GetShort(); var writer = new NetworkWriter(InGameProtocol.TCPServerToClient.StartThrowing); @@ -372,6 +402,9 @@ private void StartThrowingMessage(InGamePlayer player, NetworkMessage msg) { } private void ThrowingMessage(InGamePlayer player, NetworkMessage msg) { + if (!GameStarted || GameEnded) + return; + int itemID = msg.GetInt(); short type = msg.GetShort(); int index = msg.GetInt(); @@ -387,6 +420,9 @@ private void ThrowingMessage(InGamePlayer player, NetworkMessage msg) { } private void ThrowableEndMessage(InGamePlayer player, NetworkMessage msg) { + if (!GameStarted || GameEnded) + return; + int index = msg.GetInt(); player.ThrowingEnd(index); @@ -428,6 +464,9 @@ private void PlayerTurnMessage(InGamePlayer player, NetworkMessage msg) { } private void ThrowableMoveMessage(InGamePlayer player, NetworkMessage msg) { + if (!GameStarted || GameEnded) + return; + int index = msg.GetInt(); Vector3 pos = msg.GetVector3(); Quaternion rot = msg.GetQuaternion();