using System.Collections; using System.Collections.Generic; using UnityEditor; using UnityEngine; namespace DreadScripts.PackageProcessor { [System.Serializable] public class PackageProcessorData : ScriptableObject { private static PackageProcessorData _instance; public static PackageProcessorData instance { get { if (!_instance && Exists()) if (_instance = AssetDatabase.LoadAssetAtPath(SavePath)) return _instance; _instance = CreateInstance(); if (!System.IO.Directory.Exists(folderPath)) System.IO.Directory.CreateDirectory(folderPath); AssetDatabase.CreateAsset(_instance, SavePath); return _instance; } } private static string _folderPath; public static string folderPath { get { if (string.IsNullOrEmpty(_folderPath)) _folderPath = PlayerPrefs.GetString("PackageProcessorDataPath", "Assets/DreadScripts/Saved Data/PackageProcessor"); return _folderPath; } set => _folderPath = value; } private static string SavePath => folderPath + "/PackageProcessorData.asset"; public bool active = true; public bool includeDependencies = false; public List exportDefaultOffExtensions = new List(); public List exportDefaultOffFolders = new List(); public List exportDefaultOffTypes = new List(); public List exportDefaultOffAssets = new List(); public static bool Exists() => System.IO.File.Exists(SavePath); } }