示例#1
0
        public bool ForceEquipUpgrade(EquippableItem u)
        {
            foreach (EquippableItem upg in activeUpgrades)
            {
                if (u.GetType().Name.Equals(upg.GetType().Name))
                {
                    Owner.Message("You cannot equip two upgrades of the same type.");
                    return(false);
                }
            }

            if (!CanEquip(u))
            {
                return(false);
            }

            activeUpgrades.Add(u);

            if (HasInInventory(u))
            {
                items.Remove(u);
            }

            u.Apply();
            return(true);
        }
示例#2
0
        public void AddBasestatUpgrade(EquippableItem u)
        {
            bool contains = false;

            foreach (EquippableItem upg in BasestatUpgrades)
            {
                if (upg.GetType().Equals(u.GetType()))
                {
                    upg.AddUpgradeProgress(u);
                    contains = true;
                    break;
                }
            }

            if (!contains && BasestatUpgrades.Count < BasestatCapacity)
            {
                BasestatUpgrades.Add(u);
            }
        }