void TryGetModules() { m_CompareDataModule = ModuleLoaderCore.instance.GetModule <CompareToDataModule>(); m_SimulatedObjectsManager = ModuleLoaderCore.instance.GetModule <SimulatedObjectsManager>(); m_SceneViewInteractionModule = ModuleLoaderCore.instance.GetModule <SceneViewInteractionModule>(); OnActiveToolChanged(); }
/// <summary> /// Invalidates the visuals for the entity and re-syncs the values in the editor. /// </summary> public void Invalidate() { EntityVisualsModule.instance.InvalidateVisual(m_SelectedEntity); OnDisable(); var simulatedObjectsManager = ModuleLoaderCore.instance.GetModule <SimulatedObjectsManager>(); foreach (var mb in monoBehaviourComponent.components) { if (simulatedObjectsManager == null) { continue; } // Early out if object was destroyed if (mb == null) { simulatedObjectsManager.DirtySimulatableScene(); break; } var simulatable = mb as ISimulatable; if (simulatable == null) { continue; } if (SimulatedObjectsManager.IsSimulatedObject(mb.gameObject)) { // If object is simulated we need to check the original version still exists. var original = simulatedObjectsManager.GetOriginalSimulatable(simulatable); if (original != null) { // Check if the object is destroyed var originalMono = original as MonoBehaviour; if (originalMono == null) { simulatedObjectsManager.DirtySimulatableScene(); break; } } } else { // If object is original(scene) we need to check the simulated version still exists. var simulated = simulatedObjectsManager.GetCopiedSimulatable(simulatable); if (simulated != null) { // Check if the object is destroyed var simulatedMono = simulated as MonoBehaviour; if (simulatedMono == null) { simulatedObjectsManager.DirtySimulatableScene(); break; } } } } OnEnable(); Repaint(); }
void IModuleDependency <SimulatedObjectsManager> .ConnectDependency(SimulatedObjectsManager dependency) { m_SimulatedObjectsManager = dependency; }