mirror of
https://github.com/Alex-Rachel/TEngine.git
synced 2025-08-14 16:51:28 +00:00
TEngine 6
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
|
||||
namespace YooAsset
|
||||
{
|
||||
public class PackageInvokeBuildParam
|
||||
{
|
||||
/// <summary>
|
||||
/// 包裹名称
|
||||
/// </summary>
|
||||
public readonly string PackageName;
|
||||
|
||||
/// <summary>
|
||||
/// 构建管线名称
|
||||
/// </summary>
|
||||
public string BuildPipelineName;
|
||||
|
||||
/// <summary>
|
||||
/// 用户数据
|
||||
/// </summary>
|
||||
public object BuildUserData;
|
||||
|
||||
/// <summary>
|
||||
/// 构建类所属程序集名称
|
||||
/// </summary>
|
||||
public string InvokeAssmeblyName;
|
||||
|
||||
/// <summary>
|
||||
/// 构建执行的类名全称
|
||||
/// 注意:类名必须包含命名空间!
|
||||
/// </summary>
|
||||
public string InvokeClassFullName;
|
||||
|
||||
/// <summary>
|
||||
/// 构建执行的方法名称
|
||||
/// 注意:执行方法必须满足 BindingFlags.Public | BindingFlags.Static
|
||||
/// </summary>
|
||||
public string InvokeMethodName;
|
||||
|
||||
public PackageInvokeBuildParam(string packageName)
|
||||
{
|
||||
PackageName = packageName;
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 720a3c8ecde4cd443bedd238c03713c0
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@@ -0,0 +1,8 @@
|
||||
|
||||
namespace YooAsset
|
||||
{
|
||||
public class PackageInvokeBuildResult
|
||||
{
|
||||
public string PackageRootDirectory;
|
||||
}
|
||||
}
|
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d80e7b3bcadc90148a3be4fc5b41d516
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@@ -0,0 +1,43 @@
|
||||
#if UNITY_EDITOR
|
||||
using System.Reflection;
|
||||
|
||||
namespace YooAsset
|
||||
{
|
||||
public static class PakcageInvokeBuilder
|
||||
{
|
||||
/// <summary>
|
||||
/// 调用Editro类来执行构建资源包任务
|
||||
/// </summary>
|
||||
public static PackageInvokeBuildResult InvokeBuilder(PackageInvokeBuildParam buildParam)
|
||||
{
|
||||
var assemblyName = buildParam.InvokeAssmeblyName;
|
||||
var className = buildParam.InvokeClassFullName;
|
||||
var methodName = buildParam.InvokeMethodName;
|
||||
var classType = Assembly.Load(assemblyName).GetType(className);
|
||||
return (PackageInvokeBuildResult)InvokePublicStaticMethod(classType, methodName, buildParam);
|
||||
}
|
||||
|
||||
private static object InvokePublicStaticMethod(System.Type type, string method, params object[] parameters)
|
||||
{
|
||||
var methodInfo = type.GetMethod(method, BindingFlags.Public | BindingFlags.Static);
|
||||
if (methodInfo == null)
|
||||
{
|
||||
UnityEngine.Debug.LogError($"{type.FullName} not found method : {method}");
|
||||
return null;
|
||||
}
|
||||
return methodInfo.Invoke(null, parameters);
|
||||
}
|
||||
}
|
||||
}
|
||||
#else
|
||||
namespace YooAsset
|
||||
{
|
||||
public static class PakcageInvokeBuilder
|
||||
{
|
||||
public static PackageInvokeBuildResult InvokeBuilder(PackageInvokeBuildParam buildParam)
|
||||
{
|
||||
throw new System.Exception("Only support in unity editor platform !");
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5b09fe4b7aa2d2143bc538976541b039
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
Reference in New Issue
Block a user