コード例 #1
0
        public void Equip(Relic relic, RelicSlot slot)
        {
            var previousSlot = FindContainingSlot(relic);

            if (previousSlot != null)
            {
                if (!slot.IsEmpty)
                {
                    var temp = previousSlot.Relic;
                    previousSlot.Equip(slot.Relic);
                    slot.Equip(temp);
                    return;
                }

                Unequip(relic);
            }

            if (!slot.IsEmpty)
            {
                Unequip(slot.Relic);
            }

            relic.Owner = gameObject;
            relic.Equip();

            slot.Equip(relic);

            Equipped?.Invoke(this, relic);
        }
コード例 #2
0
        public void Equip()
        {
            if (IsEmpty)
            {
                return;
            }

            Owner.GetComponent <BehavioursComponent>().Apply(Behaviour, Owner);

            Experience.LevelUp += OnLevelUp;
            OnLevelUp(Experience);

            IsEquipped = true;

            Equipped?.Invoke(this);
        }
コード例 #3
0
 public void Equip(Relic relic)
 {
     Relic = relic;
     Equipped?.Invoke(this, relic);
 }