using GameCore.ECS.Interfaces; using GameCore.Interaction.Interfaces; namespace GameCore.Interaction; public class DoorComponent : IComponent { public enum DoorState { Locked, Closed, Opening, Open, Closing } public DoorState CurrentState { get; set; } = DoorState.Locked; public List Requirements { get; set; } = []; public bool IsOneTimeUnlock { get; set; } = false; public float OpenSpeed { get; set; } = 2.0f; public float OpenProgress { get; set; } = 0.0f; public float Timer { get; set; } = 0.0f; }