Files
2026-04-17 14:55:32 -04:00

40 lines
1.2 KiB
C#

using System;
using DTS.Common.Interface.DASFactory;
namespace DTS.DASLib.Service.StateMachine
{
public abstract class DASStateSelector : DASState, IDASStateWithSelector
{
public abstract IDASState StateSelector();
}
public abstract class DASState : IDASState
{
public IDASFactory DASFactory { get; set; }
public abstract State State { get; }
public virtual Action OnEntry { get => OnEnterState; }
public virtual Action OnExit { get => OnExitState; }
public virtual void OnEnterState()
{
Console.WriteLine($"Enter {State.ToString()} State");
}
public virtual void OnExitState()
{
Console.WriteLine($"Exit {State.ToString()} State");
}
/// <summary>
/// for now we enforce that there is just one status object
/// we'll probably want to refactor this at some point how
/// this information is stored and passed, but this will prevent
/// accidents from happening in the short term
/// </summary>
private static readonly Status _status = new Status();
public Status Status
{
get => _status;
}
}
}