38 lines
702 B
C#
38 lines
702 B
C#
namespace Sasalka;
|
|
|
|
public abstract class AmmoUseableBase : UseableBase
|
|
{
|
|
protected InventoryItem AmmoItem => FindAmmoItem();
|
|
|
|
private InventoryItem FindAmmoItem()
|
|
{
|
|
//По типу патрон поиск + енум типа патрон
|
|
return Dedugan.Local.Inventory.Items.FirstOrDefault( i => i.Definition.Name == "Pistol Ammo" );
|
|
}
|
|
|
|
public override bool CanUse()
|
|
{
|
|
var ammo = AmmoItem;
|
|
return base.CanUse() && ammo != null && ammo.Count > 0;
|
|
}
|
|
|
|
public override void Use()
|
|
{
|
|
if ( !CanUse() )
|
|
return;
|
|
|
|
OnUse();
|
|
|
|
var ammo = AmmoItem;
|
|
if ( ammo != null )
|
|
{
|
|
ammo.Count--;
|
|
|
|
if ( ammo.Count <= 0 )
|
|
{
|
|
Dedugan.Local.Inventory.RemoveItem( ammo );
|
|
}
|
|
}
|
|
}
|
|
}
|