This commit is contained in:
Mikhail 2023-03-29 19:40:18 +08:00
parent 7dd9f6bc5e
commit 17b8e596a9
2 changed files with 11 additions and 5 deletions

View File

@ -61,10 +61,13 @@ namespace DCFApixels.DragonECS
Type runnerBaseType = typeof(EcsRunner<>); Type runnerBaseType = typeof(EcsRunner<>);
List<Type> runnerHandlerTypes = new List<Type>(); List<Type> runnerHandlerTypes = new List<Type>();
runnerHandlerTypes = Assembly.GetAssembly(runnerBaseType)
.GetTypes() foreach (var assembly in AppDomain.CurrentDomain.GetAssemblies())
.Where(type => type.BaseType != null && type.BaseType.IsGenericType && runnerBaseType == type.BaseType.GetGenericTypeDefinition()) {
.ToList(); runnerHandlerTypes.AddRange(
assembly.GetTypes()
.Where(type => type.BaseType != null && type.BaseType.IsGenericType && runnerBaseType == type.BaseType.GetGenericTypeDefinition()));
}
#if DEBUG || !DRAGONECS_NO_SANITIZE_CHECKS #if DEBUG || !DRAGONECS_NO_SANITIZE_CHECKS
for (int i = 0; i < runnerHandlerTypes.Count; i++) for (int i = 0; i < runnerHandlerTypes.Count; i++)

View File

@ -190,7 +190,10 @@ namespace DCFApixels.DragonECS
} }
foreach (var item in _blockExecutionOrder) foreach (var item in _blockExecutionOrder)
{ {
result.AddRange(_systems[item]); if(_systems.TryGetValue(item, out var list))
{
result.AddRange(list);
}
} }
return new EcsSystems(result.ToArray()); return new EcsSystems(result.ToArray());