From 313604645ca43aeed156e19d3d8b7d0e5d394f3d Mon Sep 17 00:00:00 2001 From: "Alex Pooley (@zuedev)" Date: Thu, 11 Jun 2026 23:50:51 +0100 Subject: cleanup --- .../Editor/PackageMaker/PackageMakerWindowData.cs | 48 ++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 Packages/com.vrchat.core.vpm-resolver/Editor/PackageMaker/PackageMakerWindowData.cs (limited to 'Packages/com.vrchat.core.vpm-resolver/Editor/PackageMaker/PackageMakerWindowData.cs') diff --git a/Packages/com.vrchat.core.vpm-resolver/Editor/PackageMaker/PackageMakerWindowData.cs b/Packages/com.vrchat.core.vpm-resolver/Editor/PackageMaker/PackageMakerWindowData.cs new file mode 100644 index 0000000..df8eef6 --- /dev/null +++ b/Packages/com.vrchat.core.vpm-resolver/Editor/PackageMaker/PackageMakerWindowData.cs @@ -0,0 +1,48 @@ +using System.IO; +using UnityEditor; +using UnityEngine; +using VRC.PackageManagement.PackageMaker; + +public class PackageMakerWindowData : ScriptableObject +{ + public static string defaultAssetPath = Path.Combine("Assets", "PackageMakerWindowData.asset"); + public string targetAssetFolder; + public string packageID; + + public string authorName; + public string authorEmail; + public string authorUrl; + public PackageMakerWindow.VRCPackageEnum relatedPackage; + + public static PackageMakerWindowData GetOrCreate() + { + var existingData = AssetDatabase.AssetPathToGUID(defaultAssetPath); + if (string.IsNullOrWhiteSpace(existingData)) + { + return Create(); + } + else + { + var saveData = AssetDatabase.LoadAssetAtPath(defaultAssetPath); + if (saveData == null) + { + Debug.LogError($"Could not load saved data but the save file exists. Resetting."); + return Create(); + } + return saveData; + } + } + + public static PackageMakerWindowData Create() + { + var saveData = CreateInstance(); + AssetDatabase.CreateAsset(saveData, defaultAssetPath); + AssetDatabase.SaveAssets(); + return saveData; + } + + public void Save() + { + AssetDatabase.SaveAssets(); + } +} -- cgit v1.2.3