public static void Update() { if (StageSystem._transMode == StageSystem.TransMode.NONE) { StageSystem._stack.Peek().Update(); } else if (StageSystem._transMode == StageSystem.TransMode.MOVE) { StageSystem._MoveReserved(); } else if (StageSystem._transMode == StageSystem.TransMode.PUSH) { StageSystem._PushReserved(); } else if (StageSystem._transMode == StageSystem.TransMode.POP) { StageSystem._PopReserved(); } else if (StageSystem._transMode == StageSystem.TransMode.RELOAD) { StageSystem._ReloadReserved(); } else if (StageSystem._transMode == StageSystem.TransMode.DONE) { StageSystem._transMode = StageSystem.TransMode.NONE; } if (StageSystem._stgCommon != null) { StageSystem._stgCommon.Update(); } }
private static void _PushReserved() { StageSystem._transMode = StageSystem.TransMode.DONE; StageSystem._stack.Peek().OnExit(); StageSystem._nxtStg.RegistSeialTaskInternal(); StageSystem._nxtStg.OnEnter(); StageSystem._stack.Push(StageSystem._nxtStg); StageSystem._nxtStg = null; }
private static void _ReloadReserved() { StageSystem._transMode = StageSystem.TransMode.DONE; AStage aStage = StageSystem._stack.Peek(); aStage.OnExit(); aStage.RegistSeialTaskInternal(); aStage.OnReloadReserved(); aStage.OnEnter(); }
public static void ReserveMoveStage(AStage iStg) { StageSystem._transMode = StageSystem.TransMode.MOVE; StageSystem._nxtStg = iStg; iStg.OnPrepareSceneChange(); TsLog.Log("=== StageSystem.ReserveMoveStage : {0}", new object[] { StageSystem._nxtStg.GetType().Name }); }
static StageSystem() { StageSystem._transMode = StageSystem.TransMode.NONE; StageSystem._nxtStg = null; StageSystem._1stRunPassed = false; StageSystem._stack = new Stack <AStage>(4); StageSystem.bStabled = false; StageSystem._stgCommon = null; StageSystem._stgCommon = new StageSystem.StgCommon(); StageSystem._stack.Push(StageSystem._stgCommon); }
public static void ReloadStage() { StageSystem._transMode = StageSystem.TransMode.RELOAD; AStage aStage = StageSystem._stack.Peek(); aStage.OnPrepareSceneChange(); TsLog.Log("=== StageSystem.ReloadStage POP: {0}", new object[] { aStage.GetType().Name }); }
private static void _MoveReserved() { AStage aStage = StageSystem._stack.Pop(); aStage.OnExit(); aStage = StageSystem._nxtStg; StageSystem._nxtStg = null; StageSystem._transMode = StageSystem.TransMode.DONE; StageSystem._stack.Push(aStage); aStage.RegistSeialTaskInternal(); aStage.OnEnter(); }
public static void ReservePushStage(AStage iStg) { if (iStg == null) { TsLog.LogError("=== StageSystem.ReservePushStage(null) null parameter!", new object[0]); } else { StageSystem._nxtStg = iStg; StageSystem._transMode = StageSystem.TransMode.PUSH; iStg.OnPrepareSceneChange(); TsLog.Log("=== StageSystem.ReservePushStage PUSH: {0}", new object[] { StageSystem._nxtStg.GetType().Name }); } }
public static Scene.Type ReservePopStage() { Scene.Type result = Scene.Type.EMPTY; if (StageSystem._stack.Count <= 1) { TsLog.LogError("=== StageSystem.ReservePopStage stack empty", new object[0]); } else { AStage aStage = StageSystem._stack.Pop(); AStage aStage2 = StageSystem._stack.Peek(); aStage2.OnPrepareSceneChange(); result = aStage2.SceneType(); StageSystem._stack.Push(aStage); StageSystem._transMode = StageSystem.TransMode.POP; TsLog.Log("=== StageSystem.ReservePopStage POP: {0}", new object[] { aStage.GetType().Name }); } return(result); }