public void equip(equipment new_equip) { change_equip_limit(new_equip, 1); bool did_equip = false; for (int i = 0; i < equipped.Length; i++) { if (!did_equip && equipped[i] == null) { equipped[i] = new_equip; new_equip.on_equip(); if (new_equip.perks.Count > 0) { for (int j = 0; j < new_equip.perks.Count; j++) { new_equip.perks[j].add_perk(); } } did_equip = true; //Debug.Log("Equipped " + new_equip.name + " to slot " + i.ToString()); } } if (!did_equip) { equip(new_equip, 0); } util_ref.events.trigger_event("equip", attached_character.get_character()); }
public void equip(equipment new_equip, int slot) { change_equip_limit(new_equip, 1); if (equipped[slot] != null) { unequip(slot); } equipped[slot] = new_equip; new_equip.on_equip(); if (new_equip.perks.Count > 0) { for (int i = 0; i < new_equip.perks.Count; i++) { new_equip.perks[i].add_perk(); } } check_equip_limit(slot); util_ref.events.trigger_event("equip", util_ref.game_master); }