public static IBaseSceneState GetScene(SceneName scene) { IBaseSceneState state = null; SceneDict.TryGetValue(scene, out state); return(state); }
// 改变场景状态 public void ChangeSceneState(IBaseSceneState sceneState) { lastSceneState = currentSceneState; // 显示遮罩,进行场景的过渡 ShowMask(); currentSceneState = sceneState; }
public void GoToScene(SceneName name) { lastSceneState = currentSceneState; currentSceneState = SceneType.GetScene(name); currentSceneState.scene = name; ExitSceneComplete(); }
//进行场景状态切换——这里就是状态模式的具体实现 public void ChangeSceneState(IBaseSceneState baseSceneState) { //现有场景已经成为过去式 lastSceneState = currentSceneState; ShowMask(); //需要切换的场景变为现有场景 currentSceneState = baseSceneState; }
public override void Init() { base.Init(); InitMask(); //currentSceneState = new StartLoadSceneState(); //currentSceneState.EnterScene(); if (GameRoot.Instance.toMainScene) { SceneManager.LoadScene(2); currentSceneState = new MainSceneState(); currentSceneState.EnterScene(); } else { currentSceneState = new StartLoadSceneState(); currentSceneState.EnterScene(); } }
public void ChangeSceneState(IBaseSceneState baseSceneState) { lastSceneState = currentSceneState; ShowMask(); currentSceneState = baseSceneState; }