2D-Platformer/Assets/Scripts/Systems/Items/GrenadeUseSystem.cs
2022-02-12 12:53:50 +02:00

33 lines
No EOL
855 B
C#

using Events;
using Items;
using Unity.Entities;
using UnityEngine;
namespace DefaultNamespace
{
public class GrenadeUseSystem : ItemUseSystemAbstract<GrenadeItem>
{
public override ItemUseFlags Flags => ItemUseFlags.UseOnlyInteractive;
public override ItemUseType UseType => ItemUseType.Grenade;
public override bool IsAdditiveUsage => true;
protected override void Use(GrenadeItem prefab, ref ItemData itemData, Entity user, Entity inventory)
{
itemData.Amount--;
entityManager.PostEntityEvent<InventoryDirtyEventData>(inventory);
entityManager.PostEntityEvent(user, new FireGrenadeEvent { GrenadePrefab = itemData.Item });
}
protected override bool Validate(GrenadeItem prefab, Entity user, Entity inventory)
{
return true;
}
public override Sprite GetItemIcon(GrenadeItem prefab)
{
return null;
}
}
}