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 ); } } } }