Exemple #1
0
 public SceneStack()
 {
     // 番兵を追加しておく
     Scene s = new Scene();
     s.Init(null);
     s.SetStack(this);
     scenes.Add(s);
 }
Exemple #2
0
 /// <summary>
 /// 次のシーンへ遷移する。現在のシーンをスタックから削除する。
 /// </summary>
 /// <param name="s">遷移するシーン</param>
 protected void GotoScene(Scene s)
 {
     if (scenes.CurrentScene == this)
     {
         scenes.ChangeCurrentScene(s);
     }
 }
Exemple #3
0
 /// <summary>
 /// 次のシーンへ遷移する。現在のシーンをスタックに残す。
 /// </summary>
 /// <param name="s">遷移するシーン</param>
 protected void CallScene(Scene s)
 {
     if (scenes.CurrentScene == this)
     {
         scenes.Push(s);
     }
 }
Exemple #4
0
 public void Push(Scene s)
 {
     nextOperations.Add(Operation.CreatePushOperation(s));
 }
Exemple #5
0
 public void ChangeCurrentScene(Scene newScene)
 {
     nextOperations.Add(Operation.CreatePopOperation());
     nextOperations.Add(Operation.CreatePushOperation(newScene));
 }
Exemple #6
0
 public static Operation CreatePushOperation(Scene s)
 {
     Operation o = new Operation();
     o.scene = s;
     o.action = Kind.Push;
     return o;
 }