protected void UpdateHappenTarget()
    {
        QuestTable.QuestTableData questData = info.GetQuestData();
        if (questData != null)
        {
            EnemyTable.EnemyData enemyData = Singleton <EnemyTable> .I.GetEnemyData((uint)questData.GetMainEnemyID());

            if (enemyData != null)
            {
                ItemIcon.Create(ITEM_ICON_TYPE.QUEST_ITEM, enemyData.iconId, null, FindCtrl(targetFrame, UI.OBJ_ENEMY), enemyData.element, null, -1, null, 0, false, -1, false, null, false, 0, 0, false, GET_TYPE.PAY);
            }
        }
    }
    protected virtual void InitCompletedDelivery(int completedIndex, Transform t)
    {
        DeliveryTable.DeliveryData deliveryData = clearedDeliveries[completedIndex];
        bool flag = false;

        if (deliveryData != null)
        {
            QuestTable.QuestTableData questData = deliveryData.GetQuestData();
            if (questData != null && questData.questType == QUEST_TYPE.HAPPEN)
            {
                flag = true;
            }
        }
        if (flag)
        {
            SetEvent(t, "SELECT_COMPLETED_DELIVERY_HAPPEN", completedIndex);
        }
        else
        {
            SetEvent(t, "SELECT_COMPLETED_DELIVERY", completedIndex);
        }
        SetupDeliveryListItem(t, deliveryData);
        SetActive(t, UI.OBJ_REQUEST_COMPLETED, true);
        SetCompletedHaveCount(t, deliveryData);
    }
    public virtual void Setup(Transform t, DeliveryTable.DeliveryData info)
    {
        //IL_01bd: Unknown result type (might be due to invalid IL or missing references)
        //IL_040b: Unknown result type (might be due to invalid IL or missing references)
        SetIcon(t, info);
        SetDeliveryName(t, info);
        bool is_visible = MonoBehaviourSingleton <DeliveryManager> .I.IsCompletableDelivery((int)info.id);

        SetActive(t, UI.OBJ_REQUEST_OK, is_visible);
        SetActive(t, UI.OBJ_REQUEST_COMPLETED, false);
        MonoBehaviourSingleton <DeliveryManager> .I.GetDeliveryDataAllNeeds((int)info.id, out int have, out int need, out string item_name, out string limit_time);

        SetLabelText(t, UI.LBL_HAVE, have.ToString());
        SetLabelText(t, UI.LBL_NEED, need.ToString());
        SetLabelText(t, UI.LBL_NEED_ITEM_NAME, item_name);
        SetLabelText(t, UI.LBL_LIMIT, limit_time);
        SetFrame(t, info);
        if (info.GetUIType() == DeliveryTable.UIType.STORY)
        {
            SetActive(t, UI.SPR_TYPE_TEXT_STORY, info.GetRegionDifficultyType() == REGION_DIFFICULTY_TYPE.NORMAL);
            SetActive(t, UI.SPR_TYPE_TEXT_STORY_HARD, info.GetRegionDifficultyType() == REGION_DIFFICULTY_TYPE.HARD);
        }
        if (info.GetUIType() == DeliveryTable.UIType.NONE)
        {
            SetActive(t, UI.SPR_TYPE_TEXT_SUB_HARD, info.GetRegionDifficultyType() == REGION_DIFFICULTY_TYPE.HARD);
        }
        DeliveryTable.UIType uIType = info.GetUITextType();
        if (uIType == DeliveryTable.UIType.NONE)
        {
            uIType = info.GetUIType();
        }
        SetActive(t, UI.SPR_TYPE_EVENT_TEXT, uIType == DeliveryTable.UIType.EVENT);
        SetActive(t, UI.SPR_TYPE_DAILY_TEXT, uIType == DeliveryTable.UIType.DAILY);
        SetActive(t, UI.SPR_TYPE_WEEKLY_TEXT, uIType == DeliveryTable.UIType.WEEKLY);
        SetActive(t, UI.SPR_DROP_DIFFICULTY_RARE, info.GetDeliveryDropRarity() == DELIVERY_DROP_DIFFICULTY.RARE);
        SetActive(t, UI.SPR_DROP_DIFFICULTY_SUPER_RARE, info.GetDeliveryDropRarity() == DELIVERY_DROP_DIFFICULTY.SUPER_RARE);
        DeliveryDropRareTextColor componentInChildren = t.GetComponentInChildren <DeliveryDropRareTextColor>();

        if (componentInChildren != null)
        {
            UILabel component = base.GetComponent <UILabel>(t, (Enum)UI.LBL_NEED_ITEM_NAME);
            if (component != null)
            {
                SetColor(t, UI.LBL_NEED_ITEM_NAME, componentInChildren.GetRarityColor(info.GetDeliveryDropRarity()));
            }
        }
        SetSprite(t, UI.SPR_FRAME, SPR_FRAME_TYPE[info.DeliveryTypeIndex()]);
        int num = 0;
        List <DeliveryRewardTable.DeliveryRewardData.Reward> list = new List <DeliveryRewardTable.DeliveryRewardData.Reward>();

        DeliveryRewardTable.DeliveryRewardData[] deliveryRewardTableData = Singleton <DeliveryRewardTable> .I.GetDeliveryRewardTableData(info.id);

        if (deliveryRewardTableData != null)
        {
            DeliveryRewardTable.DeliveryRewardData[] array = deliveryRewardTableData;
            foreach (DeliveryRewardTable.DeliveryRewardData deliveryRewardData in array)
            {
                list.Add(deliveryRewardData.reward);
            }
        }
        List <PointShopGetPointTable.Data> fromDeiliveryId = Singleton <PointShopGetPointTable> .I.GetFromDeiliveryId(info.id);

        if (fromDeiliveryId.Any())
        {
            foreach (PointShopGetPointTable.Data item in fromDeiliveryId)
            {
                DeliveryRewardTable.DeliveryRewardData.Reward reward = new DeliveryRewardTable.DeliveryRewardData.Reward();
                reward.item_id = item.pointShopId;
                reward.num     = item.basePoint;
                reward.type    = REWARD_TYPE.POINT_SHOP_POINT;
                list.Add(reward);
            }
        }
        if (list.Any())
        {
            if (list.Count >= 2)
            {
                list = (from x in list
                        orderby GetRewardPriority(x)
                        select x).ToList();
            }
            UI[] array2 = new UI[2]
            {
                UI.OBJ_ICON_ROOT_1,
                UI.OBJ_ICON_ROOT_2
            };
            for (int j = 0; j < 2; j++)
            {
                bool flag = list.Count >= j + 1;
                SetActive(t, array2[j], flag);
                if (flag)
                {
                    DeliveryRewardTable.DeliveryRewardData.Reward reward2 = list[j];
                    ItemIcon itemIcon = ItemIcon.CreateRewardItemIcon(reward2.type, reward2.item_id, FindCtrl(t, array2[j]), -1, null, 0, false, -1, false, null, false, false, ItemIcon.QUEST_ICON_SIZE_TYPE.REWARD_DELIVERY_LIST);
                    if (itemIcon != null)
                    {
                        itemIcon.SetEnableCollider(false);
                    }
                }
            }
        }
        QuestTable.QuestTableData questData = info.GetQuestData();
        if (questData != null)
        {
            bool       flag2 = questData.level > (int)MonoBehaviourSingleton <UserInfoManager> .I.userStatus.level;
            UIWidget[] componentsInChildren = FindCtrl(t, UI.SPR_FRAME).GetComponentsInChildren <UIWidget>();
            UIWidget[] array3 = componentsInChildren;
            foreach (UIWidget uIWidget in array3)
            {
                if (flag2 && !uIWidget.get_name().Contains("Mask"))
                {
                    uIWidget.color = Color.get_gray();
                }
            }
            SetActive(t, UI.OBJ_LEVEL_LIMIT, flag2);
            SetLabelText(t, UI.LBL_LEVEL_LIMIT, string.Format(StringTable.Get(STRING_CATEGORY.QUEST_DELIVERY, 3u), questData.level));
            SetButtonEnabled(t, !flag2);
        }
        else
        {
            SetActive(t, UI.OBJ_LEVEL_LIMIT, false);
        }
        UIGrid component2 = base.GetComponent <UIGrid>(t, (Enum)UI.GRD_ICON_ROOT);

        if (component2 != null)
        {
            component2.Reposition();
        }
    }
    public void OnQuery_SELECT_DELIVERY()
    {
        int  index = (int)GameSection.GetEventData();
        bool is_enough_material = MonoBehaviourSingleton <DeliveryManager> .I.IsCompletableDelivery(deliveryInfo[index].dId);

        int  delivery_id     = deliveryInfo[index].dId;
        bool is_happen_quest = false;

        DeliveryTable.DeliveryData deliveryTableData = Singleton <DeliveryTable> .I.GetDeliveryTableData((uint)delivery_id);

        if (deliveryTableData != null)
        {
            QuestTable.QuestTableData questData = deliveryTableData.GetQuestData();
            if (questData != null && questData.questType == QUEST_TYPE.HAPPEN)
            {
                is_happen_quest = true;
            }
        }
        if (is_enough_material)
        {
            if (isInGameScene && deliveryTableData.IsInvalidClearIngame())
            {
                GameSection.ChangeEvent("DELIVERY_ITEM_COMPLETE", null);
            }
            else if (isInGameScene)
            {
                GameSection.StayEvent();
                MonoBehaviourSingleton <CoopManager> .I.coopStage.fieldRewardPool.SendFieldDrop(delegate(bool b)
                {
                    if (b)
                    {
                        SendDeliveryComplete(index, delivery_id, is_enough_material, is_happen_quest);
                        if (Singleton <FieldMapTable> .I.GetDeliveryRelationPortalData((uint)delivery_id) != null)
                        {
                            MonoBehaviourSingleton <DeliveryManager> .I.CheckAnnouncePortalOpen();
                        }
                    }
                });
            }
            else
            {
                GameSection.StayEvent();
                SendDeliveryComplete(index, delivery_id, is_enough_material, is_happen_quest);
            }
        }
        else if (is_happen_quest)
        {
            GameSection.ChangeEvent("SELECT_DELIVERY_HAPPEN", new object[2]
            {
                delivery_id,
                null
            });
        }
        else
        {
            GameSection.SetEventData(new object[2]
            {
                delivery_id,
                null
            });
        }
    }