25 lines
610 B
C#
25 lines
610 B
C#
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<IInteractionRequirement> 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;
|
|
} |