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); } } }
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; } }