public void OnQuery_GACHA_DETAIL_MAX_PARAM_FROM_NEWS()
    {
        object[] array = GameSection.GetEventData() as object[];
        uint     num   = (uint)array[0];
        int      num2  = (int)array[1];

        CreateEquipItemTable.CreateEquipItemData[] sortedCreateEquipItemsByPart = Singleton <CreateEquipItemTable> .I.GetSortedCreateEquipItemsByPart(num);

        if (num2 >= sortedCreateEquipItemsByPart.Length || num2 <= -1)
        {
            GameSection.StopEvent();
        }
        else
        {
            CreateEquipItemTable.CreateEquipItemData createEquipItemData = sortedCreateEquipItemsByPart[num2];
            uint equipItemID = createEquipItemData.equipItemID;
            EquipItemTable.EquipItemData equipItemData = Singleton <EquipItemTable> .I.GetEquipItemData(equipItemID);

            GameSection.ChangeEvent("DETAIL_MAX_PARAM", new object[3]
            {
                ItemDetailEquip.CURRENT_SECTION.GACHA_EQUIP_PREVIEW,
                equipItemData,
                num
            });
        }
    }
예제 #2
0
 public override void ResetData()
 {
     selectCreateEquipItemType = SortBase.TYPE.ONE_HAND_SWORD;
     selectEquipData           = null;
     generateTableData         = null;
     createEquipItemTable      = null;
     base.ResetData();
 }
예제 #3
0
    public override void Initialize()
    {
        SmithManager.SmithGrowData smithData = MonoBehaviourSingleton <SmithManager> .I.GetSmithData <SmithManager.SmithGrowData>();

        itemInfo         = smithData.selectEquipData;
        shadowEvolveData = itemInfo.tableData.GetShadowEvolveEquipTable();
        EquipItemTable.EquipItemData rootEquipTable = shadowEvolveData.GetRootEquipTable();
        createData = Singleton <CreateEquipItemTable> .I.GetCreateItemDataByEquipItem(rootEquipTable.id);

        base.Initialize();
    }
예제 #4
0
    private void OnQuery_LOTTERY_LIST()
    {
        CreateEquipItemTable.CreateEquipItemData createEquipItemByPart = Singleton <CreateEquipItemTable> .I.GetCreateEquipItemByPart(materialId, GetCurrentEquipItemData().type);

        if (createEquipItemByPart == null)
        {
            GameSection.StopEvent();
        }
        else
        {
            GameSection.SetEventData(createEquipItemByPart);
        }
    }
예제 #5
0
    public ERR_SMITH_SEND CheckCreateEquipItem(uint create_id)
    {
        CreateEquipItemTable.CreateEquipItemData createEquipItemTableData = Singleton <CreateEquipItemTable> .I.GetCreateEquipItemTableData(create_id);

        if (!MonoBehaviourSingleton <InventoryManager> .I.IsHaveingMaterial(createEquipItemTableData.needMaterial))
        {
            return(ERR_SMITH_SEND.NOT_ENOUGH_MATERIAL);
        }
        if (MonoBehaviourSingleton <UserInfoManager> .I.userStatus.money < (int)createEquipItemTableData.needMoney)
        {
            return(ERR_SMITH_SEND.NOT_ENOUGH_MONEY);
        }
        return(ERR_SMITH_SEND.NONE);
    }
    protected override IEnumerator DoInitialize()
    {
        bool wait = true;

        CreateEquipItemTable.CreateEquipItemData createEquipItemTable = GameSection.GetEventData() as CreateEquipItemTable.CreateEquipItemData;
        MonoBehaviourSingleton <SmithManager> .I.SendGetAbilityListPreGenerate(createEquipItemTable.id, delegate(Error error, List <SmithGetAbilityListForCreateModel.Param> list)
        {
            ((_003CDoInitialize_003Ec__IteratorC5) /*Error near IL_0048: stateMachine*/)._003Cwait_003E__0 = false;
            ((_003CDoInitialize_003Ec__IteratorC5) /*Error near IL_0048: stateMachine*/)._003C_003Ef__this.SetAbilities(list);
        });

        while (wait)
        {
            yield return((object)null);
        }
        InitializeBase();
    }
    public override void UpdateUI()
    {
        base.UpdateUI();
        object[] array      = (object[])GameSection.GetEventData();
        uint     materialID = (uint)array[0];

        CreateEquipItemTable.CreateEquipItemData[] equipItems = Singleton <CreateEquipItemTable> .I.GetSortedCreateEquipItemsByPart(materialID);

        SetTable(UI.TBL_LIST, "GachaEquipItem", equipItems.Length, false, delegate(int i, Transform t, bool b)
        {
            //IL_00d7: Unknown result type (might be due to invalid IL or missing references)
            //IL_00dc: Expected O, but got Unknown
            CreateEquipItemTable.CreateEquipItemData createEquipItemData = equipItems[i];
            uint equipItemID = createEquipItemData.equipItemID;
            EquipItemTable.EquipItemData equipItemData = Singleton <EquipItemTable> .I.GetEquipItemData(equipItemID);
            SetLabelText(t, UI.LBL_NAME, equipItemData.name);
            SetEquipmentTypeIcon(t, UI.SPR_TYPE_ICON, UI.SPR_TYPE_ICON_BG, UI.SPR_TYPE_ICON_RARITY, equipItemData);
            NeedMaterial[] needMaterial = createEquipItemData.needMaterial;
            NeedMaterial needMaterial2  = (needMaterial.Length < 1) ? null : needMaterial[0];
            if (needMaterial2 != null)
            {
                SetItemIcon(needMaterial2.itemID, t, UI.ITEM_ICON_1);
            }
            NeedMaterial needMaterial3 = (needMaterial.Length < 2) ? null : needMaterial[1];
            if (needMaterial3 != null)
            {
                SetItemIcon(needMaterial3.itemID, t, UI.ITEM_ICON_2);
            }
            Coroutine item = this.StartCoroutine(LoadEquipModel(t, UI.TEX_EQUIP_MODEL, equipItemData.id));
            coroutineList.Add(item);
            Transform t2 = FindCtrl(t, UI.BTN_EQUIP_MODEL);
            SetEvent(t2, "DETAIL_MAX_PARAM", new object[3]
            {
                ItemDetailEquip.CURRENT_SECTION.GACHA_EQUIP_PREVIEW,
                equipItemData,
                materialID
            });
        });
    }
예제 #8
0
    public SmithCreateItemInfo[] GetPickupItemAry(SortBase.TYPE item_type = SortBase.TYPE.EQUIP_ALL)
    {
        if (!Singleton <EquipItemTable> .IsValid() || !Singleton <QuestTable> .IsValid())
        {
            return(null);
        }
        List <SmithCreateItemInfo> list      = new List <SmithCreateItemInfo>();
        List <SortData>            sort_data = new List <SortData>();

        pickupTable.ForEach(delegate(CreatePickupItemData pickup_data)
        {
            if ((pickup_data.eventLocationID == 0) ? true : false)
            {
                CreateEquipItemTable.CreateEquipItemData createEquipItemTableData = Singleton <CreateEquipItemTable> .I.GetCreateEquipItemTableData(pickup_data.createTableID);
                if (createEquipItemTableData != null)
                {
                    EquipItemTable.EquipItemData equipItemData = Singleton <EquipItemTable> .I.GetEquipItemData(createEquipItemTableData.equipItemID);
                    if (equipItemData != null)
                    {
                        SmithCreateItemInfo smithCreateItemInfo = new SmithCreateItemInfo(equipItemData, createEquipItemTableData);
                        SortBase.TYPE tYPE = SortBase.TYPE.NONE;
                        switch (smithCreateItemInfo.equipTableData.type)
                        {
                        case EQUIPMENT_TYPE.ARMOR:
                        case EQUIPMENT_TYPE.VISUAL_ARMOR:
                            tYPE = SortBase.TYPE.ARMOR;
                            break;

                        case EQUIPMENT_TYPE.HELM:
                        case EQUIPMENT_TYPE.VISUAL_HELM:
                            tYPE = SortBase.TYPE.HELM;
                            break;

                        case EQUIPMENT_TYPE.ARM:
                        case EQUIPMENT_TYPE.VISUAL_ARM:
                            tYPE = SortBase.TYPE.ARMOR;
                            break;

                        case EQUIPMENT_TYPE.LEG:
                        case EQUIPMENT_TYPE.VISUAL_LEG:
                            tYPE = SortBase.TYPE.LEG;
                            break;

                        case EQUIPMENT_TYPE.ONE_HAND_SWORD:
                            tYPE = SortBase.TYPE.ONE_HAND_SWORD;
                            break;

                        case EQUIPMENT_TYPE.TWO_HAND_SWORD:
                            tYPE = SortBase.TYPE.TWO_HAND_SWORD;
                            break;

                        case EQUIPMENT_TYPE.SPEAR:
                            tYPE = SortBase.TYPE.SPEAR;
                            break;

                        case EQUIPMENT_TYPE.PAIR_SWORDS:
                            tYPE = SortBase.TYPE.PAIR_SWORDS;
                            break;

                        case EQUIPMENT_TYPE.ARROW:
                            tYPE = SortBase.TYPE.ARROW;
                            break;

                        default:
                            tYPE = SortBase.TYPE.NONE;
                            break;
                        }
                        if ((tYPE & item_type) != 0)
                        {
                            bool flag = true;
                            if (!MonoBehaviourSingleton <InventoryManager> .I.IsHaveingKeyMaterial(createEquipItemTableData.needKeyOrder, createEquipItemTableData.needMaterial))
                            {
                                flag = false;
                            }
                            if ((int)createEquipItemTableData.researchLv > MonoBehaviourSingleton <UserInfoManager> .I.userStatus.researchLv)
                            {
                                flag = false;
                            }
                            if (flag)
                            {
                                list.Add(smithCreateItemInfo);
                                sort_data.Add(new SortData(smithCreateItemInfo, (int)pickup_data.id));
                            }
                        }
                    }
                }
            }
        });
        list.Sort((SmithCreateItemInfo l, SmithCreateItemInfo r) => GetSortIndex(sort_data, l) - GetSortIndex(sort_data, r));
        return(list.ToArray());
    }
예제 #9
0
 public SmithCreateItemInfo(EquipItemTable.EquipItemData equip, CreateEquipItemTable.CreateEquipItemData create_data)
 {
     equipTableData       = equip;
     smithCreateTableData = create_data;
 }