コード例 #1
0
        private void ProcessGmMessageDuringGameInProgress(Message message, ManagedClient client)
        {
            switch (message)
            {
            case ConnectPlayerResMsg _:
            case DiscoverResMsg _:
            case GameStartMsg _:
            case MoveResMsg _:
            case PickUpResMsg _:
            case PlaceResMsg _:
            case ReadyResMsg _:
            case SetupResMsg _:
            case TestResMsg _:
                ForwardMessageFromGM(message);
                break;

            //case GameOver msg:
            //    break;

            default:
                CSLogger.LogMessage(message, state.Value);
                Kill();
                break;
            }
        }
コード例 #2
0
        private void ProcessGmMessageDuringGameFinished(Message message, ManagedClient client)
        {
            switch (message)
            {
            //case GameOver msg:
            //    break;

            default:
                CSLogger.LogMessage(message, state.Value);
                Kill();
                break;
            }
        }
コード例 #3
0
        private void ProcessAgentMessageDuringAgentsAccepting(Message message, ManagedClient client)
        {
            switch (message)
            {
            case ConnectPlayerMsg msg:
                playerGuids.Add(msg.playerGuid.g);
                clients[0].SendMessage(message);
                //client.SendMessage(new ConnectPlayerResMsg(msg.portNumber, msg.playerGuid, "OK"));
                break;

            case ReadyMsg msg:
                client.SendMessage(new ReadyResMsg(msg.playerGuid, "YES"));
                break;

            default:
                CSLogger.LogMessage(message, state.Value);
                Kill();
                break;
            }
        }
コード例 #4
0
        private void ProcessClientMessageDuringListening(Message message, ManagedClient client)
        {
            switch (message)
            {
            case ConnectPlayerMsg _:
                //client.SendMessage(new GmNotConnectedYet());
                break;

            case ConnectGMMsg _:
                if (RegisterGM(client))
                {
                    HandleGmCommunication(client);
                }
                break;

            default:
                CSLogger.LogMessage(message, state.Value);
                Kill();
                break;
            }
        }
コード例 #5
0
        private void ProcessAgentMessageDuringGameInProgress(Message message, ManagedClient client)
        {
            switch (message)
            {
            case ConnectPlayerMsg _:
            case DiscoverMsg _:
            case GameStartMsg _:
            case MoveMsg _:
            case PickUpMsg _:
            case PlaceMsg _:
            case ReadyMsg _:
            case SetupMsg _:
            case TestMsg _:
                clients[0].SendMessage(message);
                break;

            default:
                CSLogger.LogMessage(message, state.Value);
                Kill();
                break;
            }
        }
コード例 #6
0
        private void ProcessGmMessageDuringAgentsAccepting(Message message, ManagedClient client)
        {
            switch (message)
            {
            case ConnectPlayerResMsg msg:
                ForwardMessageFromGM(msg);
                break;

            case GameStartMsg msg:
                //StartGame();
                ForwardMessageFromGM(msg);
                break;

            case SetupMsg _:
                StartGame();
                break;

            default:
                CSLogger.LogMessage(message, state.Value);
                Kill();
                break;
            }
        }