예제 #1
0
 protected override void ChangeSelectItem(EquipItemInfo select_item, EquipItemInfo old_item)
 {
     GameSection.SetEventData(new ChangeEquipData(base.selectEquipSetData.setNo, base.selectEquipSetData.index, select_item));
     if (old_item == null || select_item == null)
     {
         GameSection.ChangeEvent("USER_EQUIP", null);
     }
     else
     {
         bool flag = false;
         for (int i = 0; i < old_item.GetMaxSlot(); i++)
         {
             if (old_item.GetSkillItem(i, MonoBehaviourSingleton <StatusManager> .I.GetCurrentEquipSetNo()) != null)
             {
                 flag = true;
                 break;
             }
         }
         if (flag)
         {
             migrationOldItem    = old_item;
             migrationSelectItem = select_item;
             object eventData = GameSection.GetEventData();
             GameSection.ChangeEvent("MIGRATION_SKILL_CONFIRM", null);
         }
         else
         {
             GameSection.ChangeEvent("USER_EQUIP", null);
         }
     }
 }
예제 #2
0
 protected virtual void ChangeSelectItem(EquipItemInfo select_item, EquipItemInfo old_item)
 {
     GameSection.SetEventData(new ChangeEquipData(selectEquipSetData.setNo, selectEquipSetData.index, select_item));
     if (old_item == null || select_item == null)
     {
         OnQuery_MAIN_MENU_STATUS();
     }
     else
     {
         bool flag = false;
         for (int i = 0; i < old_item.GetMaxSlot(); i++)
         {
             if (old_item.GetSkillItem(i, MonoBehaviourSingleton <StatusManager> .I.GetCurrentEquipSetNo()) != null)
             {
                 flag = true;
                 break;
             }
         }
         if (flag)
         {
             migrationOldItem    = old_item;
             migrationSelectItem = select_item;
             GameSection.ChangeEvent("MIGRATION_SKILL_CONFIRM", null);
         }
         else
         {
             OnQuery_MAIN_MENU_STATUS();
         }
     }
 }
예제 #3
0
    protected virtual void OnQuery_SLOT()
    {
        int num = (int)GameSection.GetEventData();

        selectEquipIndex = num >> 16;
        selectSkillIndex = num % 65536;
        if (lookOnly || selectSkillIndex < 0 || selectEquipIndex < 0)
        {
            GameSection.StopEvent();
        }
        else if (MonoBehaviourSingleton <InventoryManager> .I.skillItemInventory.GetCount() <= 0)
        {
            GameSection.ChangeEvent("NOT_HAVE_SKILL_ITEM", null);
        }
        else
        {
            GameSection.ChangeEvent("ATTACH", null);
            EquipItemInfo equipItemInfo = equipAndSkill[selectEquipIndex].equipItemInfo;
            GameSection.SetEventData(new object[4]
            {
                callSection,
                equipItemInfo.GetSkillItem(selectSkillIndex),
                equipItemInfo,
                selectSkillIndex
            });
        }
    }
예제 #4
0
    protected virtual void OnQuery_StatusMigrationSkillConfirm_YES()
    {
        //IL_0175: Unknown result type (might be due to invalid IL or missing references)
        List <SkillItemInfo>      list  = new List <SkillItemInfo>();
        List <MigrationSkillData> list2 = new List <MigrationSkillData>();

        for (int i = 0; i < migrationOldItem.GetMaxSlot(); i++)
        {
            bool          flag      = false;
            SkillItemInfo skillItem = migrationOldItem.GetSkillItem(i, MonoBehaviourSingleton <StatusManager> .I.GetCurrentEquipSetNo());
            if (skillItem != null)
            {
                for (int j = 0; j < migrationSelectItem.GetMaxSlot(); j++)
                {
                    SkillItemTable.SkillSlotData skillSlotData = migrationSelectItem.tableData.GetSkillSlot(migrationSelectItem.exceed)[j];
                    if (skillSlotData != null && skillSlotData.slotType == skillItem.tableData.type)
                    {
                        int toSlot = j;
                        if (migrationSelectItem.IsExceedSkillSlot(j))
                        {
                            toSlot = migrationSelectItem.GetExceedSkillSlotNo(j);
                        }
                        if (list2.All((MigrationSkillData x) => x.toSlotNo != toSlot))
                        {
                            MigrationSkillData item = new MigrationSkillData(migrationSelectItem.uniqueID, toSlot, skillItem);
                            list2.Add(item);
                            flag = true;
                            break;
                        }
                    }
                }
                if (!flag)
                {
                    list.Add(skillItem);
                }
            }
        }
        migrationSendCount = list2.Count + list.Count;
        GameSection.SetEventData(new ChangeEquipData(selectEquipSetData.setNo, selectEquipSetData.index, migrationSelectItem));
        GameSection.StayEvent();
        this.StartCoroutine(SendReplacementSkill(list2, list));
    }