void IWorldOwner.OnEndEntitiesInjectionFromGameObjectConversion() { _ongoingInjections--; if (_ongoingInjections == 0) { var changeDetectionBegin = SimulationWorld.GetExistingSystem <ChangeDetectionSystemBegin>(); if (changeDetectionBegin != null) { changeDetectionBegin.ResetSample(); } } }
void IWorldOwner.OnBeginEntitiesInjectionFromGameObjectConversion(List <Scene> comingFromScenes) { foreach (var scene in comingFromScenes) { if (!_incomingEntityInjections.Contains(scene.name)) { Log.Error($"Unexpected entities coming from {scene.name} are being injected into the simulation. " + $"This should not happen"); } } if (_ongoingInjections == 0) { var changeDetectionEnd = SimulationWorld.GetExistingSystem <ChangeDetectionSystemEnd>(); if (changeDetectionEnd != null) { changeDetectionEnd.ForceEndSample(); } } _ongoingInjections++; }