public static void GenerateItemDatabase()
        {
            var itemDB = GetItemDatabase();

            if (itemDB == null)
            {
                return;
            }

            itemDB.Initialise(GetAllItemAssets());
            EditorUtility.SetDirty(itemDB);

            AssetsUtility.SaveRefreshAndFocus();
            Selection.activeObject = itemDB;
        }
Example #2
0
        // [MenuItem("Generate ScriptableDatabase", false, -2), MenuItem("Assets/Create/ScriptableDatabase", false, -11)]
        /// <summary>
        /// Generates or regenerates a <c cref="ScriptableDatabase">ScriptableDatabase</c> asset.
        /// </summary>
        /// <remarks>
        /// Use with the <c>MenuItem</c> attribute or other editor scripts.
        /// </remarks>
        public static void GenerateDatabase <TDatabase, TElement>()
            where TDatabase : ScriptableDatabase <TElement>
            where TElement : ScriptableObject
        {
            var db = GetDatabase <TDatabase, TElement>();

            if (db == null)
            {
                return;
            }

            db.Initialise(AssetsUtility.FindAllAssets <TElement>());

            EditorUtility.SetDirty(db);
            AssetsUtility.SaveRefreshAndFocus();
            Selection.activeObject = db;
        }