public IServerMsg.OperateRoomResponse OperateRoom(IClientHandler client, RoomOperateKind kind) { if (_owner != client.Id) { return(IServerMsg.OperateRoomResponse.PlayerIsNotOwner); } switch (kind) { case RoomOperateKind.StartPlaying: { if (RoomStatus == RoomStatus.Playing) { return(IServerMsg.OperateRoomResponse.InvalidRoomStatus); } if (_clients.Count < _roomConfig.NumberOfPlayersRange.Item1) { return(IServerMsg.OperateRoomResponse.NotEnoughPeople); } StartPlaying(); break; } case RoomOperateKind.FinishPlaying: { if (RoomStatus != RoomStatus.Playing) { return(IServerMsg.OperateRoomResponse.InvalidRoomStatus); } FinishPlaying(); break; } default: break; } return(IServerMsg.OperateRoomResponse.Success); }
public OperateRoom(RoomOperateKind operate) { Operate = operate; }
public NotifyRoomOperation(RoomOperateKind operate) { Operate = operate; }
public void OnNotifiedRoomOperation(RoomOperateKind kind) { IsPlaying = kind == RoomOperateKind.StartPlaying; }