//------------------------------------------------------------ // Game Framework // Copyright © 2013-2021 loyalsoft. All rights reserved. // Homepage: http://www.game7000.com/ // Feedback: http://www.game7000.com/ //------------------------------------------------------------ using GameFramework.Fsm; using System; namespace GameFramework.Procedure { /// /// 流程管理器接口。 /// public interface IProcedureManager { /// /// 获取当前流程。 /// ProcedureBase CurrentProcedure { get; } /// /// 获取当前流程持续时间。 /// float CurrentProcedureTime { get; } /// /// 初始化流程管理器。 /// /// 有限状态机管理器。 /// 流程管理器包含的流程。 void Initialize(IFsmManager fsmManager, params ProcedureBase[] procedures); /// /// 开始流程。 /// /// 要开始的流程类型。 void StartProcedure() where T : ProcedureBase; /// /// 开始流程。 /// /// 要开始的流程类型。 void StartProcedure(Type procedureType); /// /// 是否存在流程。 /// /// 要检查的流程类型。 /// 是否存在流程。 bool HasProcedure() where T : ProcedureBase; /// /// 是否存在流程。 /// /// 要检查的流程类型。 /// 是否存在流程。 bool HasProcedure(Type procedureType); /// /// 获取流程。 /// /// 要获取的流程类型。 /// 要获取的流程。 ProcedureBase GetProcedure() where T : ProcedureBase; /// /// 获取流程。 /// /// 要获取的流程类型。 /// 要获取的流程。 ProcedureBase GetProcedure(Type procedureType); } }