mirror of
https://github.com/Alex-Rachel/TEngine.git
synced 2025-08-14 16:51:28 +00:00
1.增加重启流程Procedure接口。2.增加进入热更域后的流程Procedure。
1.增加重启流程Procedure接口。2.增加进入热更域后的流程Procedure。
This commit is contained in:
@@ -13,11 +13,9 @@ namespace TEngine
|
||||
private IProcedureManager m_ProcedureManager = null;
|
||||
private ProcedureBase m_EntranceProcedure = null;
|
||||
|
||||
[SerializeField]
|
||||
private string[] m_AvailableProcedureTypeNames = null;
|
||||
[SerializeField] private string[] m_AvailableProcedureTypeNames = null;
|
||||
|
||||
[SerializeField]
|
||||
private string m_EntranceProcedureTypeName = null;
|
||||
[SerializeField] private string m_EntranceProcedureTypeName = null;
|
||||
|
||||
/// <summary>
|
||||
/// 获取当前流程。
|
||||
@@ -30,6 +28,7 @@ namespace TEngine
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
return m_ProcedureManager.CurrentProcedure;
|
||||
}
|
||||
}
|
||||
@@ -45,6 +44,7 @@ namespace TEngine
|
||||
{
|
||||
return 0f;
|
||||
}
|
||||
|
||||
return m_ProcedureManager.CurrentProcedureTime;
|
||||
}
|
||||
}
|
||||
@@ -140,5 +140,31 @@ namespace TEngine
|
||||
{
|
||||
return m_ProcedureManager.GetProcedure(procedureType);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 重启流程。
|
||||
/// <remarks>默认使用第一个流程作为启动流程。</remarks>
|
||||
/// </summary>
|
||||
/// <param name="procedures">新的的流程。</param>
|
||||
/// <returns>是否重启成功。</returns>
|
||||
/// <exception cref="GameFrameworkException">重启异常。</exception>
|
||||
public bool RestartProcedure(params ProcedureBase[] procedures)
|
||||
{
|
||||
if (procedures == null || procedures.Length <= 0)
|
||||
{
|
||||
throw new GameFrameworkException("RestartProcedure Failed procedures is invalid.");
|
||||
}
|
||||
|
||||
if (!GameModule.Fsm.DestroyFsm<IProcedureManager>())
|
||||
{
|
||||
return false;
|
||||
}
|
||||
m_ProcedureManager = null;
|
||||
m_ProcedureManager = GameFrameworkModuleSystem.GetModule<IProcedureManager>();
|
||||
IFsmManager fsmManager = GameFrameworkModuleSystem.GetModule<IFsmManager>();
|
||||
m_ProcedureManager.Initialize(fsmManager, procedures);
|
||||
m_ProcedureManager.StartProcedure(procedures[0].GetType());
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user