35 lines
1.0 KiB
C#
35 lines
1.0 KiB
C#
|
#if UNITY_EDITOR
|
|||
|
|
|||
|
using System;
|
|||
|
using System.IO;
|
|||
|
using System.Linq;
|
|||
|
using UnityEditor;
|
|||
|
using UnityEngine;
|
|||
|
|
|||
|
public static class PackageExporter
|
|||
|
{
|
|||
|
[MenuItem("Tools/Export Unitypackage")]
|
|||
|
public static void Export()
|
|||
|
{
|
|||
|
// configure
|
|||
|
var root = "UniRx.Async";
|
|||
|
var exportPath = "./UniRx.Async.unitypackage";
|
|||
|
|
|||
|
var path = Path.Combine(Application.dataPath, root);
|
|||
|
var assets = Directory.EnumerateFiles(path, "*", SearchOption.AllDirectories)
|
|||
|
.Where(x => Path.GetExtension(x) == ".cs" || Path.GetExtension(x) == ".asmdef" || Path.GetExtension(x) == ".json")
|
|||
|
.Select(x => "Assets" + x.Replace(Application.dataPath, "").Replace(@"\", "/"))
|
|||
|
.ToArray();
|
|||
|
|
|||
|
UnityEngine.Debug.Log("Export below files" + Environment.NewLine + string.Join(Environment.NewLine, assets));
|
|||
|
|
|||
|
AssetDatabase.ExportPackage(
|
|||
|
assets,
|
|||
|
exportPath,
|
|||
|
ExportPackageOptions.Default);
|
|||
|
|
|||
|
UnityEngine.Debug.Log("Export complete: " + Path.GetFullPath(exportPath));
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
#endif
|