示例#1
0
        public static IBaseSceneState GetScene(SceneName scene)
        {
            IBaseSceneState state = null;

            SceneDict.TryGetValue(scene, out state);
            return(state);
        }
示例#2
0
 // 改变场景状态
 public void ChangeSceneState(IBaseSceneState sceneState)
 {
     lastSceneState = currentSceneState;
     // 显示遮罩,进行场景的过渡
     ShowMask();
     currentSceneState = sceneState;
 }
示例#3
0
 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;
 }
示例#5
0
 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();
     }
 }
示例#6
0
 public void ChangeSceneState(IBaseSceneState baseSceneState)
 {
     lastSceneState = currentSceneState;
     ShowMask();
     currentSceneState = baseSceneState;
 }