Esempio n. 1
0
 private StyledLine[] GetHoldableDetails(IHoldableItem item)
 {
     if (item is IWeaponItem weapon)
     {
         return(GetWeaponDetails(weapon));
     }
     return(new StyledLine[0]);
 }
Esempio n. 2
0
 public void EquipHoldable(IHoldableItem holdable, bool isRight)
 {
     if (isRight)
     {
         rightHandItem = holdable;
     }
     else
     {
         leftHandItem = holdable;
     }
 }
Esempio n. 3
0
        public Equipment(SaveData data, Inventory inventory)
        {
            var rightWeaponId = data.GetStringValue(SaveKeyRightHandItem);

            if (rightWeaponId != null)
            {
                rightHandItem = (IHoldableItem)inventory.GetItemById(rightWeaponId);
            }

            var leftWeaponId = data.GetStringValue(SaveKeyLeftHandItem);

            if (leftWeaponId != null)
            {
                leftHandItem = (IHoldableItem)inventory.GetItemById(leftWeaponId);
            }

            var spellBookId = data.GetStringValue(SaveKeySpellBook);

            if (spellBookId != null)
            {
                SpellBook = (SpellBook)inventory.GetItemById(spellBookId);
            }

            Armor = new Dictionary <ArmorType, IArmorItem>
            {
                { ArmorType.Helmet, null },
                { ArmorType.Chest, null },
                { ArmorType.Leggings, null }
            };

            var helmetId = data.GetStringValue(SaveKeyArmorHelmet);

            if (helmetId != null)
            {
                Armor[ArmorType.Helmet] = (IArmorItem)inventory.GetItemById(helmetId);
            }

            var chestId = data.GetStringValue(SaveKeyArmorChest);

            if (chestId != null)
            {
                Armor[ArmorType.Chest] = (IArmorItem)inventory.GetItemById(chestId);
            }

            var leggingsId = data.GetStringValue(SaveKeyArmorLeggings);

            if (leggingsId != null)
            {
                Armor[ArmorType.Leggings] = (IArmorItem)inventory.GetItemById(leggingsId);
            }
        }
Esempio n. 4
0
 private void UnequipHoldable(IHoldableItem holdable)
 {
     if (rightHandItem != null && rightHandItem.Equals(holdable))
     {
         rightHandItem = null;
     }
     else if (leftHandItem != null && leftHandItem.Equals(holdable))
     {
         leftHandItem = null;
     }
     else
     {
         throw new ArgumentException($"Weapon {holdable.Key} is not equiped");
     }
 }
 public EquipHoldablePlayerAction(IHoldableItem holdable, bool isRight)
 {
     this.holdable = holdable;
     this.isRight  = isRight;
 }
Esempio n. 6
0
 public HoldableEquippedMessage(IHoldableItem holdable, bool isRightHand)
 {
     this.holdable    = holdable;
     this.isRightHand = isRightHand;
 }