protected SkillSlotUIData[] GetSkillSlotData(EquipItemTable.EquipItemData table_data, int exceed_cnt) { if (table_data == null) { return(null); } if (table_data.GetSkillSlot(exceed_cnt) == null) { return(null); } SkillItemTable.SkillSlotData[] skillSlot = table_data.GetSkillSlot(exceed_cnt); SkillSlotUIData[] array = new SkillSlotUIData[skillSlot.Length]; int i = 0; for (int num = skillSlot.Length; i < num; i++) { array[i] = new SkillSlotUIData(); if (skillSlot[i] != null) { array[i].slotData = skillSlot[i]; } else { array[i].slotData = new SkillItemTable.SkillSlotData(0u, skillSlot[i].slotType); } } return(array); }
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); }
protected EquipItemAndSkillData[] GetEquipSetAttachSkillListData(List <CharaInfo.EquipItem> equip_item_data) { EquipItemAndSkillData[] ary = new EquipItemAndSkillData[7]; int weapon_cnt = 0; equip_item_data.ForEach(delegate(CharaInfo.EquipItem data) { EquipItemAndSkillData equipItemAndSkillData = new EquipItemAndSkillData { equipItemInfo = new EquipItemInfo(data) }; int maxSlot = equipItemAndSkillData.equipItemInfo.GetMaxSlot(); SkillSlotUIData[] array = new SkillSlotUIData[maxSlot]; List <int> list = new List <int>(); int j = 0; for (int num = maxSlot; j < num; j++) { array[j] = new SkillSlotUIData(); array[j].slotData = equipItemAndSkillData.equipItemInfo.tableData.GetSkillSlot(data.exceed)[j]; array[j].slotData.skill_id = 0u; array[j].itemData = null; int k = 0; for (int count = data.sIds.Count; k < count; k++) { if (list.IndexOf(k) == -1) { SkillItemTable.SkillItemData skillItemData = Singleton <SkillItemTable> .I.GetSkillItemData((uint)data.sIds[k]); if (skillItemData.type == array[j].slotData.slotType) { int exceed = 0; if (k < data.sExs.Count) { exceed = data.sExs[k]; } array[j].itemData = new SkillItemInfo(j, data.sIds[k], data.sLvs[k], exceed); array[j].slotData.skill_id = (uint)data.sIds[k]; list.Add(k); break; } } } } equipItemAndSkillData.skillSlotUIData = array; int num2 = 0; switch (equipItemAndSkillData.equipItemInfo.tableData.type) { case EQUIPMENT_TYPE.ARMOR: num2 = 3; break; case EQUIPMENT_TYPE.HELM: num2 = 4; break; case EQUIPMENT_TYPE.ARM: num2 = 5; break; case EQUIPMENT_TYPE.LEG: num2 = 6; break; default: num2 = ++weapon_cnt; break; } ary[num2] = equipItemAndSkillData; }); for (int i = 0; i < 7; i++) { if (ary[i] == null) { ary[i] = new EquipItemAndSkillData(); } } return(ary); }