void TileSelectGUI() { EditorGUILayout.LabelField("TileTool2D Tile", GUILayout.Width(100f)); gTile = (GameObject)EditorGUILayout.ObjectField(gTile, typeof(GameObject), false, GUILayout.Width(175f)); GUILayout.FlexibleSpace(); if (GUILayout.Button("Create Tile", GUILayout.Width(120), GUILayout.Height(18))) { Tile2D oldTile; oldTile = PrefabCreator.CreateTile(null, false); String path = null; if (Directory.Exists("Assets/TileTool2D/Tiles/Wizard Tiles/")) { path = SaveFile("Assets/TileTool2D/Tiles/Wizard Tiles/", oldTile.transform.name + "", "prefab"); } else { path = SaveFile("Assets/", oldTile.transform.name + "", "prefab"); } if (path != null) { var asset = AssetDatabase.LoadAssetAtPath(path, typeof(GameObject)); if (asset) { asset = PrefabUtility.ReplacePrefab(oldTile.gameObject, (GameObject)AssetDatabase.LoadAssetAtPath(path, typeof(GameObject))); } else { asset = PrefabUtility.CreatePrefab(path, oldTile.gameObject); } string spritePath = AssetDatabase.GetAssetPath(asset); gTile = (GameObject)AssetDatabase.LoadAssetAtPath(spritePath, typeof(GameObject)); } DestroyImmediate(oldTile.gameObject); } if (gTile && GUI.changed) { tile = (Tile2D)gTile.GetComponent <Tile2D>(); } else if (!gTile) { tile = null; } GUI.color = Color.white; }