예제 #1
0
 /// <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);
     }
 }
예제 #2
0
    /// <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;
        }
    }