breakpoint

before update unity version
This commit is contained in:
CortexCore
2024-03-04 18:45:21 +08:00
parent e2fbb14dd5
commit 9ad58a2ff4
5423 changed files with 14757 additions and 653 deletions

View File

@@ -146,7 +146,7 @@ namespace BITKit
var loadedAssemblies = BITApp.Assemblies.IsValid()
? BITApp.Assemblies
: AppDomain.CurrentDomain.GetAssemblies();
: GetAllAssemblies();
BIT4Log.Log<ReflectionHelper>($"已加载程序集:{loadedAssemblies.Length}个");
var result = new List<Type>();
for (var i = 0; i < loadedAssemblies.Length; i++)
@@ -227,6 +227,23 @@ namespace BITKit
State = InitializationState.Initialized;
BIT4Log.Log<ReflectionHelper>("已完成初始化");
}
private static Assembly[] GetAllAssemblies()
{
return AppDomain.CurrentDomain.GetAssemblies();
//return AppDomain.CurrentDomain.GetReferanceAssemblies().ToArray();
// var assemblies = new List<Assembly>();
// foreach (var assembly in AppDomain.CurrentDomain.GetAssemblies())
// {
// assemblies.Add(assembly);
// foreach (var assemblyName in assembly.GetReferencedAssemblies())
// {
// assemblies.Add(Assembly.Load(assemblyName));
// }
// }
// return assemblies.Distinct().ToArray();
}
[ExcuteOnStop]
public static void Reload()
{
@@ -238,4 +255,36 @@ namespace BITKit
methodsCache.Clear();
}
}
public static class Extents
{
public static List<Assembly> GetReferanceAssemblies(this AppDomain domain)
{
var list = new List<Assembly>();
domain.GetAssemblies().ForEach(i =>
{
GetReferanceAssemblies(i, list);
});
return list;
}
static void GetReferanceAssemblies(Assembly assembly, List<Assembly> list)
{
assembly.GetReferencedAssemblies().ForEach(i =>
{
try
{
var ass = Assembly.Load(i);
if (!list.Contains(ass))
{
list.Add(ass);
GetReferanceAssemblies(ass, list);
}
}
catch (Exception)
{
// ignored
}
});
}
}
}