public EquipItem Unequip(EquipItem.Part part, int equip_index) { EquipItem item = equip_items[new Tuple <EquipItem.Part, int>(part, equip_index)]; if (null == item) { return(null); } item.equip_index = -1; equip_items[new Tuple <EquipItem.Part, int>(part, equip_index)] = null; stats -= item.main_stat; stats -= item.sub_stat; CalculateStat(); foreach (Skill skill in item.skills) { RemoveSkill(skill.meta.skill_id); } Util.EventSystem.Publish <ItemEquipEvent>(EventID.Item_Unequip, new ItemEquipEvent() { curr_item = item, equip_index = equip_index }); return(item); }
public EquipItem.Meta GetRandomMeta(EquipItem.Part part = EquipItem.Part.Invalid) { List <EquipItem.Meta> metas = item_metas[(int)part]; return(metas[UnityEngine.Random.Range(0, metas.Count)]); }
public EquipItem GetEquipItem(EquipItem.Part part, int equip_index) { return(equip_items[new Tuple <EquipItem.Part, int>(part, equip_index)]); }
public EquipItem CreateRandomItem(EquipItem.Part part = EquipItem.Part.Invalid) { EquipItem.Meta meta = GetRandomMeta(part); return(meta.CreateInstance() as EquipItem); }