private StyledLine[] GetHoldableDetails(IHoldableItem item) { if (item is IWeaponItem weapon) { return(GetWeaponDetails(weapon)); } return(new StyledLine[0]); }
public void EquipHoldable(IHoldableItem holdable, bool isRight) { if (isRight) { rightHandItem = holdable; } else { leftHandItem = holdable; } }
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); } }
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; }
public HoldableEquippedMessage(IHoldableItem holdable, bool isRightHand) { this.holdable = holdable; this.isRightHand = isRightHand; }