public void Excecute(ClientObject client, ServerObject server, RoomObject room, string packet = "")
        {
            lock (locker)
            {
                var response = new SetRespondentResponse();

                if (room.Respondent == null)
                {
                    room.Respondent = client;
                    response.Status = ResponseStatus.Ok;
                    response.Player = client.Player;
                    string packetResponse = JsonConvert.SerializeObject(response);
                    room.SendMessageToDefiniteClient(packetResponse, client);
                    BlockAnswerButtonForAllPlayers(room, client);
                    //останавливаем таймер для нажатия кнопки "ответить"
                    room.Game.StopAnswerButtonClickTimer();
                    room.Game.StartAnswerTimer();
                }
                else
                {
                    response.Status = ResponseStatus.Bad;
                    response.Player = room.Respondent.Player;
                    string packetResponse = JsonConvert.SerializeObject(response);
                    room.SendMessageToAllClientsExceptSendingClient(packetResponse, client);
                }
            }
        }
Exemple #2
0
        public override void Execute(string packet)
        {
            SetRespondentResponse setRespondentResponse = JsonConvert.DeserializeObject <SetRespondentResponse>(packet);
            GameViewModel         gvm = ClientObject.view as GameViewModel;

            switch (setRespondentResponse.Status)
            {
            case ResponseStatus.Ok:
                gvm.SetRespondent(setRespondentResponse.Player);

                break;

            case ResponseStatus.Bad:
                // gvm.BlockAnswerButton(false);
                break;
            }
        }