fix inject module bug

This commit is contained in:
Mikhail 2024-09-07 22:17:08 +08:00
parent d611375ea2
commit eb0f996372

View File

@ -161,25 +161,24 @@ namespace DCFApixels.DragonECS
} }
private Builder AddModule_Internal(IEcsModule module, AddParams settedAddParams) private Builder AddModule_Internal(IEcsModule module, AddParams settedAddParams)
{ {
if (settedAddParams.flags.IsNoImport()) if (settedAddParams.flags.IsNoImport() == false)
{ {
return this; AddParams prms = _defaultAddParams;
} if (module is IEcsDefaultAddParams overrideInterface)
AddParams prms = _defaultAddParams; {
if (module is IEcsDefaultAddParams overrideInterface) prms = prms.Overwrite(overrideInterface.AddParams);
{ }
prms = prms.Overwrite(overrideInterface.AddParams); var oldDefaultAddParams = _defaultAddParams;
} _defaultAddParams = prms.Overwrite(settedAddParams);
var oldDefaultAddParams = _defaultAddParams;
_defaultAddParams = prms.Overwrite(settedAddParams);
module.Import(this); module.Import(this);
if(module is IInjectionUnit injectionUnit) _defaultAddParams = oldDefaultAddParams;
}
if (module is IInjectionUnit injectionUnit)
{ {
Injector.Inject(injectionUnit); Injector.Inject(injectionUnit);
} }
_defaultAddParams = oldDefaultAddParams;
return this; return this;
} }
#endregion #endregion