public static void PlayerAddScore(int _fromClient, Packet _packet)
        {
            if (Server.clients[_fromClient].player != null)
            {
                int  _team         = _packet.ReadInt();
                bool _isFinishLine = _packet.ReadBool();

                int _addScore;
                if (_isFinishLine)
                {
                    _addScore = Constants.FinishLineScore;
                }
                else
                {
                    _addScore = Constants.KillScore;
                }

                Server.clients[_fromClient].player.score += _addScore;
                GameLogic.score[_team] += _addScore;
                ServerSend.NewScoreToAll(_team, GameLogic.score[_team]);
                Console.WriteLine($"Team {_team+1} gain score {_addScore}, total score = {GameLogic.score[_team]}");

                if (GameLogic.score[_team] >= Constants.WIN_SCORE)
                {
                    ServerSend.WinToAll(_team);
                    //Restart game
                    // RouterServer.Initialize();
                    // Server.Initialize();

                    GameLogic.Reset();
                }
            }
        }
Exemple #2
0
        public static void PlayerAddScore(int _fromClient, Packet _packet)
        {
            if (Server.clients[_fromClient].player != null)
            {
                int _team     = _packet.ReadInt();
                int _addScore = _packet.ReadInt();

                Console.WriteLine($"{GameLogic.score[_team]}, {_addScore}");
                Server.clients[_fromClient].player.score += _addScore;
                GameLogic.score[_team] += _addScore;
                ServerSend.NewScoreToAll(_team, GameLogic.score[_team]);

                if (GameLogic.score[_team] >= Constants.WIN_SCORE)
                {
                    ServerSend.WinToAll(_team);
                    //Restart game
                    // foreach(ServerSideClient _client in Server.clients.Values) {
                    //     if (_client.tcp.clientSocket != null){
                    //         _client._Disconnect();
                    //     }
                    // }
                    GameLogic.Reset();
                }
            }
        }