コード例 #1
0
    private void ClickPasswordBtn()
    {
        CMD_MultiRecruitPass cmd_MultiRecruitPass = GUIMain.ShowCommonDialog(delegate(int idx)
        {
            if (idx == 1 && this.passInputJoinData != null)
            {
                GameWebAPI.RespDataWD_GetDungeonInfo respDataWD_GetDungeonInfo = new GameWebAPI.RespDataWD_GetDungeonInfo();
                respDataWD_GetDungeonInfo = ClassSingleton <QuestData> .Instance.GetDngeonInfoByWorldAreaId(this.passInputJoinData.multiRoomInfo.worldAreaId);
                foreach (GameWebAPI.RespDataWD_GetDungeonInfo.WorldDungeonInfo worldDungeonInfo2 in respDataWD_GetDungeonInfo.worldDungeonInfo)
                {
                    foreach (GameWebAPI.RespDataWD_GetDungeonInfo.Dungeons dungeons2 in worldDungeonInfo2.dungeons)
                    {
                        if (dungeons2.worldDungeonId == int.Parse(this.passInputJoinData.multiRoomInfo.worldDungeonId))
                        {
                            ClassSingleton <PartyBossIconsAccessor> .Instance.StageEnemies = dungeons2.encountEnemies;
                        }
                    }
                }
                ClassSingleton <QuestData> .Instance.SelectDungeon = ClassSingleton <QuestData> .Instance.GetWorldDungeonMaster(this.passInputJoinData.multiRoomInfo.worldDungeonId);
                DataMng.Instance().GetResultUtilData().SetLastDngReq(this.passInputJoinData.multiRoomInfo.worldDungeonId, "-1", "-1");
                CMD_MultiRecruitPartyWait.UserType     = CMD_MultiRecruitPartyWait.USER_TYPE.MEMBER;
                CMD_MultiRecruitPartyWait.roomJoinData = this.passInputJoinData;
                CMD_MultiRecruitPartyWait cmd_MultiRecruitPartyWait = GUIMain.ShowCommonDialog(null, "CMD_MultiRecruitPartyWait", null) as CMD_MultiRecruitPartyWait;
                cmd_MultiRecruitPartyWait.SetParentDialog(this);
            }
            this.passInputJoinData = null;
        }, "CMD_MultiRecruitPass", null) as CMD_MultiRecruitPass;

        cmd_MultiRecruitPass.SetParentDialog(this);
    }
コード例 #2
0
 public GameWebAPI.RespDataWD_GetDungeonInfo.Dungeons GetTicketQuestDungeonByTicketID(string id)
 {
     GameWebAPI.RespDataWD_GetDungeonInfo dngeonInfoByWorldAreaId = this.GetDngeonInfoByWorldAreaId("8");
     if (dngeonInfoByWorldAreaId == null)
     {
         return(null);
     }
     for (int i = 0; i < dngeonInfoByWorldAreaId.worldDungeonInfo.Length; i++)
     {
         GameWebAPI.RespDataWD_GetDungeonInfo.Dungeons[] dungeons = dngeonInfoByWorldAreaId.worldDungeonInfo[i].dungeons;
         for (int j = 0; j < dungeons.Length; j++)
         {
             if (!string.IsNullOrEmpty(dungeons[j].userDungeonTicketId) && dungeons[j].userDungeonTicketId == id)
             {
                 return(dungeons[j]);
             }
         }
     }
     return(null);
 }
コード例 #3
0
    private static bool CheckFacilityConditionWorldArea(string areaId)
    {
        GameWebAPI.RespDataWD_GetDungeonInfo dngeonInfoByWorldAreaId = ClassSingleton <QuestData> .Instance.GetDngeonInfoByWorldAreaId(areaId);

        if (dngeonInfoByWorldAreaId.worldDungeonInfo != null)
        {
            for (int i = 0; i < dngeonInfoByWorldAreaId.worldDungeonInfo.Length; i++)
            {
                GameWebAPI.RespDataWD_GetDungeonInfo.Dungeons[] dungeons = dngeonInfoByWorldAreaId.worldDungeonInfo[i].dungeons;
                for (int j = 0; j < dungeons.Length; j++)
                {
                    if (dungeons[j].status < 4)
                    {
                        return(false);
                    }
                }
            }
            return(true);
        }
        return(false);
    }
コード例 #4
0
 private void OpenMultiRecruitPartyWait(int idx)
 {
     if (idx == 0)
     {
         CMD_ChatWindow.instance.SetCloseAction(delegate(int close)
         {
             if (!Singleton <UserDataMng> .Instance.IsOverUnitLimit(ClassSingleton <MonsterUserDataMng> .Instance.GetMonsterNum() + ConstValue.ENABLE_SPACE_TOEXEC_DUNGEON))
             {
                 if (!Singleton <UserDataMng> .Instance.IsOverChipLimit(ConstValue.ENABLE_SPACE_TOEXEC_DUNGEON))
                 {
                     ChatTools.ChatLoadDisplay(true);
                     GameWebAPI.RespDataWD_GetDungeonInfo respDataWD_GetDungeonInfo = new GameWebAPI.RespDataWD_GetDungeonInfo();
                     respDataWD_GetDungeonInfo = ClassSingleton <QuestData> .Instance.GetDngeonInfoByWorldAreaId(this.multiWorldAreaId);
                     foreach (GameWebAPI.RespDataWD_GetDungeonInfo.WorldDungeonInfo worldDungeonInfo2 in respDataWD_GetDungeonInfo.worldDungeonInfo)
                     {
                         foreach (GameWebAPI.RespDataWD_GetDungeonInfo.Dungeons dungeons2 in worldDungeonInfo2.dungeons)
                         {
                             if (dungeons2.worldDungeonId == int.Parse(this.multiWorldDungeonId))
                             {
                                 ClassSingleton <PartyBossIconsAccessor> .Instance.StageEnemies = dungeons2.encountEnemies;
                             }
                         }
                     }
                     ClassSingleton <QuestData> .Instance.SelectDungeon = ClassSingleton <QuestData> .Instance.GetWorldDungeonMaster(this.multiWorldDungeonId);
                     DataMng.Instance().GetResultUtilData().SetLastDngReq(this.multiWorldDungeonId, "-1", "-1");
                     GameWebAPI.MultiRoomJoin multiRoomJoin = new GameWebAPI.MultiRoomJoin();
                     multiRoomJoin.SetSendData = delegate(GameWebAPI.ReqData_MultiRoomJoin param)
                     {
                         param.roomId   = int.Parse(this.multiRoomId);
                         param.password = string.Empty;
                     };
                     multiRoomJoin.OnReceived = delegate(GameWebAPI.RespData_MultiRoomJoin response)
                     {
                         CMD_MultiRecruitPartyWait.roomJoinData = response;
                         CMD_MultiRecruitPartyWait.StageDataBk  = new GameWebAPI.ResponseData_Common_MultiRoomList.room
                         {
                             worldAreaId    = response.multiRoomInfo.worldAreaId,
                             worldDungeonId = response.multiRoomInfo.worldDungeonId,
                             worldStageId   = response.multiRoomInfo.worldStageId
                         };
                     };
                     GameWebAPI.MultiRoomJoin request = multiRoomJoin;
                     AppCoroutine.Start(request.RunOneTime(delegate()
                     {
                         RestrictionInput.EndLoad();
                         if (CMD_ChatTop.instance != null)
                         {
                             CMD_ChatTop.instance.SetReOpendAction(delegate(int _idx)
                             {
                                 CMD_MultiRecruitPartyWait.UserType = CMD_MultiRecruitPartyWait.USER_TYPE.MEMBER;
                                 GUIMain.ShowCommonDialog(null, "CMD_MultiRecruitPartyWait", null);
                                 return(true);
                             });
                         }
                     }, delegate(Exception noop)
                     {
                         RestrictionInput.EndLoad();
                     }, null), false);
                 }
                 else
                 {
                     CMD_UpperlimitChip cmd_UpperlimitChip = GUIMain.ShowCommonDialog(null, "CMD_UpperlimitChip", null) as CMD_UpperlimitChip;
                     cmd_UpperlimitChip.SetType(CMD_UpperlimitChip.MessageType.QUEST);
                 }
             }
             else
             {
                 CMD_UpperLimit cmd_UpperLimit = GUIMain.ShowCommonDialog(null, "CMD_Upperlimit", null) as CMD_UpperLimit;
                 cmd_UpperLimit.SetType(CMD_UpperLimit.MessageType.QUEST);
             }
         });
         CMD_ChatWindow.instance.ClosePanel(true);
     }
 }
コード例 #5
0
        public List <QuestData.WorldDungeonData> GetWorldDungeonData_ByAreaIdStageId(string worldAreaId, string worldStageId, GameWebAPI.RespDataWD_GetDungeonInfo dungeonInfo, int targetCount = 0, bool addLock = false, bool addEmpty = false)
        {
            List <QuestData.WorldDungeonData> list = new List <QuestData.WorldDungeonData>();

            GameWebAPI.RespDataMA_GetWorldDungeonM.WorldDungeonM[]      worldDungeonM = MasterDataMng.Instance().RespDataMA_WorldDungeonM.worldDungeonM;
            List <GameWebAPI.RespDataMA_GetWorldDungeonM.WorldDungeonM> list2         = new List <GameWebAPI.RespDataMA_GetWorldDungeonM.WorldDungeonM>();

            if (dungeonInfo == null)
            {
                return(null);
            }
            for (int i = 0; i < worldDungeonM.Length; i++)
            {
                if (worldDungeonM[i].worldStageId == worldStageId)
                {
                    list2.Add(worldDungeonM[i]);
                }
            }
            if (dungeonInfo.worldDungeonInfo == null)
            {
                return(list);
            }
            GameWebAPI.RespDataWD_GetDungeonInfo.Dungeons[]       array            = null;
            GameWebAPI.RespDataWD_GetDungeonInfo.WorldDungeonInfo worldDungeonInfo = null;
            this.wdi_bk = null;
            int  num   = 0;
            bool flag  = false;
            bool flag2 = false;

            for (int j = 0; j < dungeonInfo.worldDungeonInfo.Length; j++)
            {
                if (dungeonInfo.worldDungeonInfo[j].worldStageId == int.Parse(worldStageId))
                {
                    if (targetCount == num)
                    {
                        worldDungeonInfo = dungeonInfo.worldDungeonInfo[j];
                        this.wdi_bk      = worldDungeonInfo;
                        array            = worldDungeonInfo.dungeons;
                        if (array == null && worldDungeonInfo.timeLeft == 0)
                        {
                            flag = true;
                        }
                        flag2 = true;
                        break;
                    }
                    num++;
                }
            }
            if (flag2)
            {
                if (flag)
                {
                    QuestData.WorldDungeonData item = new QuestData.WorldDungeonData
                    {
                        stageId       = worldDungeonInfo.worldStageId,
                        worldDungeonM = null,
                        dungeon       = null,
                        wdscMList     = null,
                        isViewRanking = true,
                        isCounting    = (1 == worldDungeonInfo.isCounting)
                    };
                    list.Add(item);
                }
                else
                {
                    for (int k = 0; k < list2.Count; k++)
                    {
                        for (int l = 0; l < array.Length; l++)
                        {
                            if (int.Parse(list2[k].worldDungeonId) == array[l].worldDungeonId && (addEmpty || !this.IsEmptyDng(array[l], worldAreaId)) && (addLock || array[l].status > 1))
                            {
                                list.Add(new QuestData.WorldDungeonData
                                {
                                    stageId       = worldDungeonInfo.worldStageId,
                                    worldDungeonM = list2[k],
                                    dungeon       = array[l],
                                    status        = array[l].status,
                                    wdscMList     = this.GetWorldDungeonStartConditionM(array[l].worldDungeonId.ToString()),
                                    remainingTime = worldDungeonInfo.timeLeft
                                });
                            }
                        }
                    }
                }
                list.Sort(new Comparison <QuestData.WorldDungeonData>(this.CompareAccountDungeonId));
                return(list);
            }
            return(null);
        }
コード例 #6
0
        public List <QuestData.WorldStageData> GetWorldStageData_ByAreaID(string worldAreaId)
        {
            List <QuestData.WorldStageData> list = new List <QuestData.WorldStageData>();

            GameWebAPI.RespDataMA_GetWorldStageM.WorldStageM[] worldStageM = MasterDataMng.Instance().RespDataMA_WorldStageM.worldStageM;
            GameWebAPI.RespDataWD_GetDungeonInfo dngeonInfoByWorldAreaId   = this.GetDngeonInfoByWorldAreaId(worldAreaId);
            for (int i = 0; i < worldStageM.Length; i++)
            {
                if (worldStageM[i].worldAreaId == worldAreaId)
                {
                    int num = 0;
                    List <QuestData.WorldDungeonData> worldDungeonData_ByAreaIdStageId;
                    do
                    {
                        worldDungeonData_ByAreaIdStageId = this.GetWorldDungeonData_ByAreaIdStageId(worldAreaId, worldStageM[i].worldStageId, dngeonInfoByWorldAreaId, num, true, false);
                        num++;
                        if (worldDungeonData_ByAreaIdStageId != null && worldDungeonData_ByAreaIdStageId.Count > 0)
                        {
                            int  num2 = (int)this.CheckStageStatus(worldDungeonData_ByAreaIdStageId);
                            bool flag = this.ExistsCondition(worldDungeonData_ByAreaIdStageId);
                            if (num2 > 1 || flag)
                            {
                                QuestData.WorldStageData worldStageData = new QuestData.WorldStageData();
                                worldStageData.worldStageM = worldStageM[i];
                                worldStageData.wddL        = new List <QuestData.WorldDungeonData>();
                                for (int j = 0; j < worldDungeonData_ByAreaIdStageId.Count; j++)
                                {
                                    if (worldDungeonData_ByAreaIdStageId[j].status > 1 || (worldDungeonData_ByAreaIdStageId[j].wdscMList != null && worldDungeonData_ByAreaIdStageId[j].wdscMList.Count > 0))
                                    {
                                        worldStageData.wddL.Add(worldDungeonData_ByAreaIdStageId[j]);
                                    }
                                }
                                worldStageData.wdi    = this.GetLastWorldDungeonInfo;
                                worldStageData.status = num2;
                                worldStageData.worldStageM.closeTime = ServerDateTime.Now.AddSeconds((double)worldDungeonData_ByAreaIdStageId[0].remainingTime).ToString();
                                worldStageData.dngClearCount         = 0;
                                for (int k = 0; k < worldDungeonData_ByAreaIdStageId.Count; k++)
                                {
                                    if (worldDungeonData_ByAreaIdStageId[k].status == 4)
                                    {
                                        worldStageData.dngClearCount++;
                                    }
                                }
                                worldStageData.dngCount      = worldDungeonData_ByAreaIdStageId.Count;
                                worldStageData.isViewRanking = worldDungeonData_ByAreaIdStageId[0].isViewRanking;
                                worldStageData.isCounting    = worldDungeonData_ByAreaIdStageId[0].isCounting;
                                list.Add(worldStageData);
                            }
                        }
                    }while (worldDungeonData_ByAreaIdStageId != null);
                }
            }
            if (worldAreaId == "8")
            {
                list.Sort(new Comparison <QuestData.WorldStageData>(this.CompareAccountTicketIdx));
            }
            else
            {
                list.Sort(new Comparison <QuestData.WorldStageData>(this.CompareAccountStageId));
            }
            return(list);
        }
コード例 #7
0
 public void AddWD_DngInfoDataList(string worldId, GameWebAPI.RespDataWD_GetDungeonInfo dngInfo)
 {
     if (worldId == "1")
     {
         QuestData.WD_DngInfoData wd_DngInfoData = new QuestData.WD_DngInfoData();
         wd_DngInfoData.worldAreaId = "1";
         wd_DngInfoData.dngInfo     = dngInfo;
         this.WD_DngInfoDataList.Add(wd_DngInfoData);
         for (int i = 0; i < wd_DngInfoData.dngInfo.worldDungeonInfo.Length; i++)
         {
             wd_DngInfoData.dngInfo.worldDungeonInfo[i].isEvent = false;
         }
     }
     else if (worldId == "3")
     {
         List <QuestData.WorldAreaData> wam = this.GetWorldAreaM_Normal();
         GameWebAPI.RespDataMA_GetWorldStageM.WorldStageM[] worldStageM = MasterDataMng.Instance().RespDataMA_WorldStageM.worldStageM;
         List <QuestData.WorldAreaData> list = new List <QuestData.WorldAreaData>();
         int z;
         for (z = 0; z < wam.Count; z++)
         {
             if (!(wam[z].data.worldAreaId == "1") && !(wam[z].data.worldAreaId == "8"))
             {
                 string worldAreaId = wam[z].data.worldAreaId;
                 QuestData.WD_DngInfoData wd_DngInfoData2 = new QuestData.WD_DngInfoData();
                 wd_DngInfoData2.worldAreaId = worldAreaId;
                 wd_DngInfoData2.dngInfo     = new GameWebAPI.RespDataWD_GetDungeonInfo();
                 List <GameWebAPI.RespDataWD_GetDungeonInfo.WorldDungeonInfo> list2 = new List <GameWebAPI.RespDataWD_GetDungeonInfo.WorldDungeonInfo>();
                 for (int j = 0; j < dngInfo.worldDungeonInfo.Length; j++)
                 {
                     string b = dngInfo.worldDungeonInfo[j].worldStageId.ToString();
                     for (int k = 0; k < worldStageM.Length; k++)
                     {
                         if (worldStageM[k].worldStageId == b && worldStageM[k].worldAreaId == wd_DngInfoData2.worldAreaId)
                         {
                             list2.Add(dngInfo.worldDungeonInfo[j]);
                         }
                     }
                 }
                 wd_DngInfoData2.dngInfo.worldDungeonInfo = new GameWebAPI.RespDataWD_GetDungeonInfo.WorldDungeonInfo[list2.Count];
                 for (int j = 0; j < list2.Count; j++)
                 {
                     wd_DngInfoData2.dngInfo.worldDungeonInfo[j] = list2[j];
                 }
                 this.WD_DngInfoDataList.Add(wd_DngInfoData2);
                 bool flag = false;
                 if (list2.Count > 0)
                 {
                     wam[z].isActive = true;
                     if (list2[0].timeLeft <= 0)
                     {
                         flag = true;
                     }
                 }
                 else
                 {
                     wam[z].isActive = false;
                     flag            = true;
                 }
                 if (flag)
                 {
                     GameWebAPI.RespDataMA_WorldEventAreaMaster respDataMA_WorldEventAreaMaster = MasterDataMng.Instance().RespDataMA_WorldEventAreaMaster;
                     GameWebAPI.RespDataMA_WorldEventMaster     respDataMA_WorldEventMaster     = MasterDataMng.Instance().RespDataMA_WorldEventMaster;
                     if (wam[z].data.type == "3")
                     {
                         GameWebAPI.RespDataMA_WorldEventAreaMaster.WorldEventAreaM areaMaster  = respDataMA_WorldEventAreaMaster.worldEventAreaM.SingleOrDefault((GameWebAPI.RespDataMA_WorldEventAreaMaster.WorldEventAreaM x) => x.worldAreaId == wam[z].data.worldAreaId);
                         GameWebAPI.RespDataMA_WorldEventMaster.WorldEventM         worldEventM = respDataMA_WorldEventMaster.worldEventM.Where((GameWebAPI.RespDataMA_WorldEventMaster.WorldEventM v) => v.worldEventId == areaMaster.worldEventId).First <GameWebAPI.RespDataMA_WorldEventMaster.WorldEventM>();
                         if (worldEventM != null)
                         {
                             wam[z].isActive = (DateTime.Parse(worldEventM.receiveEndTime) > ServerDateTime.Now);
                             if (wam[z].isActive)
                             {
                                 list.Add(wam[z]);
                             }
                         }
                     }
                 }
                 for (int l = 0; l < wd_DngInfoData2.dngInfo.worldDungeonInfo.Length; l++)
                 {
                     wd_DngInfoData2.dngInfo.worldDungeonInfo[l].isEvent = true;
                 }
             }
         }
         foreach (QuestData.WorldAreaData item in list)
         {
             wam.Remove(item);
             wam.Add(item);
         }
         list.Clear();
     }
     else if (worldId == "8")
     {
         string text = "8";
         List <QuestData.WorldAreaData> worldAreaM_Normal = this.GetWorldAreaM_Normal();
         int m;
         for (m = 0; m < worldAreaM_Normal.Count; m++)
         {
             if (worldAreaM_Normal[m].data.worldAreaId == text)
             {
                 break;
             }
         }
         if (m == worldAreaM_Normal.Count)
         {
             worldAreaM_Normal.Add(new QuestData.WorldAreaData
             {
                 data = new GameWebAPI.RespDataMA_GetWorldAreaM.WorldAreaM(),
                 data =
                 {
                     worldAreaId = text
                 }
             });
         }
         QuestData.WD_DngInfoData wd_DngInfoData3 = new QuestData.WD_DngInfoData();
         wd_DngInfoData3.worldAreaId = text;
         wd_DngInfoData3.dngInfo     = new GameWebAPI.RespDataWD_GetDungeonInfo();
         wd_DngInfoData3.dngInfo.worldDungeonInfo = new GameWebAPI.RespDataWD_GetDungeonInfo.WorldDungeonInfo[dngInfo.worldDungeonInfo.Length];
         for (int n = 0; n < dngInfo.worldDungeonInfo.Length; n++)
         {
             GameWebAPI.RespDataWD_GetDungeonInfo.WorldDungeonInfo worldDungeonInfo = dngInfo.worldDungeonInfo[n];
             worldDungeonInfo.sortIdx        = n;
             worldDungeonInfo.totalTicketNum = 0;
             for (int num = 0; num < worldDungeonInfo.dungeons.Length; num++)
             {
                 if (!string.IsNullOrEmpty(worldDungeonInfo.dungeons[num].dungeonTicketNum))
                 {
                     worldDungeonInfo.totalTicketNum += int.Parse(worldDungeonInfo.dungeons[num].dungeonTicketNum);
                 }
             }
             wd_DngInfoData3.dngInfo.worldDungeonInfo[n] = worldDungeonInfo;
         }
         if (dngInfo.worldDungeonInfo.Length > 0)
         {
             worldAreaM_Normal[m].isActive = true;
         }
         else
         {
             worldAreaM_Normal[m].isActive = false;
         }
         this.WD_DngInfoDataList.Add(wd_DngInfoData3);
         for (int num2 = 0; num2 < wd_DngInfoData3.dngInfo.worldDungeonInfo.Length; num2++)
         {
             wd_DngInfoData3.dngInfo.worldDungeonInfo[num2].isEvent = false;
         }
     }
     else if (worldId == "4")
     {
         this.WD_DngInfoStatusTutorial = 3;
         if (dngInfo.worldDungeonInfo != null)
         {
             for (int num3 = 0; num3 < dngInfo.worldDungeonInfo.Length; num3++)
             {
                 GameWebAPI.RespDataWD_GetDungeonInfo.Dungeons[] dungeons = dngInfo.worldDungeonInfo[num3].dungeons;
                 if (dungeons != null)
                 {
                     for (int num4 = 0; num4 < dungeons.Length; num4++)
                     {
                         if (dungeons[num4].worldDungeonId == 9001)
                         {
                             this.WD_DngInfoStatusTutorial = dungeons[num4].status;
                             break;
                         }
                     }
                     break;
                 }
             }
         }
     }
     else
     {
         global::Debug.LogError("======================================================= AddWD_DngInfoDataList INVALIT WORLD ID");
     }
 }
コード例 #8
0
    private void OnPushedAgainCallBack()
    {
        ClassSingleton <PlayLimit> .Instance.ClearTicketNumCont();

        ClassSingleton <PlayLimit> .Instance.ClearPlayLimitNumCont();

        GameWebAPI.WD_Req_DngStart last_dng_req = DataMng.Instance().GetResultUtilData().last_dng_req;
        GameWebAPI.RespDataMA_GetWorldDungeonM.WorldDungeonM[] worldDungeonM = MasterDataMng.Instance().RespDataMA_WorldDungeonM.worldDungeonM;
        int dungeonID = int.Parse(last_dng_req.dungeonId);

        GameWebAPI.RespDataMA_GetWorldDungeonM.WorldDungeonM masterDungeon = worldDungeonM.SingleOrDefault((GameWebAPI.RespDataMA_GetWorldDungeonM.WorldDungeonM x) => x.worldDungeonId == dungeonID.ToString());
        GameWebAPI.RespDataMA_GetWorldStageM.WorldStageM[]   worldStageM   = MasterDataMng.Instance().RespDataMA_WorldStageM.worldStageM;
        GameWebAPI.RespDataMA_GetWorldStageM.WorldStageM     worldStageM2  = worldStageM.SingleOrDefault((GameWebAPI.RespDataMA_GetWorldStageM.WorldStageM x) => x.worldStageId == masterDungeon.worldStageId);
        if (QuestData.IsTicketQuest(worldStageM2.worldAreaId))
        {
            if (this.isMulti && "-1" == last_dng_req.userDungeonTicketId)
            {
                CMD_ModalMessage cmd_ModalMessage = GUIMain.ShowCommonDialog(null, "CMD_ModalMessage", null) as CMD_ModalMessage;
                cmd_ModalMessage.Title = StringMaster.GetString("TicketQuestTitle");
                cmd_ModalMessage.Info  = StringMaster.GetString("MultiParticipateAgainAlert");
                return;
            }
            GameWebAPI.RespDataWD_GetDungeonInfo.Dungeons dng = ClassSingleton <QuestData> .Instance.GetTicketQuestDungeonByTicketID(last_dng_req.userDungeonTicketId);

            int num = int.Parse(dng.dungeonTicketNum);
            if (0 >= num)
            {
                CMD_ModalMessage cmd_ModalMessage2 = GUIMain.ShowCommonDialog(null, "CMD_ModalMessage", null) as CMD_ModalMessage;
                cmd_ModalMessage2.Title = StringMaster.GetString("TicketQuestTitle");
                cmd_ModalMessage2.Info  = StringMaster.GetString("QuestPlayLimitZeroInfo");
            }
            else
            {
                CMD_Confirm cmd_Confirm = GUIMain.ShowCommonDialog(delegate(int idx)
                {
                    if (idx == 0)
                    {
                        ClassSingleton <PlayLimit> .Instance.SetTicketNumCont(dng, ConstValue.PLAYLIMIT_USE_COUNT);
                        if (this.isMulti)
                        {
                            this.RequestDungeonStart();
                        }
                        else
                        {
                            NextChoiceReplay nextChoiceReplay2 = new NextChoiceReplay(new Action(this.RequestDungeonStart));
                            nextChoiceReplay2.Start();
                        }
                    }
                }, "CMD_Confirm", null) as CMD_Confirm;
                cmd_Confirm.Title      = StringMaster.GetString("TicketQuestTitle");
                cmd_Confirm.Info       = string.Format(StringMaster.GetString("TicketQuestConfirmInfo"), worldStageM2.name, num, num - 1);
                cmd_Confirm.BtnTextYes = StringMaster.GetString("SystemButtonYes");
                cmd_Confirm.BtnTextNo  = StringMaster.GetString("SystemButtonClose");
            }
        }
        else
        {
            GameWebAPI.RespDataWD_GetDungeonInfo dngeonInfoByWorldAreaId = ClassSingleton <QuestData> .Instance.GetDngeonInfoByWorldAreaId(worldStageM2.worldAreaId);

            List <QuestData.WorldDungeonData> wdd = ClassSingleton <QuestData> .Instance.GetWorldDungeonData_ByAreaIdStageId(worldStageM2.worldAreaId, masterDungeon.worldStageId, dngeonInfoByWorldAreaId, 0, false, true);

            if (wdd == null)
            {
                CMD_ModalMessage cmd_ModalMessage3 = GUIMain.ShowCommonDialog(null, "CMD_ModalMessage", null) as CMD_ModalMessage;
                cmd_ModalMessage3.Title = StringMaster.GetString("MultiAgainAlertYetClearTitle");
                cmd_ModalMessage3.Info  = StringMaster.GetString("MultiAgainAlertYetClearInfo");
                return;
            }
            int worldDungeonDataIndex = 0;
            for (int i = 0; i < wdd.Count; i++)
            {
                if (wdd[i].dungeon.worldDungeonId.ToString() == masterDungeon.worldDungeonId)
                {
                    worldDungeonDataIndex = i;
                    break;
                }
            }
            if (worldDungeonDataIndex < wdd.Count)
            {
                int usedCT = ConstValue.PLAYLIMIT_USE_COUNT;
                if (this.isMulti && "-1" == last_dng_req.userDungeonTicketId)
                {
                    usedCT = 0;
                }
                bool flag = ClassSingleton <QuestData> .Instance.IsEmptyDng(wdd[worldDungeonDataIndex].dungeon, worldStageM2.worldAreaId);

                if (flag)
                {
                    CMD_ModalMessage cmd_ModalMessage4 = GUIMain.ShowCommonDialog(null, "CMD_ModalMessage", null) as CMD_ModalMessage;
                    cmd_ModalMessage4.Title = StringMaster.GetString("QuestPlayLimitTitle");
                    cmd_ModalMessage4.Info  = StringMaster.GetString("QuestPlayLimitZeroInfo");
                    return;
                }
                if (!ClassSingleton <PlayLimit> .Instance.PlayLimitCheck(wdd[worldDungeonDataIndex].dungeon, delegate(int idx)
                {
                    if (idx == 0)
                    {
                        if (wdd[worldDungeonDataIndex].dungeon.playLimit.recoveryAssetCategoryId == 2)
                        {
                            CMD_Shop cmd = GUIMain.ShowCommonDialog(delegate(int _idx)
                            {
                            }, "CMD_Shop", null) as CMD_Shop;
                            cmd.PartsTitle.SetReturnAct(delegate(int _i_)
                            {
                                cmd.ClosePanel(true);
                            });
                            cmd.PartsTitle.DisableReturnBtn(false);
                            cmd.PartsTitle.SetCloseAct(delegate(int _i_)
                            {
                                this.< ClosePanel > __BaseCallProxy0(false);
                                cmd.SetCloseAction(delegate(int x)
                                {
                                    CMD_BattleNextChoice.GoToFarm();
                                });
                                cmd.ClosePanel(true);
                            });
                        }
                        else if (wdd[worldDungeonDataIndex].dungeon.playLimit.recoveryAssetCategoryId == 6)
                        {
                            GameWebAPI.RespDataMA_GetItemM.ItemM itemM = MasterDataMng.Instance().RespDataMA_ItemM.GetItemM(wdd[worldDungeonDataIndex].dungeon.playLimit.recoveryAssetValue.ToString());
                            CMD_ModalMessage cmd_ModalMessage6 = GUIMain.ShowCommonDialog(null, "CMD_ModalMessage", null) as CMD_ModalMessage;
                            cmd_ModalMessage6.Title = string.Format(StringMaster.GetString("SystemShortage"), itemM.name);
                            cmd_ModalMessage6.Info = string.Format(StringMaster.GetString("QuestPlayLimitItemShortInfo"), itemM.name);
                        }
                    }
                }, delegate(int _idx)
                {
                    ClassSingleton <PlayLimit> .Instance.RecoverPlayLimit(wdd[worldDungeonDataIndex].dungeon, new Action <GameWebAPI.RespDataWD_GetDungeonInfo.Dungeons>(this.OnSuccessedRecoverPlayLimit));
                }, usedCT))
                {
                    return;
                }
                if (this.isMulti)
                {
                    this.RequestDungeonStart();
                }
                else
                {
                    NextChoiceReplay nextChoiceReplay = new NextChoiceReplay(new Action(this.RequestDungeonStart));
                    nextChoiceReplay.Start();
                }
            }
            else
            {
                CMD_ModalMessage cmd_ModalMessage5 = GUIMain.ShowCommonDialog(null, "CMD_ModalMessage", null) as CMD_ModalMessage;
                cmd_ModalMessage5.Title = StringMaster.GetString("MultiAgainAlertYetClearTitle");
                cmd_ModalMessage5.Info  = StringMaster.GetString("MultiAgainAlertYetClearInfo");
            }
        }
    }
コード例 #9
0
    private void OnClickedInfo()
    {
        bool flag = false;

        if (CMD_ChatTop.instance != null)
        {
            flag = CMD_ChatTop.instance.isRecruitListLock;
        }
        else if (null != this.parentDialog)
        {
            flag = this.parentDialog.isRecruitListLock;
        }
        if (!flag)
        {
            if (!this.isOpenedQuest)
            {
                AlertManager.ShowModalMessage(delegate(int modal)
                {
                }, StringMaster.GetString("Recruit-04"), StringMaster.GetString("Recruit-05"), AlertManager.ButtonActionType.Close, false);
                return;
            }
            if (!Singleton <UserDataMng> .Instance.IsOverUnitLimit(ClassSingleton <MonsterUserDataMng> .Instance.GetMonsterNum() + ConstValue.ENABLE_SPACE_TOEXEC_DUNGEON))
            {
                if (!Singleton <UserDataMng> .Instance.IsOverChipLimit(ConstValue.ENABLE_SPACE_TOEXEC_DUNGEON))
                {
                    MultiTools.DispLoading(true, RestrictionInput.LoadType.LARGE_IMAGE_MASK_ON);
                    GameWebAPI.RespDataWD_GetDungeonInfo respDataWD_GetDungeonInfo = new GameWebAPI.RespDataWD_GetDungeonInfo();
                    respDataWD_GetDungeonInfo = ClassSingleton <QuestData> .Instance.GetDngeonInfoByWorldAreaId(this.data.worldAreaId);

                    if (respDataWD_GetDungeonInfo != null)
                    {
                        foreach (GameWebAPI.RespDataWD_GetDungeonInfo.WorldDungeonInfo worldDungeonInfo2 in respDataWD_GetDungeonInfo.worldDungeonInfo)
                        {
                            foreach (GameWebAPI.RespDataWD_GetDungeonInfo.Dungeons dungeons2 in worldDungeonInfo2.dungeons)
                            {
                                if (dungeons2.worldDungeonId == int.Parse(this.data.worldDungeonId))
                                {
                                    ClassSingleton <PartyBossIconsAccessor> .Instance.StageEnemies = dungeons2.encountEnemies;
                                }
                            }
                        }
                        ClassSingleton <QuestData> .Instance.SelectDungeon = ClassSingleton <QuestData> .Instance.GetWorldDungeonMaster(this.data.worldDungeonId);

                        DataMng.Instance().GetResultUtilData().SetLastDngReq(this.data.worldDungeonId, "-1", "-1");
                        GameWebAPI.MultiRoomJoin multiRoomJoin = new GameWebAPI.MultiRoomJoin();
                        multiRoomJoin.SetSendData = delegate(GameWebAPI.ReqData_MultiRoomJoin param)
                        {
                            param.roomId   = int.Parse(this.data.multiRoomId);
                            param.password = string.Empty;
                        };
                        multiRoomJoin.OnReceived = delegate(GameWebAPI.RespData_MultiRoomJoin response)
                        {
                            CMD_MultiRecruitPartyWait.roomJoinData = response;
                        };
                        GameWebAPI.MultiRoomJoin request = multiRoomJoin;
                        base.StartCoroutine(request.RunOneTime(delegate()
                        {
                            RestrictionInput.EndLoad();
                            CMD_MultiRecruitPartyWait.UserType    = CMD_MultiRecruitPartyWait.USER_TYPE.MEMBER;
                            CMD_MultiRecruitPartyWait.StageDataBk = this.data;
                            CMD_MultiRecruitPartyWait cmd_MultiRecruitPartyWait = GUIMain.ShowCommonDialog(null, "CMD_MultiRecruitPartyWait", null) as CMD_MultiRecruitPartyWait;
                            cmd_MultiRecruitPartyWait.SetParentDialog(this.parentDialog);
                        }, delegate(Exception noop)
                        {
                            RestrictionInput.EndLoad();
                            if (null != this.parentDialog)
                            {
                                this.parentDialog.AddExcludeRoomIdList(this.data.multiRoomId);
                                this.parentDialog.ReBuildMultiRecruitList();
                            }
                        }, null));
                    }
                    else
                    {
                        CMD_ModalMessage cmd_ModalMessage = GUIMain.ShowCommonDialog(null, "CMD_ModalMessage", null) as CMD_ModalMessage;
                        cmd_ModalMessage.Title = StringMaster.GetString("QuestEventTitle");
                        cmd_ModalMessage.Info  = StringMaster.GetString("QuestEventInfo2");
                    }
                }
                else
                {
                    CMD_UpperlimitChip cmd_UpperlimitChip = GUIMain.ShowCommonDialog(null, "CMD_UpperlimitChip", null) as CMD_UpperlimitChip;
                    cmd_UpperlimitChip.SetType(CMD_UpperlimitChip.MessageType.QUEST);
                }
            }
            else
            {
                CMD_UpperLimit cmd_UpperLimit = GUIMain.ShowCommonDialog(null, "CMD_Upperlimit", null) as CMD_UpperLimit;
                cmd_UpperLimit.SetType(CMD_UpperLimit.MessageType.QUEST);
            }
        }
    }