Пример #1
0
        public bool StartGame(Action <long> onPreparationEnd)
        {
            lock (lobbyLock)
            {
                if (players.Count < 3)
                {
                    return(false);
                }

                var callPhaseDuration        = GetCallPhaseDuration(GameMode);
                var turnPhaseDuration        = GetTurnPhaseDuration(GameMode);
                var preparationPhaseDuration = 10000;

                List <int> gameScores;
                if (players.Count == 2)
                {
                    gameScores = new List <int>()
                    {
                        1, -1
                    };
                }
                else if (players.Count == 3)
                {
                    gameScores = new List <int>()
                    {
                        1, 0, -1
                    };
                }
                else if (players.Count == 4)
                {
                    gameScores = new List <int>()
                    {
                        2, 1, 0, -1
                    };
                }
                else
                {
                    gameScores = new List <int>()
                    {
                    };
                }

                GameLogicController = new GameLogicController();
                GameLogicController.StartGame(
                    players,
                    GameLobbyID,
                    callPhaseDuration,
                    turnPhaseDuration,
                    preparationPhaseDuration,
                    onPreparationEnd,
                    gameScores);
                return(true);
            }
        }