private bool mIsRunStart = false; //是否启动当前状态,主要是判断场景是否加载完毕 public void SetState(ISceneState state, bool isLoadScene) { if (mState != null) { mState.StateEnd();//让上一个场景状态做一下清理工作 } mState = state; if (isLoadScene) { mAO = SceneManager.LoadSceneAsync(mState.getName()); mIsRunStart = false; } else { mState.StateStart();//启动当前状态的初始化操作 mIsRunStart = true; } } //设置场景状态,加载场景,清理上一个场景等操作