static void SaveThePreferences(SpriteMeshesLayersOrdener instance) { //Save the preferences in Prefs.asset layersOrdenerPreferences.projectName = Application.productName; layersOrdenerPreferences.windowPosition = new Rect(instance.position.x, instance.position.y, instance.position.width, instance.position.height); EditorUtility.SetDirty(layersOrdenerPreferences); AssetDatabase.SaveAssets(); }
static void LoadThePreferences(SpriteMeshesLayersOrdener instance) { //Create the default directory, if not exists if (!AssetDatabase.IsValidFolder("Assets/MT Assets/_AssetsData")) { AssetDatabase.CreateFolder("Assets/MT Assets", "_AssetsData"); } if (!AssetDatabase.IsValidFolder("Assets/MT Assets/_AssetsData/Preferences")) { AssetDatabase.CreateFolder("Assets/MT Assets/_AssetsData", "Preferences"); } //Try to load the preferences file layersOrdenerPreferences = (SmLayersOrdenerPreferences)AssetDatabase.LoadAssetAtPath("Assets/MT Assets/_AssetsData/Preferences/SpriteMeshesLayersOrdener.asset", typeof(SmLayersOrdenerPreferences)); //Validate the preference file. if this preference file is of another project, delete then if (layersOrdenerPreferences != null) { if (layersOrdenerPreferences.projectName != Application.productName) { AssetDatabase.DeleteAsset("Assets/MT Assets/_AssetsData/Preferences/SpriteMeshesLayersOrdener.asset"); layersOrdenerPreferences = null; AssetDatabase.SaveAssets(); AssetDatabase.Refresh(); } if (layersOrdenerPreferences != null && layersOrdenerPreferences.projectName == Application.productName) { //Set the position of Window instance.position = layersOrdenerPreferences.windowPosition; } } //If null, create and save a preferences file if (layersOrdenerPreferences == null) { layersOrdenerPreferences = ScriptableObject.CreateInstance <SmLayersOrdenerPreferences>(); layersOrdenerPreferences.projectName = Application.productName; AssetDatabase.CreateAsset(layersOrdenerPreferences, "Assets/MT Assets/_AssetsData/Preferences/SpriteMeshesLayersOrdener.asset"); AssetDatabase.SaveAssets(); AssetDatabase.Refresh(); } }