コード例 #1
0
ファイル: ServerFacade.cs プロジェクト: rick0000/MjModel
 void RemoveGameRoom(GameRoom gameRoom)
 {
     gameRoom.OnAfterError -= AfterErrorDetected;
     gameRoom.OnAfterGameEnd -= AfterGameEnd;
     gameRooms.Remove(gameRoom);
 }
コード例 #2
0
ファイル: ServerFacade.cs プロジェクト: rick0000/MjModel
 void RegisterGameRoom(GameRoom gameRoom)
 {
     gameRoom.OnAfterError += AfterErrorDetected;
     gameRoom.OnAfterGameEnd += AfterGameEnd;
     gameRooms.Add(gameRoom);
 }
コード例 #3
0
ファイル: ServerFacade.cs プロジェクト: rick0000/MjModel
 void OnStartGameRoom( Dictionary<IClientHolder, string> clients )
 {
     var gameRoom = new GameRoom(clients);
     RegisterGameRoom(gameRoom);
     gameRoom.StartGame();
 }
コード例 #4
0
ファイル: ServerFacade.cs プロジェクト: rick0000/MjModel
 void AfterGameEnd(GameRoom gameRoom)
 {
     RemoveGameRoom(gameRoom);
 }
コード例 #5
0
ファイル: ServerFacade.cs プロジェクト: rick0000/MjModel
 void AfterErrorDetected(GameRoom gameRoom)
 {
     RemoveGameRoom(gameRoom);
 }
コード例 #6
0
ファイル: GameRoomTests.cs プロジェクト: rick0000/MjModel
        void TestInputLines(string filepath)
        {
            clients = new List<ClientHolderForTest>()
            {
                new ClientHolderForTest(),
                new ClientHolderForTest(),
                new ClientHolderForTest(),
                new ClientHolderForTest()
            };
            clientDict = new Dictionary<IClientHolder, string>()
            {
                { clients[0], "player0"},
                { clients[1], "player1"},
                { clients[2], "player2"},
                { clients[3], "player3"},
            };

            room = new GameRoom(clientDict);

            // read file
            var msgList = ReadTestFile(filepath);

            // start game
            room.StartGame();

            // test each kyoku
            var splitedEachKyokuMsgList = SplitEachKyoku(msgList);

            foreach (var kyokuMsg in splitedEachKyokuMsgList)
            {
                // start kyoku
                room.gameModel.StartKyoku();

                // Replase Yama and Tehai
                ReplaceYamaAndTehaiForTest(kyokuMsg);

                // execution client to server mesages
                ExecLines(kyokuMsg);
            }
        }