Add button interaction system with event publishing and requirements handling

This commit is contained in:
2025-10-30 02:21:33 +01:00
parent 86afb57809
commit 3fcb31d92f
11 changed files with 240 additions and 5 deletions

View File

@@ -0,0 +1,14 @@
using GameCore.ECS.Interfaces;
using GameCore.Interaction.Interfaces;
namespace GameCore.Interaction;
public class ButtonComponent : IComponent
{
public string ChannelId { get; set; } = "default_channel";
public bool IsToggle { get; set; } = false;
public bool IsOneTimeUse { get; set; } = false;
public bool IsPressed { get; set; } = false;
public bool HasBeenUsed { get; set; } = false;
public List<IInteractionRequirement> Requirements { get; set; } = [];
}