Add new resources and presenters for item pickups and effects

This commit is contained in:
2025-10-29 00:13:36 +01:00
parent 329a942de7
commit 87169b17ae
19 changed files with 151 additions and 8 deletions

View File

@@ -57,6 +57,7 @@ public partial class GamePresenter : Node
_world.RegisterSystem(new AttributeSystem());
_world.RegisterSystem(new PickupSystem());
_world.RegisterSystem(new InventorySystem(_world));
_world.RegisterSystem(new ItemAcquisitionSystem(_world));
_world.RegisterSystem(new WeaponSystem());
_world.RegisterSystem(new ProjectileSystem());
@@ -75,7 +76,7 @@ public partial class GamePresenter : Node
_presenters.Add(playerData.Entity.Id, playerData.Presenter);
_presenterComponents.Add(playerData.Entity.Id, playerData.Components);
}
public override void _Input(InputEvent @event)
{
_inputService?.HandleInputEvent(@event);

View File

@@ -21,6 +21,7 @@ public partial class PickupPresenter : Area3D, IEntityPresenter, IPresenterCompo
{
if (_presenterRegistry.TryGetEntity(body.GetInstanceId(), out var hitEntity))
{
GD.Print($"Collision detected between {CoreEntity.Id} and {hitEntity.Id}");
_world.AddComponent(hitEntity, new CollisionEventComponent(CoreEntity));
}
}
@@ -30,7 +31,6 @@ public partial class PickupPresenter : Area3D, IEntityPresenter, IPresenterCompo
CoreEntity = coreEntity;
_world = world;
_presenterRegistry = GetNode<PresenterRegistry>("/root/PresenterRegistry");
BodyEntered += OnBodyEnter;
}
public void SyncToPresentation(float delta)

View File

@@ -0,0 +1 @@
uid://ck82xby5qe680