/// <summary> /// Equips item if not equipped already. /// Otherwise unequips. /// </summary> public void ToggleEquip(CharacterComponents character, AskLeftOrRight askLeftOrRight) { if (IsEquipped) { character.inventory.UnequipItem(slot); } else { character.inventory.EquipItem(this, askLeftOrRight); } }
/// <summary> /// askIsLeft is called if the armament can be equipped in the left hand or the right hand. /// </summary> public void EquipItem(Armament armament, AskLeftOrRight askLeftOrRight) { switch (armament.equipmentType) { case EquipmentType.oneHanded: askLeftOrRight(isLeft => EquipSingleItem(armament, isLeft ? EquipmentSlot.leftHand : EquipmentSlot.rightHand)); break; case EquipmentType.ring: askLeftOrRight(isLeft => EquipSingleItem(armament, isLeft ? EquipmentSlot.leftRing : EquipmentSlot.rightRing)); break; default: EquipSingleItem(armament, (EquipmentSlot)armament.equipmentType); break; } }