diff --git a/Assets/Editor/PackageExporter.cs b/Assets/Editor/PackageExporter.cs index 984d8b2..bd25904 100644 --- a/Assets/Editor/PackageExporter.cs +++ b/Assets/Editor/PackageExporter.cs @@ -1,4 +1,5 @@ -using System.IO; +using System; +using System.IO; using UnityEditor; using UnityEngine; @@ -6,20 +7,24 @@ namespace Development { public static class PackageExporter { - [MenuItem("Dev/Export Package")] + private const string Target = "Assets/AnimeTask"; + + [MenuItem("Export/Package")] public static void Export() { - var directories = new[] - { - "Assets/AnimeTask", - }; - - // ReSharper disable once AssignNullToNotNullAttribute - var outputPath = Path.Combine(Path.GetDirectoryName(Application.dataPath), "AnimeTask.unitypackage"); - - AssetDatabase.ExportPackage(directories, outputPath, ExportPackageOptions.Recurse); + var packageText = AssetDatabase.LoadAssetAtPath(Path.Combine(Target, "package.json")); + var package = JsonUtility.FromJson(packageText.text); + var outputPath = Path.Combine(Path.GetDirectoryName(Application.dataPath) ?? "", $"{package.displayName}_v{package.version}.unitypackage"); + AssetDatabase.ExportPackage(new[] { Target }, outputPath, ExportPackageOptions.Recurse); Debug.LogFormat("ExportPackage {0}", outputPath); } } -} + + [Serializable] + public class PackageJson + { + public string displayName; + public string version; + } +} \ No newline at end of file