Exemplo n.º 1
0
 /// <summary>
 /// 初期化。
 /// 呼ばれるLuaの関数は<example>Start_&lt;シーン名&gt;(&lt;所属するシーン&gt;)</example>
 /// </summary>
 public override void Start(Scene prev)
 {
     LuaScript.GetFunction("Start_" + ID).Call(this);
     base.Start(prev);
 }
Exemplo n.º 2
0
 /// <summary>
 /// 指定したシーンを削除します。
 /// 同じIDのシーンが削除対象です。
 /// </summary>
 /// <param name="item"></param>
 /// <returns></returns>
 public static bool Remove(Scene item)
 {
     var e = instance.scenes.Where(p => p.ID == item.ID).First();
     if (e == null) return false;
     e.Exit();
     instance.scenes.Remove(e);
     return true;
 }
Exemplo n.º 3
0
 /// <summary>
 /// 配列に内容をコピーします。
 /// </summary>
 /// <param name="array"></param>
 /// <param name="arrayIndex"></param>
 public static void CopyTo(Scene[] array, int arrayIndex)
 {
     instance.scenes.CopyTo(array, arrayIndex);
 }
Exemplo n.º 4
0
 /// <summary>
 /// 指定シーンが存在するか判定します。
 /// 判定基準はIDです。
 /// </summary>
 /// <param name="item">シーン</param>
 /// <returns></returns>
 public static bool Contains(Scene item)
 {
     return instance.scenes.Any(p => p.ID == item.ID);
 }
Exemplo n.º 5
0
 /// <summary>
 /// 呼び出し源を指定してシーンを追加
 /// </summary>
 /// <param name="item">追加するシーン</param>
 /// <param name="calp">呼び出し元</param>
 public static void Add(Scene item, Scene calp)
 {
     if (instance.scenes.Any(p => p.ID == item.ID))
     {
         throw new ArgumentException("指定されたIDのシーンがすでに再生中です", "item");
     }
     instance.scenes.Add(item);
     item.Start(calp);
 }
Exemplo n.º 6
0
 /// <summary>
 /// シーン開始時に呼び出される。
 /// </summary>
 /// <param name="prev">開始させたシーン</param>
 public virtual void Start(Scene prev)
 {
     #if DEBUG
     Console.WriteLine("{0} によって {1} が開始", prev != null ? prev.ID : "", ID);
     #endif
 }