void OnActiveToolChanged() { m_ToolIsActive = ToolManager.IsActiveTool(this); if (m_CompareDataModule != null) { if (m_ToolIsActive) { m_CompareDataModule.StartComparing(); m_CompareDataModule.CompareDataChanged += UpdateOverlayUI; } else { m_CompareDataModule.StopComparing(); m_CompareDataModule.CompareDataChanged -= UpdateOverlayUI; } if (m_SceneViewInteractionModule != null) { m_SceneViewInteractionModule.RequestInteraction(this, m_ToolIsActive); if (m_ToolIsActive) { m_SceneViewInteractionModule.SelectionLimit = 1; m_SceneViewInteractionModule.HoverBegin += OnHoverBegin; m_SceneViewInteractionModule.HoverEnd += OnHoverEnd; m_SceneViewInteractionModule.SelectionChanged += OnDataSelectionChanged; } else { m_SceneViewInteractionModule.HoverBegin -= OnHoverBegin; m_SceneViewInteractionModule.HoverEnd -= OnHoverEnd; m_SceneViewInteractionModule.SelectionChanged -= OnDataSelectionChanged; } } } if (m_ToolIsActive) { // Open simulation view if needed if (!SimulationSceneModule.UsingSimulation) { EditorWindow.GetWindow <SceneView>(); // Need to make sure there is a scene view otherwise the simulation view will close immediately EditorWindow.GetWindow <SimulationView>(); } SimulationView.ActiveSimulationView.Focus(); } UpdateOverlayUI(); OnSelectionChanged(); }
void OnActiveToolChanged() { #if UNITY_2020_2_OR_NEWER m_ToolIsActive = ToolManager.IsActiveTool(this); #else m_ToolIsActive = EditorTools.EditorTools.IsActiveTool(this); #endif if (m_DataVisualsModule != null) { m_DataVisualsModule.RequestDataVisuals(this, m_ToolIsActive); } if (m_ScenePlacementModule != null) { if (m_ToolIsActive) { m_ScenePlacementModule.ObjectDropped += OnObjectDropped; } else { m_ScenePlacementModule.ObjectDropped -= OnObjectDropped; } } if (m_InteractionModule != null) { m_InteractionModule.RequestInteraction(this, m_ToolIsActive); if (m_ToolIsActive) { m_InteractionModule.SelectionLimit = 2; } } UpdateInfoOverlayUI(); UpdateCreateUI(); }