/// <summary> /// Loads the datastore and editor variables. /// </summary> private void SetDatabase() { //Find the datastore asset using the saved PATH m_dataStore = AssetDatabase.LoadAssetAtPath <BaseDatastore>(DataStorePATH); m_so = new SerializedObject(m_dataStore); //Setup local vars m_elementsList = m_so.FindProperty(ELEMENTS_PATH); if (m_elementsList == null) { return; } m_reorderableList = new ReorderableList(m_so, m_elementsList); //Load editor vars DeserializeEditorVars(); }
/// <summary> /// Populates m_datastores. /// </summary> private void GetAllExistingDatastore() { m_datastores.Clear(); for (int i = 0; i < m_typesByName.Count; i++) { m_datastores.Add(new List <BaseDatastore>()); } string[] assets = AssetDatabase.FindAssets("t:BaseDatastore", null); for (int i = 0; i < assets.Length; i++) { string path = AssetDatabase.GUIDToAssetPath(assets[i]); BaseDatastore datastore = AssetDatabase.LoadAssetAtPath <BaseDatastore>(path); int index = m_typesByName.FindIndex(x => x == datastore.GetType().Name.ToString()); m_datastores[index].Add(datastore); } }