mirror of
https://github.com/DCFApixels/DragonECS-AutoInjections.git
synced 2025-09-18 13:24:35 +08:00
fix runtime injections
This commit is contained in:
parent
fae94c020a
commit
4781dd323f
@ -156,15 +156,20 @@ namespace DCFApixels.DragonECS
|
||||
private EcsPipeline _pipeline;
|
||||
private List<object> _delayedInjects = new List<object>();
|
||||
private AutoInjectionMap _autoInjectionMap;
|
||||
private bool _preInitInjectCompleted = false;
|
||||
public void Inject(EcsPipeline obj) => _pipeline = obj;
|
||||
public void PreInject(object obj)
|
||||
{
|
||||
if(!_preInitInjectCompleted)
|
||||
_delayedInjects.Add(obj);
|
||||
else
|
||||
_autoInjectionMap.Inject(obj.GetType(), obj);
|
||||
}
|
||||
public void OnPreInitInjectionBefore() { }
|
||||
public void OnPreInitInjectionAfter()
|
||||
{
|
||||
_autoInjectionMap = new AutoInjectionMap(_pipeline);
|
||||
_preInitInjectCompleted = true;
|
||||
|
||||
foreach (var obj in _delayedInjects)
|
||||
_autoInjectionMap.Inject(obj.GetType(), obj);
|
||||
|
Loading…
Reference in New Issue
Block a user