Ejemplo n.º 1
0
 /// <summary>
 /// Add a new scene to the tree
 /// </summary>
 /// <param name="path"></param>
 /// <param name="scene"></param>
 public static bool TryAddScene(ScenePrefabs scene, string TreePath = "Game")
 {
     foreach (ScenePrefabs s in Scenes.Keys)
     {
         if (scene == s)
         {
             string      path   = Scenes[s][0];
             PackedScene packed = (PackedScene)ResourceLoader.Load(Scenes[s][0]);
             instance.GetTree().Root.GetNodeOrNull(TreePath).CallDeferred("add_child", packed.Instance());
             return(true);
         }
     }
     return(false);
 }
Ejemplo n.º 2
0
 /// <summary>
 /// Add a new scene, as long as it doesn't already exist.
 /// </summary>
 /// <param name="scene"></param>
 /// <param name="treePath"></param>
 public static bool TryAddSceneNoDupe(ScenePrefabs scene, string TreePath = "Game")
 {
     foreach (ScenePrefabs s in Scenes.Keys)
     {
         if (scene == s)
         {
             string path         = Scenes[s][0];
             var    tempInstance = instance.GetTree().Root.GetNodeOrNull(Scenes[s][1]);
             if (tempInstance == null)
             {
                 PackedScene packed = (PackedScene)ResourceLoader.Load(Scenes[s][0]);
                 var         scn    = packed.Instance();
                 instance.GetTree().Root.GetNodeOrNull(TreePath).CallDeferred("add_child", scn);
                 return(true);
             }
             else
             {
                 return(false);
             }
         }
     }
     return(false);
 }