public void RequestDungeonStart()
 {
     RestrictionInput.StartLoad(RestrictionInput.LoadType.LARGE_IMAGE_MASK_ON);
     if (this.isMulti)
     {
         int[] aliveMonsterList = this.GetAliveMonsterList();
         GameWebAPI.WD_Req_DngStart sendData = DataMng.Instance().GetResultUtilData().last_dng_req;
         APIRequestTask             task     = this.RequestUserMonsterData(aliveMonsterList, true);
         AppCoroutine.Start(task.Run(delegate
         {
             if (null != DataMng.Instance() && DataMng.Instance().WD_ReqDngResult != null)
             {
                 DataMng.Instance().WD_ReqDngResult.dungeonId = sendData.dungeonId;
             }
             RestrictionInput.EndLoad();
             GUIMain.ShowCommonDialog(new Action <int>(this.OnCloseMultiBattleMenu), "CMD_MultiBattleParticipateMenu", null);
         }, delegate(Exception noop)
         {
             RestrictionInput.EndLoad();
         }, null), false);
     }
     else
     {
         int[]                           aliveMonsterList2    = this.GetAliveMonsterList();
         APIRequestTask                  apirequestTask       = this.RequestUserMonsterData(aliveMonsterList2, true);
         GameWebAPI.WD_Req_DngStart      sendData             = DataMng.Instance().GetResultUtilData().last_dng_req;
         GameWebAPI.RequestWD_WorldStart requestWD_WorldStart = new GameWebAPI.RequestWD_WorldStart();
         requestWD_WorldStart.SetSendData = delegate(GameWebAPI.WD_Req_DngStart param)
         {
             param.dungeonId           = sendData.dungeonId;
             param.deckNum             = sendData.deckNum;
             param.userDungeonTicketId = sendData.userDungeonTicketId;
         };
         requestWD_WorldStart.OnReceived = delegate(GameWebAPI.RespDataWD_DungeonStart response)
         {
             ClassSingleton <QuestData> .Instance.RespDataWD_DungeonStart = response;
         };
         GameWebAPI.RequestWD_WorldStart request = requestWD_WorldStart;
         apirequestTask.Add(new APIRequestTask(request, false));
         AppCoroutine.Start(apirequestTask.Run(delegate
         {
             if (null != DataMng.Instance() && DataMng.Instance().WD_ReqDngResult != null)
             {
                 DataMng.Instance().WD_ReqDngResult.dungeonId = sendData.dungeonId;
             }
             BattleNextBattleOption.SaveBattleMenuSettings(this.battleOption.GetBattleOptionSettings());
             this.ReceivedDungeonStart();
         }, delegate(Exception noop)
         {
             RestrictionInput.EndLoad();
         }, null), false);
     }
 }
示例#2
0
    private IEnumerator CheckRecoverBattle()
    {
        BattleNextBattleOption.ClearBattleMenuSettings();
        if (ClassSingleton <BattleDataStore> .Instance.IsBattleRecoverable)
        {
            bool   isCancel        = false;
            Action onBattleRecover = delegate()
            {
                GUIMain.BarrierOFF();
            };
            Action onCancelAction = delegate()
            {
                isCancel = true;
                PlayerPrefs.SetString("userDungeonTicketId", string.Empty);
            };
            ClassSingleton <BattleDataStore> .Instance.OpenBattleRecoverConfirm(onBattleRecover, onCancelAction);

            while (!isCancel)
            {
                yield return(null);
            }
        }
        yield break;
    }