Example #1
0
        /// <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);
            }
        }