bool CheckForRequirements()
 {
     if (!t)
     {
         EditorGUILayout.HelpBox("Please Create LevelBuilder in Scene", MessageType.Warning);
         if (GUILayout.Button("Create LevelBuilder"))
         {
             var go = new GameObject("Level Builder");
             _t = go.AddComponent <LevelBuilder>();
         }
         return(false);
     }
     if (!t.tileSet)
     {
         EditorGUILayout.HelpBox("Please Apply TileAtlas to LevelBuilder", MessageType.Warning);
         if (GUILayout.Button("Create New Tile Atlas"))
         {
             var tileAtlas = CreateInstance <TileAtlas>();
             var path      = EditorUtility.SaveFilePanelInProject("New TileAtlas", "My Tile Atlas", "asset", "Choose destination of new asset");
             AssetDatabase.CreateAsset(tileAtlas, path);
             AssetDatabase.Refresh();
             t.tileSet = (TileAtlas)AssetDatabase.LoadAssetAtPath(path, typeof(TileAtlas));
             EditorGUIUtility.PingObject(t.tileSet);
         }
         TileAtlas chosen = null;
         chosen = (TileAtlas)EditorGUILayout.ObjectField("Use Preexisting ", chosen, typeof(TileAtlas), false);
         if (chosen)
         {
             t.tileSet = chosen;
         }
         return(false);
     }
     if (t.tileSet.tiles == null || t.tileSet.tiles.Count == 0)
     {
         EditorGUILayout.HelpBox("Please add Tiles to TileAtlas", MessageType.Warning);
         if (GUILayout.Button("Ping Atlas"))
         {
             EditorGUIUtility.PingObject(t.tileSet);
         }
         return(false);
     }
     if (t.tileSet.TileFromGuid == null || t.tileSet.TileFromGuid.Keys.Count == 0)
     {
         EditorGUILayout.HelpBox("Please click 'Dictionary from List' in TileAtlas", MessageType.Warning);
         if (GUILayout.Button("Ping Atlas"))
         {
             EditorGUIUtility.PingObject(t.tileSet);
         }
         return(false);
     }
     return(true);
 }
 public static void SetActiveLevelbuilder(LevelBuilder input)
 {
     _t = input;
 }