Exemple #1
0
        private static Settings GetOrCreateSettings()
        {
            CoreFolders.Create();

            var path = $"{CoreFolders.SettingsPath}/{FileName}";

            var settings = AssetDatabase.LoadAssetAtPath <Settings>(path);

            if (settings != null)
            {
                return(settings);
            }

            settings = CreateInstance <Settings>();

            settings.Definitions.Add(new EventDefinition("Bool", typeof(bool)));
            settings.Definitions.Add(new EventDefinition("Int", typeof(int)));
            settings.Definitions.Add(new EventDefinition("Float", typeof(float)));
            settings.Definitions.Add(new EventDefinition("String", typeof(string)));
            settings.Definitions.Add(new EventDefinition("Vector2", typeof(Vector2)));
            settings.Definitions.Add(new EventDefinition("Vector2Int", typeof(Vector2Int)));
            settings.Definitions.Add(new EventDefinition("Vector3", typeof(Vector3)));
            settings.Definitions.Add(new EventDefinition("Vector3Int", typeof(Vector3Int)));
            settings.Definitions.Add(new EventDefinition("Vector4", typeof(Vector4)));
            settings.Definitions.Add(new EventDefinition("Color", typeof(Color)));

            AssetDatabase.CreateAsset(settings, path);
            AssetDatabase.SaveAssets();

            return(settings);
        }
Exemple #2
0
        private static void CreateFolders()
        {
            CoreFolders.Create();

            if (!AssetDatabase.IsValidFolder(LibraryPath))
            {
                AssetDatabase.CreateFolder(CoreFolders.CorePath, Library);
            }

            if (AssetDatabase.IsValidFolder(EventsPath))
            {
                FileUtil.DeleteFileOrDirectory(EventsPath);
            }
            if (AssetDatabase.IsValidFolder(ListenersPath))
            {
                FileUtil.DeleteFileOrDirectory(ListenersPath);
            }

            AssetDatabase.Refresh();

            if (!AssetDatabase.IsValidFolder(EventsPath))
            {
                AssetDatabase.CreateFolder(LibraryPath, Events);
            }
            if (!AssetDatabase.IsValidFolder(ListenersPath))
            {
                AssetDatabase.CreateFolder(LibraryPath, Listeners);
            }

            if (!AssetDatabase.IsValidFolder(EventsInspectorsPath))
            {
                AssetDatabase.CreateFolder(EventsPath, Editor);
            }
        }