Initial Commit

This commit is contained in:
Simeon Radivoev 2022-02-12 12:53:50 +02:00
commit ee5c2f922d
Signed by: simeonradivoev
GPG key ID: 7611A451D2A5D37A
2255 changed files with 547750 additions and 0 deletions

View file

@ -0,0 +1,37 @@
using Events;
using Unity.Entities;
namespace DefaultNamespace
{
[UpdateInGroup(typeof(PresentationSystemGroup)), UpdateAfter(typeof(PlayerActionMapSystem))]
public class InventorySystem : ComponentSystem
{
protected override void OnUpdate()
{
Entities.WithAll<Slot>()
.ForEach(
(Entity entity, ref PlayerData player, ref PlayerInput input) =>
{
var inventoryDirtyFlag = false;
var inventory = EntityManager.GetBuffer<Slot>(entity);
for (var j = 0; j < inventory.Length; j++)
{
var slot = inventory[j];
if (slot.Item.Amount <= 0 && slot.Item.Item.IsValid)
{
slot.Item = new ItemData();
inventory[j] = slot;
inventoryDirtyFlag = true;
}
}
if (inventoryDirtyFlag)
{
PostUpdateCommands.PostEntityEvent<InventoryDirtyEventData>(EntityManager, entity);
}
});
PostUpdateCommands.RemoveEventComponents<InventoryDirtyEventData>(Entities);
}
}
}