示例#1
0
    public void Initialize(FieldMapPortalInfo portal_info)
    {
        portalInfo   = portal_info;
        portalData   = portalInfo.portalData;
        portalID     = portalData.portalID;
        isClearOrder = (FieldManager.IsOpenPortalClearOrder(portalData) || FieldManager.IsOpenPortal(portalData));
        if (GameSaveData.instance.isNewReleasePortal(portalID) && FieldManager.IsOpenPortal(portalData))
        {
            GameSaveData.instance.newReleasePortals.Remove(portalID);
        }
        isUnlockedTime = portal_info.portalData.isUnlockedTime();
        isToHardMap    = FieldManager.IsToHardPortal(portalData);
        nowPoint       = portal_info.GetNowPortalPoint();
        maxPoint       = (int)portal_info.GetMaxPortalPoint();
        isFull         = portal_info.IsFull();
        viewType       = VIEW_TYPE.NORMAL;
        if (!isClearOrder || !isUnlockedTime)
        {
            viewType = VIEW_TYPE.NOT_CLEAR_ORDER;
        }
        else if (portalData.dstMapID == 0)
        {
            viewType = VIEW_TYPE.TO_HOME;
        }
        else if (!MonoBehaviourSingleton <WorldMapManager> .I.IsTraveledPortal(portalData))
        {
            viewType = VIEW_TYPE.NOT_TRAVELED;
        }
        else if (isToHardMap)
        {
            viewType = VIEW_TYPE.TO_HARD_MAP;
        }
        if (portalData.dstQuestID != 0)
        {
            if (portalData.dstMapID != 0)
            {
                int num = 0;
                ClearStatusQuest clearStatusQuest = MonoBehaviourSingleton <QuestManager> .I.clearStatusQuest.Find((ClearStatusQuest data) => data.questId == portalData.dstQuestID);

                if (clearStatusQuest != null)
                {
                    num = clearStatusQuest.questStatus;
                }
                if (num != 3 && num != 4)
                {
                    isLock  = true;
                    isQuest = true;
                }
            }
            else
            {
                isQuest = true;
            }
        }
        CreateView();
        if (MonoBehaviourSingleton <DropTargetMarkerManeger> .IsValid())
        {
            MonoBehaviourSingleton <DropTargetMarkerManeger> .I.CheckTarget(this);
        }
    }
示例#2
0
    private void SetUpEnemy(Transform t, QuestTable.QuestTableData quest)
    {
        EnemyTable.EnemyData enemyData = Singleton <EnemyTable> .I.GetEnemyData((uint)quest.GetMainEnemyID());

        if (enemyData != null)
        {
            ClearStatusQuest clearStatusQuestData = MonoBehaviourSingleton <QuestManager> .I.GetClearStatusQuestData(quest.questID);

            bool   flag    = clearStatusQuestData != null;
            int    icon_id = 10999;
            string text    = "?????";
            string text2   = "??";
            if (flag)
            {
                icon_id = enemyData.iconId;
                text    = enemyData.name;
                text2   = quest.GetMainEnemyLv().ToString();
            }
            ItemIcon itemIcon = ItemIcon.Create(ITEM_ICON_TYPE.QUEST_ITEM, icon_id, null, FindCtrl(t, UI.OBJ_ENEMY), ELEMENT_TYPE.MAX, null, -1, null, 0, false, -1, false, null, false, 0, 0, false, GET_TYPE.PAY);
            itemIcon.SetDepth(7);
            SetElementSprite(t, UI.SPR_ENM_ELEMENT, (int)enemyData.element);
            SetActive(t, UI.SPR_ENM_ELEMENT, flag);
            SetElementSprite(t, UI.SPR_WEAK_ELEMENT, (int)enemyData.weakElement);
            SetActive(t, UI.SPR_WEAK_ELEMENT, flag);
            bool flag2 = enemyData.weakElement == ELEMENT_TYPE.MAX;
            SetActive(t, UI.STR_NON_WEAK_ELEMENT, flag2 && flag);
            SetActive(t, UI.STR_UNKNOWN_WEAK_ELEMENT, !flag);
            SetLabelText(t, UI.LBL_MONSTER_NAME, text);
            SetLabelText(t, UI.LBL_MONSTER_LEVEL, StringTable.Format(STRING_CATEGORY.MAIN_STATUS, 1u, text2));
        }
    }
    private bool _IsOpenedQuest(QuestTable.QuestTableData quest_table, out QUEST_AVAILABLE_CHOICES available_choices)
    {
        if (quest_table.questType == QUEST_TYPE.NORMAL && quest_table.grade > MonoBehaviourSingleton <UserInfoManager> .I.userStatus.questGrade)
        {
            available_choices = QUEST_AVAILABLE_CHOICES.TOO_BIG_GRADE;
            return(false);
        }
        if (quest_table.questType == QUEST_TYPE.HAPPEN)
        {
            ClearStatusQuest clearStatusQuest = MonoBehaviourSingleton <QuestManager> .I.clearStatusQuest.Find((ClearStatusQuest data) => data.questId == quest_table.questID);

            if (clearStatusQuest == null || clearStatusQuest.questStatus < 3)
            {
                available_choices = QUEST_AVAILABLE_CHOICES.NOT_SELECT_TYPE;
                return(false);
            }
        }
        if (quest_table.questType == QUEST_TYPE.GATE)
        {
            available_choices = QUEST_AVAILABLE_CHOICES.NOT_SELECT_TYPE;
            return(false);
        }
        if (quest_table.appearQuestId != 0)
        {
            ClearStatusQuest clearStatusQuest2 = MonoBehaviourSingleton <QuestManager> .I.clearStatusQuest.Find((ClearStatusQuest data) => data.questId == quest_table.appearQuestId);

            if (clearStatusQuest2 == null || clearStatusQuest2.questStatus < 3)
            {
                available_choices = QUEST_AVAILABLE_CHOICES.NOT_CLEAR_FOR_VISIBLE_REQUIRE_QUEST;
                return(false);
            }
        }
        available_choices = QUEST_AVAILABLE_CHOICES.AVAILABLE;
        return(true);
    }
示例#4
0
    public override void SetValue(QuestItem recv_data)
    {
        base.uniqueID = ulong.Parse(recv_data.uniqId);
        base.tableID  = (uint)recv_data.questId;
        QuestTable.QuestTableData questData = Singleton <QuestTable> .I.GetQuestData(base.tableID);

        int[]            mission_clear_status = null;
        ClearStatusQuest clearStatusQuest     = MonoBehaviourSingleton <QuestManager> .I.clearStatusQuest.Find((ClearStatusQuest data) => data.questId == base.tableID);

        if (clearStatusQuest != null)
        {
            mission_clear_status = clearStatusQuest.missionStatus.ToArray();
        }
        infoData    = new QuestInfoData(questData, recv_data.reward, recv_data.num, 0, mission_clear_status);
        sellItems   = recv_data.sellItems;
        remainTimes = recv_data.remainTimes;
    }
示例#5
0
    private void SetUpSubMissions(Transform t, QuestTable.QuestTableData quest)
    {
        UI[] array = new UI[3]
        {
            UI.OBJ_MISSION_INFO_1,
            UI.OBJ_MISSION_INFO_2,
            UI.OBJ_MISSION_INFO_3
        };
        if (!quest.IsMissionExist())
        {
            SetActive(t, UI.OBJ_SUBMISSION_ROOT, false);
        }
        else
        {
            SetActive(t, UI.OBJ_SUBMISSION_ROOT, true);
            ClearStatusQuest clearStatusQuestData = MonoBehaviourSingleton <QuestManager> .I.GetClearStatusQuestData(quest.questID);

            if (clearStatusQuestData == null)
            {
                int i = 0;
                for (int num = quest.missionID.Length; i < num; i++)
                {
                    uint num2 = quest.missionID[i];
                    SetActive(t, array[i], num2 != 0);
                    SetSubMissionNotCleared(FindCtrl(t, array[i]), num2);
                }
            }
            else
            {
                int j = 0;
                for (int count = clearStatusQuestData.missionStatus.Count; j < count; j++)
                {
                    uint num3 = quest.missionID[j];
                    SetActive(t, array[j], num3 != 0);
                    CLEAR_STATUS clearStatus = (CLEAR_STATUS)clearStatusQuestData.missionStatus[j];
                    SetSubMissionCleared(FindCtrl(t, array[j]), num3, clearStatus);
                }
            }
        }
    }
示例#6
0
    private IEnumerator DoInitialize()
    {
        Utility.CreateGameObjectAndComponent("TheaterModeTable", this.get_gameObject().get_transform(), -1);
        Utility.CreateGameObjectAndComponent("TheaterModeChapterTable", this.get_gameObject().get_transform(), -1);
        while (MonoBehaviourSingleton <TheaterModeChapterTable> .I.isLoading || MonoBehaviourSingleton <TheaterModeTable> .I.isLoading)
        {
            yield return((object)null);
        }
        Dictionary <int, int>  checkList = new Dictionary <int, int>();
        Dictionary <int, uint> idList    = new Dictionary <int, uint>();
        Dictionary <uint, int> revIdList = new Dictionary <uint, int>();

        new Dictionary <uint, int>();
        Dictionary <uint, int> deliveryList = new Dictionary <uint, int>();

        MonoBehaviourSingleton <TheaterModeTable> .I.AllTheaterData(delegate(TheaterModeTable.TheaterModeData data)
        {
            if (!((_003CDoInitialize_003Ec__IteratorEA) /*Error near IL_00d8: stateMachine*/)._003CcheckList_003E__0.ContainsKey(data.script_id) && !((_003CDoInitialize_003Ec__IteratorEA) /*Error near IL_00d8: stateMachine*/)._003CidList_003E__1.ContainsKey(data.script_id))
            {
                ((_003CDoInitialize_003Ec__IteratorEA) /*Error near IL_00d8: stateMachine*/)._003CcheckList_003E__0.Add(data.script_id, 0);
                ((_003CDoInitialize_003Ec__IteratorEA) /*Error near IL_00d8: stateMachine*/)._003CidList_003E__1.Add(data.script_id, data.story_id);
                ((_003CDoInitialize_003Ec__IteratorEA) /*Error near IL_00d8: stateMachine*/)._003CrevIdList_003E__2.Add(data.story_id, data.script_id);
            }
        });

        if (checkList.ContainsKey(11000001))
        {
            checkList[11000001] = 1;
        }
        if (checkList.ContainsKey(11000002))
        {
            checkList[11000002] = 1;
        }
        if (Singleton <QuestTable> .IsValid() && MonoBehaviourSingleton <QuestManager> .IsValid())
        {
            Singleton <QuestTable> .I.AllQuestData(delegate(QuestTable.QuestTableData data)
            {
                if (data.storyId != 0 && ((_003CDoInitialize_003Ec__IteratorEA) /*Error near IL_014e: stateMachine*/)._003CcheckList_003E__0.ContainsKey(data.storyId))
                {
                    if (((_003CDoInitialize_003Ec__IteratorEA) /*Error near IL_014e: stateMachine*/)._003CcheckList_003E__0[data.storyId] == 0)
                    {
                        ((_003CDoInitialize_003Ec__IteratorEA) /*Error near IL_014e: stateMachine*/)._003CcheckList_003E__0[data.storyId] = -1;
                    }
                    ((_003CDoInitialize_003Ec__IteratorEA) /*Error near IL_014e: stateMachine*/)._003CquestList_003E__3.Add(data.questID, data.storyId);
                    ClearStatusQuest clearStatusQuestData = MonoBehaviourSingleton <QuestManager> .I.GetClearStatusQuestData(data.questID);
                    if (clearStatusQuestData != null && (clearStatusQuestData.questStatus == 3 || clearStatusQuestData.questStatus == 4))
                    {
                        ((_003CDoInitialize_003Ec__IteratorEA) /*Error near IL_014e: stateMachine*/)._003CcheckList_003E__0[data.storyId] = 1;
                    }
                }
            });
        }
        Singleton <DeliveryTable> .I.AllDeliveryData(delegate(DeliveryTable.DeliveryData data)
        {
            if (data.clearEventID != 0)
            {
                int clearEventID = (int)data.clearEventID;
                if (((_003CDoInitialize_003Ec__IteratorEA) /*Error near IL_0164: stateMachine*/)._003CcheckList_003E__0.ContainsKey(clearEventID))
                {
                    if (((_003CDoInitialize_003Ec__IteratorEA) /*Error near IL_0164: stateMachine*/)._003CcheckList_003E__0[clearEventID] == 0)
                    {
                        ((_003CDoInitialize_003Ec__IteratorEA) /*Error near IL_0164: stateMachine*/)._003CcheckList_003E__0[clearEventID] = -1;
                    }
                    ((_003CDoInitialize_003Ec__IteratorEA) /*Error near IL_0164: stateMachine*/)._003CdeliveryList_003E__4.Add(data.id, clearEventID);
                    CLEAR_STATUS clearStatusDelivery = MonoBehaviourSingleton <DeliveryManager> .I.GetClearStatusDelivery(data.id);
                    if (clearStatusDelivery == CLEAR_STATUS.CLEAR || clearStatusDelivery == CLEAR_STATUS.ALL_CLEAR)
                    {
                        ((_003CDoInitialize_003Ec__IteratorEA) /*Error near IL_0164: stateMachine*/)._003CcheckList_003E__0[clearEventID] = 1;
                    }
                }
            }
        });

        if (s_connectCache == null)
        {
            TheaterModeModel.RequestSendForm send_form = new TheaterModeModel.RequestSendForm();
            foreach (KeyValuePair <uint, int> item in deliveryList)
            {
                int storyId2 = item.Value;
                if (checkList[storyId2] < 1)
                {
                    send_form.theaterList.Add(new TheaterModePostData((int)idList[storyId2], (int)item.Key, 0));
                }
            }
            foreach (KeyValuePair <int, int> item2 in checkList)
            {
                int storyId = item2.Key;
                if (checkList[storyId] == 0)
                {
                    send_form.theaterList.Add(new TheaterModePostData((int)idList[storyId], 0, storyId));
                }
            }
            bool isEndConnection = false;
            Protocol.Send(TheaterModeModel.URL, send_form, delegate(TheaterModeModel ret)
            {
                if (ret.Error == Error.None)
                {
                    if (ret == null || ret.result == null || ret.result.theaterList == null)
                    {
                        return;
                    }
                    s_connectCache = ret.result;
                }
                ((_003CDoInitialize_003Ec__IteratorEA) /*Error near IL_02ee: stateMachine*/)._003CisEndConnection_003E__12 = true;
            }, string.Empty);
            while (!isEndConnection)
            {
                yield return((object)null);
            }
        }
        for (int l = 0; l < s_connectCache.theaterList.Count; l++)
        {
            if (s_connectCache.theaterList[l].isOpen)
            {
                checkList[revIdList[(uint)s_connectCache.theaterList[l].theaterId]] = 1;
            }
            else
            {
                checkList[revIdList[(uint)s_connectCache.theaterList[l].theaterId]] = -1;
            }
        }
        m_canViewStoryList = MonoBehaviourSingleton <TheaterModeTable> .I.GetTableFromOKDic(checkList);

        List <uint> chapterList = new List <uint>();
        int         k           = 0;

        for (int count2 = m_canViewStoryList.Count; k < count2; k++)
        {
            uint chapter = (uint)m_canViewStoryList[k].chapter_id;
            if (!chapterList.Contains(chapter))
            {
                chapterList.Add(chapter);
            }
        }
        m_canViewChapterList = MonoBehaviourSingleton <TheaterModeChapterTable> .I.GetPickedData(chapterList);

        m_canViewChapterList.Sort(delegate(TheaterModeChapterTable.TheaterModeChapterData a, TheaterModeChapterTable.TheaterModeChapterData b)
        {
            if (a.order != 0 && b.order != 0)
            {
                return(b.order - a.order);
            }
            if (b.order != 0)
            {
                return(-1);
            }
            if (a.order != 0)
            {
                return(1);
            }
            return((int)(b.chapter_id - a.chapter_id));
        });
        LoadingQueue loadingQueue = new LoadingQueue(this);

        bannerTable = new Dictionary <int, LoadObject>(m_canViewChapterList.Count);
        for (int j = 0; j < m_canViewChapterList.Count; j++)
        {
            TheaterModeChapterTable.TheaterModeChapterData table = m_canViewChapterList[j];
            if (!bannerTable.ContainsKey(table.banner_id))
            {
                string     bannerImg = ResourceName.GetEventBanner(table.banner_id);
                LoadObject obj       = loadingQueue.Load(RESOURCE_CATEGORY.EVENT_ICON, bannerImg, false);
                bannerTable.Add(table.banner_id, obj);
            }
        }
        if (loadingQueue.IsLoading())
        {
            yield return((object)loadingQueue.Wait());
        }
        m_mainChapterList  = new List <TheaterModeChapterTable.TheaterModeChapterData>();
        m_eventChapterList = new List <TheaterModeChapterTable.TheaterModeChapterData>();
        int i = 0;

        for (int count = m_canViewChapterList.Count; i < count; i++)
        {
            if (m_canViewChapterList[i].is_main == 0)
            {
                m_eventChapterList.Add(m_canViewChapterList[i]);
            }
            else
            {
                m_mainChapterList.Add(m_canViewChapterList[i]);
            }
        }
        SetPaging();
        m_isSelectMain = false;
        OnQuery_SELECT_MAIN();
        base.Initialize();
    }
    protected void UpdateSubMission()
    {
        UI[] array = new UI[3]
        {
            UI.OBJ_MISSION_INFO_1,
            UI.OBJ_MISSION_INFO_2,
            UI.OBJ_MISSION_INFO_3
        };
        UI[] array2 = new UI[3]
        {
            UI.OBJ_TOP_CROWN_1,
            UI.OBJ_TOP_CROWN_2,
            UI.OBJ_TOP_CROWN_3
        };
        UI[] array3 = new UI[3]
        {
            UI.LBL_MISSION_INFO_1,
            UI.LBL_MISSION_INFO_2,
            UI.LBL_MISSION_INFO_3
        };
        UI[] array4 = new UI[3]
        {
            UI.SPR_MISSION_INFO_CROWN_1,
            UI.SPR_MISSION_INFO_CROWN_2,
            UI.SPR_MISSION_INFO_CROWN_3
        };
        UI[] array5 = new UI[3]
        {
            UI.SPR_CROWN_1,
            UI.SPR_CROWN_2,
            UI.SPR_CROWN_3
        };
        if (info.needs.Length != 0)
        {
            uint questId = info.needs[0].questId;
            if (questId != 0)
            {
                QuestTable.QuestTableData questData = Singleton <QuestTable> .I.GetQuestData(questId);

                if (!questData.IsMissionExist())
                {
                    SetActive((Enum)UI.OBJ_SUBMISSION_ROOT, false);
                }
                else
                {
                    ClearStatusQuest clearStatusQuestData = MonoBehaviourSingleton <QuestManager> .I.GetClearStatusQuestData(questId);

                    if (clearStatusQuestData == null)
                    {
                        SetActive((Enum)UI.OBJ_SUBMISSION_ROOT, true);
                        int i = 0;
                        for (int num = questData.missionID.Length; i < num; i++)
                        {
                            uint num2 = questData.missionID[i];
                            SetActive(submissionFrame, array[i], num2 != 0);
                            SetActive(submissionFrame, array2[i], num2 != 0);
                            SetActive(submissionFrame, array3[i], num2 != 0);
                            if (num2 != 0)
                            {
                                SetActive(submissionFrame, array4[i], false);
                                SetActive(submissionFrame, array5[i], false);
                                QuestTable.MissionTableData missionData = Singleton <QuestTable> .I.GetMissionData(num2);

                                SetLabelText(submissionFrame, array3[i], missionData.missionText);
                            }
                        }
                    }
                    else
                    {
                        SetActive((Enum)UI.OBJ_SUBMISSION_ROOT, true);
                        int j = 0;
                        for (int count = clearStatusQuestData.missionStatus.Count; j < count; j++)
                        {
                            CLEAR_STATUS cLEAR_STATUS = (CLEAR_STATUS)clearStatusQuestData.missionStatus[j];
                            SetActive(submissionFrame, array[j], questData.missionID[j] != 0);
                            SetActive(submissionFrame, array2[j], questData.missionID[j] != 0);
                            SetActive(submissionFrame, array4[j], cLEAR_STATUS >= CLEAR_STATUS.CLEAR);
                            SetActive(submissionFrame, array5[j], cLEAR_STATUS >= CLEAR_STATUS.CLEAR);
                            QuestTable.MissionTableData missionData2 = Singleton <QuestTable> .I.GetMissionData(questData.missionID[j]);

                            SetLabelText(submissionFrame, array3[j], missionData2.missionText);
                        }
                    }
                }
            }
        }
    }
    protected virtual void ShowSelectUI()
    {
        //IL_0240: Unknown result type (might be due to invalid IL or missing references)
        //IL_024f: Unknown result type (might be due to invalid IL or missing references)
        int num  = (!isInGameScene && TutorialStep.HasQuestSpecialUnlocked()) ? 1 : 2;
        int num2 = (showMode != 0) ? num : 0;
        int num3 = (showMode != SHOW_MODE.QUEST) ? num : 0;
        int num4 = (showMode != SHOW_MODE.ORDER) ? num : 0;

        SetActive((Enum)UI.OBJ_DELIVERY_ROOT, showMode == SHOW_MODE.DELIVERY);
        SetActive((Enum)UI.OBJ_QUEST_ROOT, showMode == SHOW_MODE.QUEST);
        SetActive((Enum)UI.OBJ_ORDER_ROOT, showMode == SHOW_MODE.ORDER);
        SetButtonSprite((Enum)UI.BTN_DELIVERY, "QuestTabBtnBase" + SPR_ON_OFF[num2], true);
        SetSprite((Enum)UI.SPR_DELIVERY_TEXT, "QuestTabBtnText" + SPR_INDEX[0] + SPR_ON_OFF[num2]);
        SetSprite((Enum)UI.SPR_DELIVERY_ICON, "QuestTabBtnIcon" + SPR_INDEX[0] + SPR_ON_OFF[num2]);
        SetButtonSprite((Enum)UI.BTN_QUEST, "QuestTabBtnBase" + SPR_ON_OFF[num3], true);
        SetSprite((Enum)UI.SPR_QUEST_TEXT, "QuestTabBtnText" + SPR_INDEX[1] + SPR_ON_OFF[num3]);
        SetSprite((Enum)UI.SPR_QUEST_ICON, "QuestTabBtnIcon" + SPR_INDEX[1] + SPR_ON_OFF[num3]);
        SetButtonSprite((Enum)UI.BTN_ORDER, "QuestTabBtnBase" + SPR_ON_OFF[num4], true);
        SetSprite((Enum)UI.SPR_ORDER_TEXT, "QuestTabBtnText" + SPR_INDEX[2] + SPR_ON_OFF[num4]);
        SetSprite((Enum)UI.SPR_ORDER_ICON, "QuestTabBtnIcon" + SPR_INDEX[2] + SPR_ON_OFF[num4]);
        if (!TutorialStep.HasQuestSpecialUnlocked())
        {
            SetButtonEnabled((Enum)UI.BTN_QUEST, false);
            SetButtonEnabled((Enum)UI.BTN_ORDER, false);
            SetActive((Enum)UI.BTN_EVENT, false);
        }
        if (!isInGameScene)
        {
            SetRenderNPCModel((Enum)UI.TEX_NPCMODEL, 0, MonoBehaviourSingleton <OutGameSettingsManager> .I.homeScene.questCenterNPCPos, MonoBehaviourSingleton <OutGameSettingsManager> .I.homeScene.questCenterNPCRot, MonoBehaviourSingleton <OutGameSettingsManager> .I.homeScene.questCenterNPCFOV, (Action <NPCLoader>)null);
            SetLabelText((Enum)UI.LBL_NPC_MESSAGE, npcText);
        }
        SetActive((Enum)UI.OBJ_NPC_MESSAGE, !isInGameScene);
        if (showMode == SHOW_MODE.DELIVERY)
        {
            SetActive((Enum)UI.SPR_TAB_NORMAL, UI.BTN_TAB_NORMAL == selectedTab);
            SetActive((Enum)UI.SPR_TAB_DAILY, UI.BTN_TAB_DAILY == selectedTab);
            SetActive((Enum)UI.SPR_TAB_WEEKLY, UI.BTN_TAB_WEEKLY == selectedTab);
            SetButtonSprite((Enum)UI.BTN_TAB_NORMAL, (selectedTab != UI.BTN_TAB_NORMAL) ? "PickeShopBtn_Normal_off" : "PickeShopBtn_Green_on", false);
            SetButtonSprite((Enum)UI.BTN_TAB_DAILY, (selectedTab != UI.BTN_TAB_DAILY) ? "PickeShopBtn_Normal_off" : "PickeShopBtn_Green_on", false);
            SetButtonSprite((Enum)UI.BTN_TAB_WEEKLY, (selectedTab != UI.BTN_TAB_WEEKLY) ? "PickeShopBtn_Normal_off" : "PickeShopBtn_Green_on", false);
            SetNPCMessage(selectedTab);
            switch (selectedTab)
            {
            case UI.BTN_TAB_NORMAL:
                SetDeliveryList(normalDeliveryInfo);
                break;

            case UI.BTN_TAB_DAILY:
                SetDeliveryList(dailyDeliveryInfo);
                break;

            case UI.BTN_TAB_WEEKLY:
                SetDeliveryList(weeklyDeliveryInfo);
                break;
            }
        }
        else if (showMode == SHOW_MODE.ORDER)
        {
            if (questItemAry == null && MonoBehaviourSingleton <InventoryManager> .I.questItemInventory.GetCount() > 0)
            {
                List <QuestItemInfo> list = new List <QuestItemInfo>();
                MonoBehaviourSingleton <InventoryManager> .I.ForAllQuestInvetory(delegate(QuestItemInfo item)
                {
                    if (item.infoData.questData.num > 0)
                    {
                        list.Add(item);
                    }
                });

                questItemAry = list.ToArray();
                GetCtrl(UI.GRD_ORDER_QUEST).DestroyChildren();
            }
            if (questItemAry == null || questItemAry.Length == 0)
            {
                SetActive((Enum)UI.BTN_SORT, false);
                SetActive((Enum)UI.GRD_ORDER_QUEST, false);
                SetActive((Enum)UI.STR_ORDER_NON_LIST, true);
            }
            else
            {
                questSortData = sortSettings.CreateSortAry <QuestItemInfo, QuestSortData>(questItemAry);
                SetActive((Enum)UI.GRD_ORDER_QUEST, true);
                SetActive((Enum)UI.STR_ORDER_NON_LIST, false);
                SetActive((Enum)UI.BTN_SORT, true);
                SetLabelText((Enum)UI.LBL_SORT, sortSettings.GetSortLabel());
                SetToggle((Enum)UI.TGL_ICON_ASC, sortSettings.orderTypeAsc);
                SetDynamicList((Enum)UI.GRD_ORDER_QUEST, "QuestListOrderItem", questSortData.Length, false, (Func <int, bool>) null, (Func <int, Transform, Transform>) null, (Action <int, Transform, bool>) delegate(int i, Transform t, bool is_recycle)
                {
                    QuestSpecialSelect questSpecialSelect2 = this;
                    SetActive(t, true);
                    SetEvent(t, "SELECT_ORDER", i);
                    QuestInfoData info2 = this.questSortData[i].itemData.infoData;
                    int num9            = (int)(info2.questData.tableData.difficulty + 1);
                    int l = 0;
                    for (int num10 = difficult.Length; l < num10; l++)
                    {
                        SetActive(t, difficult[l], l < num9);
                    }
                    if (!is_recycle)
                    {
                        ResetTween(t, UI.TWN_DIFFICULT_STAR, 0);
                        PlayTween(t, UI.TWN_DIFFICULT_STAR, true, null, false, 0);
                    }
                    EnemyTable.EnemyData enemyData2 = Singleton <EnemyTable> .I.GetEnemyData((uint)info2.questData.tableData.GetMainEnemyID());
                    QuestSortData questSortData     = this.questSortData[i];
                    ItemIcon itemIcon2 = ItemIcon.Create(questSortData.GetIconType(), questSortData.GetIconID(), questSortData.GetRarity(), FindCtrl(t, UI.OBJ_ENEMY), questSortData.GetIconElement(), null, -1, null, 0, false, -1, false, null, false, 0, 0, false, GET_TYPE.PAY);
                    itemIcon2.SetEnableCollider(false);
                    SetActive(t, UI.SPR_ELEMENT_ROOT, enemyData2.element != ELEMENT_TYPE.MAX);
                    SetElementSprite(t, UI.SPR_ELEMENT, (int)enemyData2.element);
                    SetElementSprite(t, UI.SPR_WEAK_ELEMENT, (int)enemyData2.weakElement);
                    SetActive(t, UI.STR_NON_WEAK_ELEMENT, enemyData2.weakElement == ELEMENT_TYPE.MAX);
                    SetLabelText(t, UI.LBL_QUEST_NAME, info2.questData.tableData.questText);
                    int num11 = 1;
                    ClearStatusQuest clearStatusQuest2 = MonoBehaviourSingleton <QuestManager> .I.clearStatusQuest.Find((ClearStatusQuest data) => info2.questData.tableData.questID == data.questId);
                    if (clearStatusQuest2 != null)
                    {
                        num11 = clearStatusQuest2.questStatus;
                    }
                    int value2 = i + 100;
                    SetToggleGroup(t, UI.OBJ_ICON_NEW, value2);
                    SetToggleGroup(t, UI.OBJ_ICON_CLEARED, value2);
                    SetToggleGroup(t, UI.OBJ_ICON_COMPLETE, value2);
                    switch (num11)
                    {
                    default:
                        SetToggle(t, UI.OBJ_ICON_NEW, false);
                        SetToggle(t, UI.OBJ_ICON_CLEARED, false);
                        SetToggle(t, UI.OBJ_ICON_COMPLETE, false);
                        break;

                    case 1:
                        SetToggle(t, UI.OBJ_ICON_NEW, true);
                        SetVisibleWidgetEffect(UI.SCR_ORDER_QUEST, t, UI.SPR_ICON_NEW, "ef_ui_questselect_new");
                        break;

                    case 3:
                        SetToggle(t, UI.OBJ_ICON_CLEARED, true);
                        break;

                    case 4:
                        SetToggle(t, UI.OBJ_ICON_COMPLETE, true);
                        SetVisibleWidgetEffect(UI.SCR_ORDER_QUEST, t, UI.SPR_ICON_COMPLETE, "ef_ui_questselect_complete");
                        break;
                    }
                    SetLabelText(t, UI.LBL_ORDER_NUM, info2.questData.num.ToString());
                    SetActive(t, UI.LBL_REMAIN, false);
                });
            }
        }
        else if (showMode == SHOW_MODE.QUEST)
        {
            if (questInfo == null || questInfo.Length == 0)
            {
                SetActive((Enum)UI.GRD_QUEST, false);
                SetActive((Enum)UI.STR_QUEST_NON_LIST, true);
            }
            else
            {
                SetActive((Enum)UI.STR_QUEST_NON_LIST, false);
                SetActive((Enum)UI.GRD_QUEST, true);
                SetDynamicList((Enum)UI.GRD_QUEST, "QuestListItem", questInfo.Length, false, (Func <int, bool>) null, (Func <int, Transform, Transform>) null, (Action <int, Transform, bool>) delegate(int i, Transform t, bool is_recycle)
                {
                    QuestSpecialSelect questSpecialSelect = this;
                    SetEvent(t, "SELECT_QUEST", i);
                    QuestInfoData info = questInfo[i];
                    int num5           = (int)(info.questData.tableData.difficulty + 1);
                    int j = 0;
                    for (int num6 = difficult.Length; j < num6; j++)
                    {
                        SetActive(t, difficult[j], j < num5);
                    }
                    if (!is_recycle)
                    {
                        ResetTween(t, UI.TWN_DIFFICULT_STAR, 0);
                        PlayTween(t, UI.TWN_DIFFICULT_STAR, true, null, false, 0);
                    }
                    EnemyTable.EnemyData enemyData = Singleton <EnemyTable> .I.GetEnemyData((uint)info.questData.tableData.GetMainEnemyID());
                    if (enemyData != null)
                    {
                        SetActive(t, UI.OBJ_ENEMY, true);
                        int iconId         = enemyData.iconId;
                        RARITY_TYPE?rarity = (info.questData.tableData.questType != QUEST_TYPE.ORDER) ? null : new RARITY_TYPE?(info.questData.tableData.rarity);
                        ItemIcon itemIcon  = ItemIcon.Create(ITEM_ICON_TYPE.QUEST_ITEM, iconId, rarity, FindCtrl(t, UI.OBJ_ENEMY), enemyData.element, null, -1, null, 0, false, -1, false, null, false, 0, 0, false, GET_TYPE.PAY);
                        itemIcon.SetEnableCollider(false);
                        SetActive(t, UI.SPR_ELEMENT_ROOT, enemyData.element != ELEMENT_TYPE.MAX);
                        SetElementSprite(t, UI.SPR_ELEMENT, (int)enemyData.element);
                        SetElementSprite(t, UI.SPR_WEAK_ELEMENT, (int)enemyData.weakElement);
                        SetActive(t, UI.STR_NON_WEAK_ELEMENT, enemyData.weakElement == ELEMENT_TYPE.MAX);
                    }
                    else
                    {
                        SetActive(t, UI.OBJ_ENEMY, false);
                        SetElementSprite(t, UI.SPR_WEAK_ELEMENT, 6);
                        SetActive(t, UI.STR_NON_WEAK_ELEMENT, true);
                    }
                    SetLabelText(t, UI.LBL_QUEST_NUM, string.Empty);
                    SetLabelText(t, UI.LBL_QUEST_NAME, info.questData.tableData.questText);
                    if (!info.isExistMission)
                    {
                        SetActive(t, UI.OBJ_MISSION_INFO_ROOT, false);
                    }
                    else
                    {
                        SetActive(t, UI.OBJ_MISSION_INFO_ROOT, true);
                        int k = 0;
                        for (int num7 = info.missionData.Length; k < num7; k++)
                        {
                            SetActive(t, ui_top_crown[k], info.missionData[k] != null);
                            if (info.missionData[k] != null)
                            {
                                SetActive(t, ui_crown[k], info.missionData[k].state >= CLEAR_STATUS.CLEAR);
                            }
                        }
                    }
                    int num8 = 1;
                    ClearStatusQuest clearStatusQuest = MonoBehaviourSingleton <QuestManager> .I.clearStatusQuest.Find((ClearStatusQuest data) => info.questData.tableData.questID == data.questId);
                    if (clearStatusQuest != null)
                    {
                        num8 = clearStatusQuest.questStatus;
                    }
                    int value = i + 100;
                    SetToggleGroup(t, UI.OBJ_ICON_NEW, value);
                    SetToggleGroup(t, UI.OBJ_ICON_CLEARED, value);
                    SetToggleGroup(t, UI.OBJ_ICON_COMPLETE, value);
                    switch (num8)
                    {
                    default:
                        SetToggle(t, UI.OBJ_ICON_NEW, false);
                        SetToggle(t, UI.OBJ_ICON_CLEARED, false);
                        SetToggle(t, UI.OBJ_ICON_COMPLETE, false);
                        break;

                    case 1:
                        SetToggle(t, UI.OBJ_ICON_NEW, true);
                        SetVisibleWidgetEffect(UI.SCR_NORMAL_QUEST, t, UI.SPR_ICON_NEW, "ef_ui_questselect_new");
                        break;

                    case 3:
                        SetToggle(t, UI.OBJ_ICON_CLEARED, true);
                        break;

                    case 4:
                        SetToggle(t, UI.OBJ_ICON_COMPLETE, true);
                        SetVisibleWidgetEffect(UI.SCR_NORMAL_QUEST, t, UI.SPR_ICON_COMPLETE, "ef_ui_questselect_complete");
                        break;
                    }
                });
            }
        }
    }