Esempio n. 1
0
    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());
    }
Esempio n. 2
0
    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);
    }