# Added - Added LICENCE. - Added build workflow. - Added release workflow. - Added PackageTools. # Changed - Update Unity from 2020.3.1f1 to 2020.8.1f1.
56 lines
1.5 KiB
C#
56 lines
1.5 KiB
C#
using System.IO;
|
|
using System.Linq;
|
|
using UnityEngine;
|
|
using UnityEditor;
|
|
|
|
namespace MackySoft.PackageTools.Editor {
|
|
|
|
public static class UnityPackageExporter {
|
|
|
|
// The name of the unitypackage to output.
|
|
const string k_PackageName = "SerializeReference-Extensions";
|
|
|
|
// The path to the package under the `Assets/` folder.
|
|
const string k_PackagePath = "MackySoft";
|
|
|
|
// Path to export to.
|
|
const string k_ExportPath = "Build";
|
|
|
|
const string k_SearchPattern = "*";
|
|
const string k_PackageToolsFolderName = "PackageTools";
|
|
const string k_ResourcesFolderName = "Resources";
|
|
|
|
[MenuItem("Tools/SerializeReference Extensions/Export Package")]
|
|
public static void Export () {
|
|
ExportPackage($"{k_ExportPath}/{k_PackageName}.unitypackage");
|
|
}
|
|
|
|
|
|
public static string ExportPackage (string exportPath) {
|
|
// Ensure export path.
|
|
var dir = new FileInfo(exportPath).Directory;
|
|
if (dir != null && !dir.Exists) {
|
|
dir.Create();
|
|
}
|
|
|
|
// Export
|
|
AssetDatabase.ExportPackage(
|
|
GetAssetPaths(),
|
|
exportPath,
|
|
ExportPackageOptions.Default
|
|
);
|
|
|
|
return Path.GetFullPath(exportPath);
|
|
}
|
|
|
|
public static string[] GetAssetPaths () {
|
|
var path = Path.Combine(Application.dataPath,k_PackagePath);
|
|
var assets = Directory.EnumerateFiles(path,k_SearchPattern,SearchOption.AllDirectories)
|
|
.Where(x => !x.Contains(k_PackageToolsFolderName) && !x.Contains(k_ResourcesFolderName))
|
|
.Select(x => "Assets" + x.Replace(Application.dataPath,"").Replace(@"\","/"))
|
|
.ToArray();
|
|
return assets;
|
|
}
|
|
|
|
}
|
|
} |