public override void EditCurrentRoom(GSLiveOption.EditRoomOption option)
        {
            if (GameService.IsGuest)
            {
                throw new GameServiceException("This Function Not Working In Guest Mode").LogException <GsLiveTurnBased>(
                          DebugLocation.TurnBased, "EditCurrentRoom");
            }

            if (option == null)
            {
                throw new GameServiceException("option Cant Be Null").LogException <GsLiveTurnBased>(
                          DebugLocation.TurnBased, "EditCurrentRoom");
            }

            if (option.MaxPlayer < TurnBasedConst.MinPlayer || option.MaxPlayer > TurnBasedConst.MaxPlayer)
            {
                throw new GameServiceException("Invalid MaxPlayer Value")
                      .LogException <GsLiveTurnBased>(DebugLocation.TurnBased, "EditCurrentRoom");
            }

            if (GameService.GSLive.GetGsHandler().TurnBasedHandler == null)
            {
                throw new GameServiceException("You Must Create or Join Room First").LogException <GsLiveTurnBased>(
                          DebugLocation.TurnBased, "EditCurrentRoom");
            }

            option.RoomId = TurnBasedHandler.CurrentRoom?.Id;
            GameService.GSLive.GetGsHandler().CommandHandler.Send(EditRoomHandler.Signature, option);
        }
 private static Packet DoAction(GSLiveOption.EditRoomOption options)
 {
     return(new Packet(
                CommandHandler.PlayerHash,
                CommandConst.ActionEditRoom,
                JsonConvert.SerializeObject(new RoomDetail
     {
         Id = options.RoomId,
         Name = options.RoomName,
         Max = options.MaxPlayer,
         IsPrivate = options.IsPrivate,
         RoomPassword = options.RoomPassword,
         Type = CommandConst.ActionEditRoom
     }, new JsonSerializerSettings
     {
         NullValueHandling = NullValueHandling.Ignore,
         DefaultValueHandling = DefaultValueHandling.Ignore
     })));
 }
Exemple #3
0
 /// <summary>
 ///     Edit Current Room With Option Like : Name , Min , IsPrivate , ...
 ///     NOTE : You Must Joined To a Room to Edit it
 /// </summary>
 /// <param name="option">(NOTNULL)Edit Room Option</param>
 public abstract void EditCurrentRoom(GSLiveOption.EditRoomOption option);