using OrpaonVision.Core.Results; using OrpaonVision.SiteApp.Runtime.Contracts; namespace OrpaonVision.SiteApp.Runtime.Services { /// /// 运行态状态机服务接口。 /// public interface IRuntimeStateMachineService { /// /// 获取当前状态快照。 /// RuntimeStateSnapshotDto GetSnapshot(); /// /// 获取当前状态。 /// RuntimeState GetCurrentState(); /// /// 获取当前层级。 /// int GetCurrentLayer(); /// /// 检查是否可以执行特定操作。 /// bool CanExecuteOperation(StateTrigger trigger); /// /// 基于触发器执行状态转换。 /// Result TriggerTransition(StateTrigger trigger, string? reason = null, object? parameters = null); /// /// 尝试推进到下一层。 /// Result MoveToNextLayer(); /// /// 重置状态机。 /// void Reset(); } }