private void OnQuery_QUEST_DETAIL()
    {
        int num   = (int)GameSection.GetEventData();
        int count = MonoBehaviourSingleton <GachaManager> .I.gachaResult.reward.Count;

        if (num < 0 || num >= count)
        {
            GameSection.StopEvent();
        }
        else
        {
            QuestItemInfo questItem = MonoBehaviourSingleton <InventoryManager> .I.GetQuestItem((uint)MonoBehaviourSingleton <GachaManager> .I.gachaResult.reward[num].itemId);

            if (questItem == null)
            {
                GameSection.StopEvent();
            }
            else
            {
                QuestSortData questSortData = new QuestSortData();
                questSortData.SetItem(questItem);
                GameSection.SetEventData(questSortData);
            }
        }
    }
Пример #2
0
    protected IEnumerator _Initialize()
    {
        questInfo = (GameSection.GetEventData() as QuestInfoData);
        if (questInfo.questData.tableData.questType == QUEST_TYPE.ORDER)
        {
            QuestItemInfo item = MonoBehaviourSingleton <InventoryManager> .I.GetQuestItem(questInfo.questData.tableData.questID);

            if (item != null)
            {
                GameSaveData.instance.RemoveNewIconAndSave(ITEM_ICON_TYPE.QUEST_ITEM, item.uniqueID);
            }
        }
        LoadingQueue load_queue = new LoadingQueue(this);

        if (questInfo != null)
        {
            EnemyTable.EnemyData enemy_data = Singleton <EnemyTable> .I.GetEnemyData((uint)questInfo.questData.tableData.GetMainEnemyID());

            if (enemy_data != null)
            {
                EnemyLoader.CacheUIElementEffect(load_queue, enemy_data.element);
            }
        }
        load_queue.CacheEffect(RESOURCE_CATEGORY.EFFECT_UI, "ef_ui_questselect_new");
        load_queue.CacheEffect(RESOURCE_CATEGORY.EFFECT_UI, "ef_ui_questselect_complete");
        if (load_queue.IsLoading())
        {
            yield return((object)load_queue.Wait());
        }
    }
    public void SetList()
    {
        if (firstSetList)
        {
            firstSetList = false;
            OnceInventoryModel.Param inventory = MonoBehaviourSingleton <OnceManager> .I.result.inventory;
            equipItemInventory = EquipItemInfo.CreateList(inventory.equipItem);
            MonoBehaviourSingleton <GameSceneManager> .I.SetNotify(GameSection.NOTIFY_FLAG.UPDATE_EQUIP_INVENTORY);

            skillItemInventory = SkillItemInfo.CreateList(inventory.skillItem);
            MonoBehaviourSingleton <GameSceneManager> .I.SetNotify(GameSection.NOTIFY_FLAG.UPDATE_SKILL_INVENTORY);

            skillMaterialInventory = SkillItemInfo.CreateListFromItem(inventory.item);
            abilityItemInventory   = AbilityItemInfo.CreateList(inventory.abilityItem);
            inGameTempItemInventory.Clear();
            equipItemFilterList.Clear();
            itemInventory        = ItemInfo.CreateList(inventory.item);
            abilityItemInventory = InventoryList <AbilityItemInfo, AbilityItem> .CreateList(inventory.abilityItem);

            SetExpiredAtList(inventory.expiredItem);
            MonoBehaviourSingleton <GameSceneManager> .I.SetNotify(GameSection.NOTIFY_FLAG.UPDATE_ITEM_INVENTORY);

            questItemInventory = QuestItemInfo.CreateList(inventory.questItem);
            MonoBehaviourSingleton <GameSceneManager> .I.SetNotify(GameSection.NOTIFY_FLAG.UPDATE_QUEST_ITEM_INVENTORY);

            MonoBehaviourSingleton <QuestManager> .I.needRequestOrderQuestList = true;
        }
    }
Пример #4
0
    public override void UpdateUI()
    {
        base.UpdateUI();
        QuestItemInfo questItem = MonoBehaviourSingleton <InventoryManager> .I.GetQuestItem(questInfo.questData.tableData.questID);

        SetActive((Enum)UI.OBJ_REWARD_ICON_ROOT, false);
        if (questItem != null && questItem.sellItems != null && questItem.sellItems.Count > 0)
        {
            int         num   = 0;
            int         count = questItem.sellItems.Count;
            REWARD_TYPE type;
            uint        num2;
            while (true)
            {
                if (num >= count)
                {
                    return;
                }
                QuestItem.SellItem sellItem = questItem.sellItems[num];
                type = (REWARD_TYPE)sellItem.type;
                num2 = (materialId = (uint)sellItem.itemId);
                if (sellItem.num <= 0)
                {
                    break;
                }
                int num3 = -1;
                SetActive((Enum)UI.OBJ_REWARD_ICON_ROOT, true);
                ItemIcon itemIcon = ItemIcon.CreateRewardItemIcon(type, num2, FindCtrl(root, UI.OBJ_MATERIAL_ICON_ROOT), num3, "EQUIP_LIST", 0, false, -1, false, null, false, true, ItemIcon.QUEST_ICON_SIZE_TYPE.DEFAULT);
                num++;
            }
            Log.Error(LOG.OUTGAME, "QuestItem sold get item num is zero. type={0},itemId={1}", type, num2);
        }
    }
    public override void UpdateUI()
    {
        SetLabelText((Enum)UI.LBL_TITLE_U, base.sectionData.GetText("TITLE"));
        SetLabelText((Enum)UI.LBL_TITLE_D, base.sectionData.GetText("TITLE"));
        int           num       = 0;
        int           num2      = 0;
        QuestItemInfo item_info = itemData.GetItemData() as QuestItemInfo;

        SetGrid(UI.GRD_ICON, string.Empty, 1, false, delegate(int i, Transform t, bool is_recycle)
        {
            uint num3 = 0u;
            EquipItemExceedTable.EquipItemExceedData equipItemExceedData = Singleton <EquipItemExceedTable> .I.GetEquipItemExceedData(item_info.infoData.questData.tableData.rarity, item_info.infoData.questData.tableData.getType, item_info.infoData.questData.tableData.eventId);
            if (equipItemExceedData != null)
            {
                num3 = equipItemExceedData.exchangeItemId;
            }
            REWARD_TYPE rEWARD_TYPE = REWARD_TYPE.ITEM;
            ItemIcon itemIcon       = ItemIcon.CreateRewardItemIcon(rEWARD_TYPE, num3, t, sellNum, null, 0, false, -1, false, null, false, false, ItemIcon.QUEST_ICON_SIZE_TYPE.DEFAULT);
            SetMaterialInfo(itemIcon.transform, rEWARD_TYPE, num3, null);
            itemIcon.SetRewardBG(true);
        });
        SetLabelText((Enum)UI.LBL_GOLD, num.ToString());
        SetLabelText((Enum)UI.LBL_EXP, num2.ToString());
        SetLabelText((Enum)UI.LBL_SELL, string.Format(base.sectionData.GetText("STR_SELL"), itemData.GetName(), sellNum));
    }
 public virtual bool IsMatchLevel(QuestItemInfo item)
 {
     QuestTable.QuestTableData tableData = item.infoData.questData.tableData;
     if (enemyLevelMin <= tableData.GetMainEnemyLv() && tableData.GetMainEnemyLv() <= enemyLevelMax)
     {
         return(true);
     }
     return(false);
 }
 public override bool IsMatchLevel(QuestItemInfo item)
 {
     QuestTable.QuestTableData tableData = item.infoData.questData.tableData;
     if (enemyLevel == tableData.GetMainEnemyLv())
     {
         return(true);
     }
     return(false);
 }
 public bool IsMatchRarity(QuestItemInfo item)
 {
     for (int i = 0; i < rarityButton.Length; i++)
     {
         int num = i;
         if ((rarityBit & (1 << num)) > 0 && item.infoData.questData.tableData.rarity == (RARITY_TYPE)num)
         {
             return(true);
         }
     }
     return(false);
 }
Пример #9
0
    public override void OnNotify(NOTIFY_FLAG flags)
    {
        if ((flags & NOTIFY_FLAG.UPDATE_QUEST_ITEM_INVENTORY) != (NOTIFY_FLAG)0L)
        {
            QuestItemInfo questItem = MonoBehaviourSingleton <InventoryManager> .I.GetQuestItem(data.GetTableID());

            if (questItem != null && questItem.infoData != null && questItem.infoData.questData.num > 0)
            {
                data = new QuestSortData();
                data.SetItem(questItem);
            }
        }
        base.OnNotify(flags);
    }
Пример #10
0
    public static int GetQuestNum(QuestTableData q)
    {
        if (q.questType != QUEST_TYPE.ORDER)
        {
            return(-1);
        }
        QuestItemInfo questItem = MonoBehaviourSingleton <InventoryManager> .I.GetQuestItem(q.questID);

        if (questItem == null)
        {
            return(0);
        }
        return(GetQuestNum(questItem));
    }
        public bool IsMatchElement(QuestItemInfo item)
        {
            QuestTable.QuestTableData tableData = item.infoData.questData.tableData;
            EnemyTable.EnemyData      enemyData = Singleton <EnemyTable> .I.GetEnemyData((uint)tableData.GetMainEnemyID());

            for (int i = 0; i < elementButton.Length; i++)
            {
                int num = i;
                if ((elementBit & (1 << num)) > 0 && enemyData.element == (ELEMENT_TYPE)num)
                {
                    return(true);
                }
            }
            return(false);
        }
    public override void UpdateUI()
    {
        QuestSortData questSortData = data as QuestSortData;

        if (questSortData != null)
        {
            QuestItemInfo questItem = MonoBehaviourSingleton <InventoryManager> .I.GetQuestItem(data.GetTableID());

            if (questItem != null)
            {
                base.UpdateUI();
                SetActive((Enum)UI.OBJ_MONEY_ROOT, false);
            }
        }
    }
        public bool IsMatchEnemySpecies(QuestItemInfo item)
        {
            int enemySpeciesId = GetEnemySpeciesId(targetEnemySpeciesName);

            if (enemySpeciesId > 0)
            {
                EnemyTable.EnemyData enemyData = Singleton <EnemyTable> .I.GetEnemyData((uint)item.infoData.questData.tableData.GetMainEnemyID());

                if (enemyData.enemySpecies == enemySpeciesId)
                {
                    return(true);
                }
                return(false);
            }
            return(true);
        }
Пример #14
0
    public static int GetQuestNum(QuestItemInfo quest_item)
    {
        int num  = quest_item.infoData.questData.num;
        int num2 = 0;

        if (MonoBehaviourSingleton <UserInfoManager> .I.isGuildRequestOpen)
        {
            uint questId = quest_item.infoData.questData.tableData.questID;
            num2 = (from g in MonoBehaviourSingleton <GuildRequestManager> .I.guildRequestData.guildRequestItemList
                    where g.questId == (int)questId
                    select g).Count();
        }
        int num3 = num - num2;

        return(Mathf.Max(num3, 0));
    }
 private void GetRemainingTimeAndExpiredNum(QuestItemInfo questItemInfo, out float remainTime, out int expiredNum)
 {
     remainTime = 0f;
     expiredNum = 0;
     for (int i = 0; i < questItemInfo.remainTimes.Count; i++)
     {
         float num = questItemInfo.remainTimes[i] - remainingTime;
         if (remainTime < num)
         {
             remainTime = num;
         }
         if (num <= 0f)
         {
             expiredNum++;
         }
     }
 }
Пример #16
0
    public static int SetDropData(List <SortCompareData> drop_ary, int start_ary_index, List <QuestCompleteReward.QuestItem> drop_data, REWARD_CATEGORY category = REWARD_CATEGORY.DROP)
    {
        int num = start_ary_index;

        QuestCompleteReward.QuestItem[] ary = drop_data.ToArray();
        int i = 0;

        for (int num2 = ary.Length; i < num2; i++)
        {
            SortCompareData sortCompareData = null;
            if (num > 0 && category != REWARD_CATEGORY.BREAK)
            {
                sortCompareData = drop_ary.Find((SortCompareData _data) => _data != null && _data.GetTableID() == (uint)ary[i].questId && _data is QuestSortData);
            }
            if (sortCompareData == null)
            {
                QuestItemInfo item = new QuestItemInfo();
                item.tableID = (uint)ary[i].questId;
                QuestData quest_list = new QuestData();
                item.infoData = new QuestInfoData(Singleton <QuestTable> .I.GetQuestData(item.tableID), quest_list, null);
                item.infoData.questData.num = ary[i].num;
                if (MonoBehaviourSingleton <InventoryManager> .I.IsHaveingItem(item.tableID))
                {
                    MonoBehaviourSingleton <InventoryManager> .I.ForAllItemInventory(delegate(ItemInfo inventory_item)
                    {
                        if (inventory_item.tableID == item.tableID && inventory_item.num == item.infoData.questData.num)
                        {
                            item.uniqueID = inventory_item.uniqueID;
                        }
                    });
                }
                QuestSortData questSortData = new QuestSortData();
                questSortData.SetItem(item);
                questSortData.SetCategory(category);
                drop_ary.Add(questSortData);
                num++;
            }
            else
            {
                QuestSortData questSortData2 = sortCompareData as QuestSortData;
                questSortData2.itemData.infoData.questData.num += ary[i].num;
            }
        }
        return(num);
    }
    public QuestItemInfo GetQuestItem(uint quest_id)
    {
        if (quest_id == 0)
        {
            return(null);
        }
        QuestItemInfo result = null;

        for (LinkedListNode <QuestItemInfo> linkedListNode = questItemInventory.GetFirstNode(); linkedListNode != null; linkedListNode = linkedListNode.Next)
        {
            if (linkedListNode.Value.infoData.questData.tableData.questID == quest_id && linkedListNode.Value.infoData.questData.num > 0)
            {
                result = linkedListNode.Value;
                break;
            }
        }
        return(result);
    }
Пример #18
0
    public override void Initialize()
    {
        //IL_0069: Unknown result type (might be due to invalid IL or missing references)
        //IL_006e: Unknown result type (might be due to invalid IL or missing references)
        //IL_0087: Unknown result type (might be due to invalid IL or missing references)
        data = (GameSection.GetEventData() as QuestSortData);
        QuestItemInfo questItemInfo = data.GetItemData() as QuestItemInfo;

        GameSaveData.instance.RemoveNewIconAndSave(ITEM_ICON_TYPE.QUEST_ITEM, data.GetUniqID());
        GameSection.SetEventData(questItemInfo.infoData);
        isGachaResult = MonoBehaviourSingleton <GameSceneManager> .I.GetCurrentSceneName().Contains("Gacha");

        if (isGachaResult)
        {
            backupAmbientLight = RenderSettings.get_ambientLight();
            RenderSettings.set_ambientLight(Utility.MakeColorByInt(201, 210, 226, 255));
        }
        base.Initialize();
    }
    private void UpdateRecommendQuestPriority(QuestTable.QuestTableData[] quest_table, QuestTable.QuestTableData _table, bool is_order, out bool find_unknown_quest)
    {
        find_unknown_quest = false;
        if (!is_order && !IsOpenedQuest(_table))
        {
            find_unknown_quest = true;
        }
        else
        {
            if (is_order)
            {
                QuestItemInfo questItem = MonoBehaviourSingleton <InventoryManager> .I.GetQuestItem(_table.questID);

                if (questItem == null)
                {
                    return;
                }
                int questNum = QuestTable.GetQuestNum(questItem);
                if (questNum <= 0)
                {
                    return;
                }
            }
            for (int i = 0; i < 2; i++)
            {
                if (quest_table[i] == null)
                {
                    quest_table[i] = _table;
                    if (i != 0)
                    {
                        SortRecommendQuest(quest_table, _table, is_order);
                    }
                    return;
                }
            }
            int num = 1;
            if (IsSelectPriorityQuestInfo(quest_table[num], _table))
            {
                SortRecommendQuest(quest_table, _table, is_order);
            }
        }
    }
    private bool IsSetQuestItemInfoByOrderQuest(QuestItemInfo questItemInfo)
    {
        bool             isMatch        = false;
        List <QuestData> orderQuestList = MonoBehaviourSingleton <QuestManager> .I.orderQuestList;

        if (orderQuestList == null || orderQuestList.Count <= 0)
        {
            return(false);
        }
        orderQuestList.ForEach(delegate(QuestData orderQuest)
        {
            if (orderQuest.questId == questItemInfo.infoData.questData.tableData.questID)
            {
                isMatch = true;
                questItemInfo.remainTimes            = orderQuest.remainTimes;
                questItemInfo.infoData.questData.num = orderQuest.order.num;
            }
        });
        return(isMatch);
    }
Пример #21
0
        public QuestItemInfoGump(QuestItemInfo[] info) : base(485, 75)
        {
            int height = 100 + info.Length * 75;

            AddPage(0);

            AddBackground(5, 10, 145, height, 5054);

            AddImageTiled(13, 20, 125, 10, 2624);
            AddAlphaRegion(13, 20, 125, 10);

            AddImageTiled(13, height - 10, 128, 10, 2624);
            AddAlphaRegion(13, height - 10, 128, 10);

            AddImageTiled(13, 20, 10, height - 30, 2624);
            AddAlphaRegion(13, 20, 10, height - 30);

            AddImageTiled(131, 20, 10, height - 30, 2624);
            AddAlphaRegion(131, 20, 10, height - 30);

            AddHtmlLocalized(67, 35, 120, 20, 1011233, White); // INFO

            AddImage(62, 52, 9157);
            AddImage(72, 52, 9157);
            AddImage(82, 52, 9157);

            AddButton(25, 31, 1209, 1210, 777);

            AddPage(1);

            for (int i = 0; i < info.Length; ++i)
            {
                QuestItemInfo cur = info[i];

                AddHtmlObject(25, 65 + i * 75, 110, 20, cur.Name, 1153, false, false);
                AddItem(45, 85 + i * 75, cur.ItemID);
            }
        }
    private bool IsNewItemQuestEnemySpecies(QuestItemInfo questItem)
    {
        bool result = true;

        if (questItem == null)
        {
            return(result);
        }
        QuestInfoData infoData = questItem.infoData;

        if (infoData == null)
        {
            return(result);
        }
        QuestInfoData.Quest questData = infoData.questData;
        if (questData == null)
        {
            return(result);
        }
        QuestTable.QuestTableData tableData = questData.tableData;
        if (tableData == null)
        {
            return(result);
        }
        ClearStatusQuestEnemySpecies clearStatusQuestEnemySpecies = MonoBehaviourSingleton <QuestManager> .I.GetClearStatusQuestEnemySpecies(tableData.questID);

        if (clearStatusQuestEnemySpecies == null)
        {
            return(result);
        }
        if (clearStatusQuestEnemySpecies.questStatus != 1)
        {
            result = false;
        }
        return(result);
    }
Пример #23
0
    public override void UpdateUI()
    {
        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
        };
        QuestInfoData info      = questInfo;
        QUEST_TYPE    questType = info.questData.tableData.questType;
        int           num       = 0;

        SetFontStyle((Enum)UI.STR_MISSION, 2);
        SetFontStyle((Enum)UI.STR_TREASURE, 2);
        SetFontStyle((Enum)UI.STR_SELL, 2);
        string text = null;

        switch (questType)
        {
        default:
            text = "STR_QUEST_TYPE_NORMAL";
            break;

        case QUEST_TYPE.ORDER:
            text = "STR_QUEST_TYPE_ORDER";
            break;

        case QUEST_TYPE.EVENT:
            text = "STR_QUEST_TYPE_EVENT";
            break;

        case QUEST_TYPE.STORY:
            text = "STR_QUEST_TYPE_STORY";
            break;
        }
        SetText((Enum)UI.LBL_QUEST_TYPE, text);
        SetLabelText((Enum)UI.LBL_QUEST_NUM, string.Format(base.sectionData.GetText("QUEST_NUMBER"), info.questData.tableData.locationNumber, info.questData.tableData.questNumber));
        SetLabelText((Enum)UI.LBL_QUEST_NAME, info.questData.tableData.questText);
        int num2 = (int)info.questData.tableData.limitTime;

        SetLabelText((Enum)UI.LBL_LIMIT_TIME, $"{num2 / 60:D2}:{num2 % 60:D2}");
        SetActive((Enum)UI.LBL_GUILD_REQUEST_NEED_POINT, false);
        SetActive((Enum)UI.STR_MISSION_EMPTY, false);
        if (!info.isExistMission)
        {
            SetActive((Enum)UI.OBJ_MISSION_INFO_ROOT, false);
        }
        else
        {
            SetActive((Enum)UI.OBJ_MISSION_INFO_ROOT, true);
            int i = 0;
            for (int num3 = info.missionData.Length; i < num3; i++)
            {
                SetActive((Enum)array[i], info.missionData[i] != null);
                SetActive((Enum)array2[i], info.missionData[i] != null);
                if (info.missionData[i] != null)
                {
                    SetActive((Enum)array4[i], info.missionData[i].state >= CLEAR_STATUS.CLEAR);
                    SetActive((Enum)array5[i], info.missionData[i].state >= CLEAR_STATUS.CLEAR);
                    SetLabelText((Enum)array3[i], info.missionData[i].tableData.missionText);
                }
            }
        }
        if (questType == QUEST_TYPE.ORDER)
        {
            SetActive((Enum)UI.OBJ_SELL_ITEM, true);
            QuestItemInfo quest_item = MonoBehaviourSingleton <InventoryManager> .I.GetQuestItem(info.questData.tableData.questID);

            if (quest_item != null && quest_item.sellItems != null && quest_item.sellItems.Count > 0)
            {
                SetGrid(UI.GRD_REWARD_SELL, string.Empty, quest_item.sellItems.Count, false, delegate(int i_2, Transform t_2, bool is_recycle_2)
                {
                    QuestItem.SellItem sellItem = quest_item.sellItems[i_2];
                    REWARD_TYPE type2           = (REWARD_TYPE)sellItem.type;
                    uint itemId = (uint)sellItem.itemId;
                    if (sellItem.num <= 0)
                    {
                        Log.Error(LOG.OUTGAME, "QuestItem sold get item num is zero. type={0},itemId={1}", type2, itemId);
                    }
                    else
                    {
                        int num4           = -1;
                        ItemIcon itemIcon4 = ItemIcon.CreateRewardItemIcon(type2, itemId, t_2, num4, null, 0, false, -1, false, null, false, false, ItemIcon.QUEST_ICON_SIZE_TYPE.DEFAULT);
                        SetMaterialInfo(itemIcon4.transform, type2, itemId, null);
                    }
                });
            }
            SetActive((Enum)UI.OBJ_TOP_CROWN_ROOT, false);
        }
        SetActive((Enum)UI.OBJ_TREASURE, true);
        SetGrid(UI.GRD_REWARD_QUEST, string.Empty, 5, false, delegate(int i_2, Transform t_2, bool is_recycle_2)
        {
            if (info.questData.reward != null && info.questData.reward.Length > i_2)
            {
                REWARD_TYPE type   = (REWARD_TYPE)info.questData.reward[i_2].type;
                uint id            = (uint)info.questData.reward[i_2].id;
                ItemIcon itemIcon3 = ItemIcon.CreateRewardItemIcon(type, id, t_2, -1, null, 0, false, -1, false, null, false, false, ItemIcon.QUEST_ICON_SIZE_TYPE.DEFAULT);
                SetMaterialInfo(itemIcon3.transform, type, id, null);
            }
        });
        EnemyTable.EnemyData enemyData = Singleton <EnemyTable> .I.GetEnemyData((uint)info.questData.tableData.GetMainEnemyID());

        if (enemyData != null)
        {
            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, GetCtrl(UI.OBJ_ENEMY), enemyData.element, null, -1, null, 0, false, -1, false, null, false, 0, 0, false, GET_TYPE.PAY);
            itemIcon.SetEnableCollider(false);
            ItemIcon itemIcon2 = ItemIcon.Create(ITEM_ICON_TYPE.QUEST_ITEM, iconId, rarity, GetCtrl(UI.OBJ_ENEMY), enemyData.element, null, -1, null, 0, false, -1, false, null, false, 0, 0, false, GET_TYPE.PAY);
            itemIcon2.SetEnableCollider(false);
        }
        SetActive((Enum)UI.SPR_ELEMENT_ROOT, false);
        if (enemyData != null)
        {
            SetActive((Enum)UI.SPR_ELEMENT_ROOT_2, true);
            SetElementSprite((Enum)UI.SPR_ELEMENT_2, (int)enemyData.element);
            SetActive((Enum)UI.STR_NON_ELEMENT_2, enemyData.element == ELEMENT_TYPE.MAX);
            SetElementSprite((Enum)UI.SPR_WEAK_ELEMENT_2, (int)enemyData.weakElement);
            SetActive((Enum)UI.STR_NON_WEAK_ELEMENT_2, enemyData.weakElement == ELEMENT_TYPE.MAX);
        }
        else
        {
            SetActive((Enum)UI.SPR_ELEMENT_ROOT_2, false);
            SetActive((Enum)UI.STR_NON_WEAK_ELEMENT_2, false);
        }
        ShowInfo(questType, isShowDropInfo);
        SetActive((Enum)UI.TWN_DIFFICULT_STAR, false);
        num = (MonoBehaviourSingleton <QuestManager> .I.GetClearStatusQuestEnemySpecies(info.questData.tableData.questID)?.questStatus ?? 1);
        SetClearStatus((CLEAR_STATUS)num);
        if (!MonoBehaviourSingleton <UserInfoManager> .I.isGuildRequestOpen)
        {
            SetActive((Enum)UI.BTN_GUILD_REQUEST, false);
        }
    }
    private void UpdateGirdListItemQuest(int i, Transform t, bool is_recycle)
    {
        //IL_0427: Unknown result type (might be due to invalid IL or missing references)
        //IL_044c: Unknown result type (might be due to invalid IL or missing references)
        List <GameSectionHistory.HistoryData> historyList = MonoBehaviourSingleton <GameSceneManager> .I.GetHistoryList();

        bool flag = historyList.Any((GameSectionHistory.HistoryData h) => h.sectionName.StartsWith("GuildRequest"));

        SetActive(t, true);
        SetEvent(t, "SELECT_ORDER", i);
        QuestSortData questSortData = questGridDatas[i].questSortData;
        UIScrollView  component     = GetCtrl(UI.SCR_ORDER_QUEST).GetComponent <UIScrollView>();
        QuestInfoData info          = questSortData.itemData.infoData;

        if (flag)
        {
            SetActive(t, UI.TWN_DIFFICULT_STAR, false);
            SetActive(t, UI.TXT_NEED_POINT, true);
            string text = string.Format(StringTable.Get(STRING_CATEGORY.GUILD_REQUEST, 6u), MonoBehaviourSingleton <GuildRequestManager> .I.GetNeedPoint(info.questData.tableData.rarity), MonoBehaviourSingleton <GuildRequestManager> .I.GetNeedTimeWithFormat(info.questData.tableData.rarity));
            SetLabelText(t, UI.TXT_NEED_POINT, text);
        }
        else
        {
            SetActive(t, UI.TWN_DIFFICULT_STAR, false);
            SetActive(t, UI.TXT_NEED_POINT, false);
        }
        EnemyTable.EnemyData enemyData = Singleton <EnemyTable> .I.GetEnemyData((uint)info.questData.tableData.GetMainEnemyID());

        QuestSortData questSortData2 = questSortData;
        ItemIcon      icon           = ItemIcon.Create(questSortData2.GetIconType(), questSortData2.GetIconID(), questSortData2.GetRarity(), FindCtrl(t, UI.OBJ_ENEMY), questSortData2.GetIconElement(), null, -1, null, 0, false, -1, false, null, false, 0, 0, false, GET_TYPE.PAY);

        icon.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);
        SetLabelText(t, UI.LBL_QUEST_NAME, info.questData.tableData.questText);
        int num = 1;
        ClearStatusQuestEnemySpecies clearStatusQuestEnemySpecies = MonoBehaviourSingleton <QuestManager> .I.GetClearStatusQuestEnemySpecies(info.questData.tableData.questID);

        if (clearStatusQuestEnemySpecies != null)
        {
            num = clearStatusQuestEnemySpecies.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);
        CLEAR_STATUS cLEAR_STATUS = (CLEAR_STATUS)num;

        if (cLEAR_STATUS != CLEAR_STATUS.NEW)
        {
            SetToggle(t, UI.OBJ_ICON_NEW, false);
            SetToggle(t, UI.OBJ_ICON_CLEARED, false);
            SetToggle(t, UI.OBJ_ICON_COMPLETE, false);
            SetActive(t, UI.OBJ_ICON_ROOT, false);
            SetVisibleWidgetEffect(UI.SCR_ORDER_QUEST, t, UI.SPR_ICON_NEW, null);
            SetVisibleWidgetEffect(UI.SCR_ORDER_QUEST, t, UI.SPR_ICON_COMPLETE, null);
        }
        else
        {
            SetActive(t, UI.OBJ_ICON_ROOT, true);
            SetToggle(t, UI.OBJ_ICON_NEW, true);
            SetVisibleWidgetEffect(UI.SCR_ORDER_QUEST, t, UI.SPR_ICON_COMPLETE, null);
            SetVisibleWidgetEffect(UI.SCR_ORDER_QUEST, t, UI.SPR_ICON_NEW, "ef_ui_questselect_new");
        }
        int num2 = info.questData.num;
        int num3 = 0;

        if (MonoBehaviourSingleton <UserInfoManager> .I.isGuildRequestOpen)
        {
            num3 = (from g in MonoBehaviourSingleton <GuildRequestManager> .I.guildRequestData.guildRequestItemList
                    where g.questId == (int)info.questData.tableData.questID
                    select g).Count();
        }
        int num4 = num2 - num3;

        SetLabelText(t, UI.LBL_ORDER_NUM, num4.ToString());
        if (num4 <= 0)
        {
            t.GetComponent <UIButton>().isEnabled = false;
        }
        Transform val = FindCtrl(t, UI.OBJ_FRAME);

        if (val != null)
        {
            UIPanel uiPanel = val.get_gameObject().GetComponent <UIPanel>();
            if (uiPanel == null)
            {
                uiPanel       = val.get_gameObject().AddComponent <UIPanel>();
                uiPanel.depth = component.panel.depth + 1;
            }
            uiPanel.widgetsAreStatic = false;
            if (isScrollViewReady)
            {
                PanelToStatic(icon, uiPanel);
            }
            else
            {
                onScrollViewReady = (Action)Delegate.Combine(onScrollViewReady, (Action) delegate
                {
                    PanelToStatic(icon, uiPanel);
                });
            }
        }
        QuestItemInfo itemData   = questSortData.itemData;
        bool          is_visible = false;

        foreach (float remainTime in itemData.remainTimes)
        {
            float num5 = remainTime;
            if (num5 < SHOW_QUEST_REMAIN_LIMIT_SECOND)
            {
                is_visible = true;
                break;
            }
        }
        SetLabelText(t, UI.LBL_REMAIN, StringTable.Get(STRING_CATEGORY.GATE_QUEST_NAME, 1u));
        SetActive(t, UI.LBL_REMAIN, is_visible);
    }
Пример #25
0
 public override void SetItem(object item)
 {
     itemData     = (QuestItemInfo)item;
     enemyModelID = Singleton <EnemyTable> .I.GetEnemyData((uint)GetMainEnemyID()).modelId;
 }
    public override void UpdateUI()
    {
        bool flag = MonoBehaviourSingleton <GachaManager> .I.selectGacha.num == 1;

        SetActive((Enum)UI.OBJ_SINGLE_ROOT, flag);
        SetActive((Enum)UI.OBJ_MULTI_ROOT, !flag);
        SetActive((Enum)UI.OBJ_BG_SINGLE, flag);
        SetActive((Enum)UI.OBJ_BG_MULTI, !flag);
        if (flag)
        {
            string text     = string.Empty;
            int    star_num = 0;
            GachaResult.GachaReward   gachaReward = MonoBehaviourSingleton <GachaManager> .I.gachaResult.reward[0];
            QuestTable.QuestTableData questData   = Singleton <QuestTable> .I.GetQuestData((uint)gachaReward.itemId);

            if (questData != null)
            {
                text     = questData.questText;
                star_num = (int)questData.difficulty;
            }
            SetLabelText((Enum)UI.LBL_NAME, text);
            RARITY_TYPE[] array = (RARITY_TYPE[])Enum.GetValues(typeof(RARITY_TYPE));
            int           i     = 0;
            for (int num = array.Length; i < num; i++)
            {
                SetActive((Enum)rarityAnimRoot[i], questData.rarity == array[i]);
            }
            SetGachaQuestDifficulty(UI.OBJ_DIFFICULTY_ROOT, star_num);
            ResetTween((Enum)UI.OBJ_DIFFICULTY_ROOT, 0);
            ResetTween((Enum)rarityAnimRoot[(int)questData.rarity], 0);
            ResetTween((Enum)UI.OBJ_RARITY_TEXT_ROOT, 0);
            if (questData.rarity <= RARITY_TYPE.C)
            {
                ResetTween((Enum)UI.OBJ_RARITY_LIGHT, 0);
                PlayTween((Enum)UI.OBJ_RARITY_LIGHT, true, (EventDelegate.Callback)null, false, 0);
            }
            PlayTween((Enum)UI.OBJ_RARITY_TEXT_ROOT, true, (EventDelegate.Callback)null, false, 0);
            PlayTween((Enum)rarityAnimRoot[(int)questData.rarity], true, (EventDelegate.Callback) delegate
            {
                PlayTween((Enum)UI.OBJ_DIFFICULTY_ROOT, true, (EventDelegate.Callback)null, false, 0);
            }, false, 0);
            QuestGachaDirectorBase questGachaDirectorBase = AnimationDirector.I as QuestGachaDirectorBase;
            if (questGachaDirectorBase != null)
            {
                questGachaDirectorBase.PlayRarityAudio(questData.rarity, true);
                questGachaDirectorBase.PlayUIRarityEffect(questData.rarity, GetCtrl(UI.OBJ_RARITY_ROOT), GetCtrl(rarityAnimRoot[(int)questData.rarity]));
            }
        }
        else
        {
            int index = 0;
            MonoBehaviourSingleton <GachaManager> .I.gachaResult.reward.ForEach(delegate(GachaResult.GachaReward reward)
            {
                bool flag2 = false;
                int num3   = 0;
                QuestItemInfo questItem = MonoBehaviourSingleton <InventoryManager> .I.GetQuestItem((uint)reward.itemId);
                if (questItem != null)
                {
                    flag2 = GameSaveData.instance.IsNewItem(ITEM_ICON_TYPE.QUEST_ITEM, questItem.uniqueID);
                    flag2 = IsNewItemQuestEnemySpecies(questItem);
                    num3  = questItem.infoData.questData.tableData.GetMainEnemyLv();
                }
                bool is_new       = flag2;
                ItemIcon itemIcon = ItemIcon.CreateRewardItemIcon(REWARD_TYPE.QUEST_ITEM, (uint)reward.itemId, GetCtrl(iconRootAry[index]), -1, null, 0, is_new, -1, false, null, false, false, ItemIcon.QUEST_ICON_SIZE_TYPE.DEFAULT);
                itemIcon.SetEnableCollider(false);
                string text2 = string.Empty;
                if (num3 > 0)
                {
                    text2 = string.Format(StringTable.Get(STRING_CATEGORY.MAIN_STATUS, 1u), num3.ToString());
                }
                SetLabelText(GetCtrl(iconRootAry[index]), iconLevelAry[index], text2);
                SetEvent(GetCtrl(iconRootAry[index]), "QUEST_DETAIL", index);
                index++;
            });
        }
        int num2 = MonoBehaviourSingleton <UserInfoManager> .I.userStatus.crystal;

        if (MonoBehaviourSingleton <GachaManager> .I.selectGacha.requiredItemId > 0)
        {
            ItemTable.ItemData itemData = Singleton <ItemTable> .I.GetItemData((uint)MonoBehaviourSingleton <GachaManager> .I.selectGacha.requiredItemId);

            UITexture[] array2 = new UITexture[3]
            {
                FindCtrl(FindCtrl(footerRoot, UI.OBJ_GACHA_DISABLE_ROOT), UI.TEX_TICKET).GetComponent <UITexture>(),
                FindCtrl(FindCtrl(footerRoot, UI.OBJ_GACHA_ENABLE_ROOT), UI.TEX_TICKET).GetComponent <UITexture>(),
                FindCtrl(footerRoot, UI.TEX_TICKET_HAVE).GetComponent <UITexture>()
            };
            UITexture[] array3 = array2;
            foreach (UITexture ui_tex in array3)
            {
                ResourceLoad.LoadItemIconTexture(ui_tex, itemData.iconID);
            }
            num2 = MonoBehaviourSingleton <InventoryManager> .I.GetItemNum((ItemInfo x) => x.tableData.id == itemData.id, 1, false);

            if (MonoBehaviourSingleton <GachaManager> .I.gachaResult.counter >= 0)
            {
                SetActive(footerRoot, UI.GACHATICKETCOUNTERSRESULT, false);
                SetActive(footerRoot, UI.S_COUNTER, false);
                SetActive(footerRoot, UI.S_AVAILABLE, true);
            }
            else if (MonoBehaviourSingleton <GachaManager> .I.gachaResult.counter > 0)
            {
                SetActive(footerRoot, UI.GACHATICKETCOUNTERSRESULT, true);
                SetActive(footerRoot, UI.S_COUNTER, true);
                SetActive(footerRoot, UI.S_AVAILABLE, false);
                SetActive(footerRoot, UI.NUMBER_COUNTER_IMG, true);
                FindCtrl(footerRoot, UI.NUMBER_COUNTER_IMG).GetComponent <UISprite>().spriteName = MonoBehaviourSingleton <GachaManager> .I.gachaResult.counter.ToString();

                FindCtrl(FindCtrl(footerRoot, UI.GACHATICKETCOUNTERSRESULT), UI.COUNTER_PROGRESSBAR_FOREGROUND).GetComponent <UISprite>().fillAmount = (float)(10 - MonoBehaviourSingleton <GachaManager> .I.gachaResult.counter) / 10f;
                SetLabelText(footerRoot, UI.COUNTER_LBL, MonoBehaviourSingleton <GachaManager> .I.gachaResult.counter);
            }
            else
            {
                SetActive(footerRoot, UI.GACHATICKETCOUNTERSRESULT, true);
                SetActive(footerRoot, UI.S_COUNTER, false);
                SetActive(footerRoot, UI.S_AVAILABLE, true);
            }
        }
        SetActive(footerRoot, UI.SPR_CRYSTAL, MonoBehaviourSingleton <GachaManager> .I.selectGacha.requiredItemId == 0);
        SetActive(footerRoot, UI.TEX_TICKET_HAVE, MonoBehaviourSingleton <GachaManager> .I.selectGacha.requiredItemId > 0);
        SetLabelText(footerRoot, UI.LBL_CRYSTAL_NUM, num2.ToString());
        if (MonoBehaviourSingleton <GachaManager> .I.gachaResult.gachaGuaranteeCampaignInfo == null)
        {
            SetGachaButtonActive(!MonoBehaviourSingleton <GachaManager> .I.IsSelectTutorialGacha() && MonoBehaviourSingleton <GachaManager> .I.gachaResult.remainCount != 0);
        }
        else
        {
            SetGachaButtonActive(!MonoBehaviourSingleton <GachaManager> .I.IsSelectTutorialGacha());
        }
    }