void CreateDatabase(string name) { currentDatabase = ScriptableObject.CreateInstance<GameEventDatabase>(); AssetDatabase.CreateAsset(currentDatabase, DATABASE_PATH+name+".asset"); AssetDatabase.SaveAssets(); AssetDatabase.Refresh(); }
void Start () { _eventText = _textAreaScrollView.GetComponentInChildren<Text>(); if (_eventDatabase == null) { Debug.Log("GameEventDatabase not set, looking for one in resources."); _eventDatabase = Resources.FindObjectsOfTypeAll<GameEventDatabase>().First(); } if (_eventDatabase == null) Debug.LogError("Unable to find a GameEventDatabase."); GoToEvent("Start"); }
void LoadDatabase() { databases = new List<GameEventDatabase>(); foreach(var path in AssetDatabase.GetAllAssetPaths()) { if (path.EndsWith(".asset")) { var db = AssetDatabase.LoadAssetAtPath(path, typeof(GameEventDatabase)) as GameEventDatabase; if (db != null) databases.Add(db); } } if (currentDatabase == null) currentDatabase = databases.FirstOrDefault(); if (currentDatabase == null) CreateDatabase("default"); }
void LoadDatabase() { databases = new List <GameEventDatabase>(); foreach (var path in AssetDatabase.GetAllAssetPaths()) { if (path.EndsWith(".asset")) { var db = AssetDatabase.LoadAssetAtPath(path, typeof(GameEventDatabase)) as GameEventDatabase; if (db != null) { databases.Add(db); } } } if (currentDatabase == null) { currentDatabase = databases.FirstOrDefault(); } if (currentDatabase == null) { CreateDatabase("default"); } }
private void DisplayDatabasesArea() { EditorGUILayout.BeginVertical(GUILayout.Width(250)); EditorGUILayout.Space(); for (int i = 0; i < databases.Count; i++) { try { if (GUILayout.Button(databases[i].name, GUILayout.ExpandWidth(true))) { currentDatabase = databases[i]; } } catch(Exception exc) { Debug.Log(exc.Message); databases.RemoveAt(i); i--; } } EditorGUILayout.BeginHorizontal(); GUI.enabled = !string.IsNullOrEmpty(newDatabaseName); if(GUILayout.Button("+", GUILayout.ExpandWidth(false))) { CreateDatabase(newDatabaseName); LoadDatabase(); newDatabaseName = string.Empty; } GUI.enabled = true; newDatabaseName = EditorGUILayout.TextField(newDatabaseName, GUILayout.ExpandWidth(true)); EditorGUILayout.EndHorizontal(); EditorGUILayout.EndVertical(); }