/// <summary> /// Closes registration for new systems, initialize all registered. /// </summary> public void Initialize() { #if DEBUG if (_inited) { throw new Exception("EcsSystems instance already initialized"); } for (var i = 0; i < _runSystemsCount; i++) { DisabledInDebugSystems.Add(false); } _inited = true; #endif #if !LEOECS_DISABLE_INJECT for (var i = 0; i < _injectSystemsCount; i++) { EcsInjections.Inject(_injectSystems[i], _world, _injections); } #endif for (var i = 0; i < _preInitSystemsCount; i++) { _preInitSystems[i].PreInitialize(); _world.ProcessDelayedUpdates(); } for (var i = 0; i < _initSystemsCount; i++) { _initSystems[i].Initialize(); _world.ProcessDelayedUpdates(); } }
/// <summary> /// Creates entity with single component at specified EcsWorld. /// </summary> /// <param name="world">World instance.</param> public static Inc1 Create(EcsWorld world) { world.GetFilter <EcsFilterSingle <Inc1> > (); var data = world.CreateEntityWith <Inc1> (); world.ProcessDelayedUpdates(); return(data); }
/// <summary> /// Closes registration for new systems, initialize all registered. /// </summary> public void Initialize() { #if DEBUG if (_inited) { throw new Exception("EcsSystems instance already initialized."); } for (var i = 0; i < _runSystemsCount; i++) { DisabledInDebugSystems.Add(false); } _inited = true; #endif for (var i = 0; i < _initSystemsCount; i++) { _initSystems[i].Initialize(); _world.ProcessDelayedUpdates(); } }
/// <summary> /// Closes registration for new systems, initialize all registered. /// </summary> public void Initialize() { #if DEBUG Internals.EcsHelpers.Assert(!_inited, "EcsSystems instance already initialized"); for (var i = 0; i < _runSystemsCount; i++) { DisabledInDebugSystems.Add(false); } _inited = true; #endif for (var i = 0; i < _preInitSystemsCount; i++) { _preInitSystems[i].PreInitialize(); _world.ProcessDelayedUpdates(); } for (var i = 0; i < _initSystemsCount; i++) { _initSystems[i].Initialize(); _world.ProcessDelayedUpdates(); } }
/// <summary> /// Closes registration for new systems, initialize all registered. /// </summary> public void Initialize() { #if DEBUG if (_inited) { throw new Exception("EcsSystems instance already initialized"); } for (var i = 0; i < _runSystemsCount; i++) { DisabledInDebugSystems.Add(false); } _inited = true; #endif #if !LEOECS_DISABLE_INJECT for (var i = 0; i < _injectSystemsCount; i++) { // injection for nested EcsSystems. var nestedSystems = _injectSystems[i] as EcsSystems; if (nestedSystems != null) { foreach (var pair in _injections) { nestedSystems._injections[pair.Key] = pair.Value; } } EcsInjections.Inject(_injectSystems[i], _world, _injections); } #endif for (int i = 0, iMax = _preInitSystemsCount; i < iMax; i++) { _preInitSystems[i].PreInitialize(); _world.ProcessDelayedUpdates(); } for (int i = 0, iMax = _initSystemsCount; i < iMax; i++) { _initSystems[i].Initialize(); _world.ProcessDelayedUpdates(); } }