123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- //------------------------------------------------------------
- // 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
- {
- /// <summary>
- /// 流程管理器接口。
- /// </summary>
- public interface IProcedureManager
- {
- /// <summary>
- /// 获取当前流程。
- /// </summary>
- ProcedureBase CurrentProcedure
- {
- get;
- }
- /// <summary>
- /// 获取当前流程持续时间。
- /// </summary>
- float CurrentProcedureTime
- {
- get;
- }
- /// <summary>
- /// 初始化流程管理器。
- /// </summary>
- /// <param name="fsmManager">有限状态机管理器。</param>
- /// <param name="procedures">流程管理器包含的流程。</param>
- void Initialize(IFsmManager fsmManager, params ProcedureBase[] procedures);
- /// <summary>
- /// 开始流程。
- /// </summary>
- /// <typeparam name="T">要开始的流程类型。</typeparam>
- void StartProcedure<T>() where T : ProcedureBase;
- /// <summary>
- /// 开始流程。
- /// </summary>
- /// <param name="procedureType">要开始的流程类型。</param>
- void StartProcedure(Type procedureType);
- /// <summary>
- /// 是否存在流程。
- /// </summary>
- /// <typeparam name="T">要检查的流程类型。</typeparam>
- /// <returns>是否存在流程。</returns>
- bool HasProcedure<T>() where T : ProcedureBase;
- /// <summary>
- /// 是否存在流程。
- /// </summary>
- /// <param name="procedureType">要检查的流程类型。</param>
- /// <returns>是否存在流程。</returns>
- bool HasProcedure(Type procedureType);
- /// <summary>
- /// 获取流程。
- /// </summary>
- /// <typeparam name="T">要获取的流程类型。</typeparam>
- /// <returns>要获取的流程。</returns>
- ProcedureBase GetProcedure<T>() where T : ProcedureBase;
- /// <summary>
- /// 获取流程。
- /// </summary>
- /// <param name="procedureType">要获取的流程类型。</param>
- /// <returns>要获取的流程。</returns>
- ProcedureBase GetProcedure(Type procedureType);
- }
- }
|