mirror of
https://github.com/tuyoogame/YooAsset.git
synced 2026-05-23 09:10:11 +00:00
update AssetBundleBuilder
资源包构建流程可扩展支持
This commit is contained in:
@@ -35,10 +35,20 @@ namespace YooAsset.Editor
|
||||
TypeCache.TypeCollection collection = TypeCache.GetTypesDerivedFrom(parentType);
|
||||
return collection.ToList();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取带有指定属性的所有类的类型
|
||||
/// </summary>
|
||||
public static List<Type> GetTypesWithAttribute(System.Type attrType)
|
||||
{
|
||||
TypeCache.TypeCollection collection = TypeCache.GetTypesWithAttribute(attrType);
|
||||
return collection.ToList();
|
||||
}
|
||||
#else
|
||||
private static readonly List<Type> _cacheTypes = new List<Type>(10000);
|
||||
private static void InitAssembly()
|
||||
{
|
||||
_cacheTypes.Clear();
|
||||
Assembly[] assemblies = AppDomain.CurrentDomain.GetAssemblies();
|
||||
foreach (Assembly assembly in assemblies)
|
||||
{
|
||||
@@ -65,6 +75,23 @@ namespace YooAsset.Editor
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取带有指定属性的所有类的类型
|
||||
/// </summary>
|
||||
public static List<Type> GetTypesWithAttribute(System.Type attrType)
|
||||
{
|
||||
List<Type> result = new List<Type>();
|
||||
for (int i = 0; i < _cacheTypes.Count; i++)
|
||||
{
|
||||
Type type = _cacheTypes[i];
|
||||
if (type.GetCustomAttribute(attrType) != null)
|
||||
{
|
||||
result.Add(type);
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
#endif
|
||||
|
||||
/// <summary>
|
||||
@@ -213,11 +240,11 @@ namespace YooAsset.Editor
|
||||
public static void FocusUnitySceneWindow()
|
||||
{
|
||||
EditorWindow.FocusWindowIfItsOpen<SceneView>();
|
||||
}
|
||||
public static void CloseUnityGameWindow()
|
||||
{
|
||||
System.Type T = Assembly.Load("UnityEditor").GetType("UnityEditor.GameView");
|
||||
EditorWindow.GetWindow(T, false, "GameView", true).Close();
|
||||
}
|
||||
public static void CloseUnityGameWindow()
|
||||
{
|
||||
System.Type T = Assembly.Load("UnityEditor").GetType("UnityEditor.GameView");
|
||||
EditorWindow.GetWindow(T, false, "GameView", true).Close();
|
||||
}
|
||||
public static void FocusUnityGameWindow()
|
||||
{
|
||||
@@ -399,7 +426,7 @@ namespace YooAsset.Editor
|
||||
FileInfo fileInfo = new FileInfo(filePath);
|
||||
fileInfo.MoveTo(destPath);
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 拷贝文件夹
|
||||
/// 注意:包括所有子目录的文件
|
||||
|
||||
Reference in New Issue
Block a user