protected SkillSlotUIData[] GetSkillSlotData(EquipItemInfo equip)
    {
        if (equip == null)
        {
            return(null);
        }
        int maxSlot = equip.GetMaxSlot();

        if (maxSlot == 0)
        {
            return(null);
        }
        SkillSlotUIData[] ui_slot_data = new SkillSlotUIData[maxSlot];
        int currentSetNo = MonoBehaviourSingleton <StatusManager> .I.GetCurrentEquipSetNo();

        SkillItemInfo[] skillInventoryClone = MonoBehaviourSingleton <InventoryManager> .I.GetSkillInventoryClone();

        SkillItemInfo[] array = Array.FindAll(skillInventoryClone, (SkillItemInfo skill_item) => skill_item.equipSetSkill.Find((EquipSetSkillData skill) => skill.equipItemUniqId == equip.uniqueID && skill.equipSetNo == currentSetNo) != null);
        if (array != null && array.Length > maxSlot)
        {
            Log.Error("Attach Skill Num is Over Skill Slot Num");
        }
        SkillItemTable.SkillSlotData[] slot_data = equip.tableData.GetSkillSlot(equip.exceed);
        Array.ForEach(array, delegate(SkillItemInfo info)
        {
            if (info != null)
            {
                EquipSetSkillData equipSetSkillData = info.equipSetSkill.Find((EquipSetSkillData x) => x.equipSetNo == currentSetNo);
                if (equipSetSkillData != null)
                {
                    int num2 = equipSetSkillData.equipSlotNo;
                    if (equip.IsExceedSkillSlot(num2))
                    {
                        num2 = equip.GetExceedSkillIndex(equipSetSkillData.equipSlotNo);
                    }
                    ui_slot_data[num2]          = new SkillSlotUIData();
                    ui_slot_data[num2].slotData = new SkillItemTable.SkillSlotData(info.tableData.id, slot_data[num2].slotType);
                    ui_slot_data[num2].itemData = info;
                }
            }
        });
        int i = 0;

        for (int num = ui_slot_data.Length; i < num; i++)
        {
            if (ui_slot_data[i] == null)
            {
                ui_slot_data[i]          = new SkillSlotUIData();
                ui_slot_data[i].slotData = new SkillItemTable.SkillSlotData(0u, equip.tableData.GetSkillSlot(equip.exceed)[i].slotType);
            }
        }
        return(ui_slot_data);
    }