通常,我们加载场景需要较长时间,我们通常选择异步加载,如果我们想在加载完成之后做一些事情,比如初始化或者Start方法,,我们其中一种方法如下,废话不多说,
比如下面的例子是想在加载成功后调用当前状态的StartState方法
一种在update中检测加载是否成功的方法
public class SceneStateController{
//是否加载成功(一种减少update的方法)
private bool isFinishLoad = false;
//当前状态
private SceneState m_currentSceneState = null;
//一步操作
private AsyncOperation m_ao;
public void _SetState(SceneState state)
{
if(m_currentSceneState == null)
{
m_currentSceneState = state;
}
//异步加载程序
m_ao = SceneManager.LoadSceneAsync(state.m_SceneName);
//
isFinishLoad = false;
}