object OnPanelOpened(object sender, object args) { ARGUIPanel panel; if (args is ARGUIPanel) { panel = (ARGUIPanel)args; foreach (var ARPanel in ARGUIPanels) { ARPanel.SetActive(false); } panel.SetActive(true); switch (panel.panelType) { case PanelType.Camera: _PanelTargetPos = panel.GetInversedInitialPos(); LaunchFeed(); break; case PanelType.PatientDetails: case PanelType.Radiographs: case PanelType.SurgeryMovement: case PanelType.SurgicalSimulation: StopFeed(); _currentDetailPanel = panel.GetComponent <ARDetailPanel>(); _PanelTargetPos = panel.GetInversedInitialPos(); break; case PanelType.Video: StopFeed(); _PanelTargetPos = panel.GetInversedInitialPos(); break; case PanelType.Home: StopFeed(); _HomeTargetPos = Vector2.zero; break; } _currentPanelIdx = Array.IndexOf(ARGUIPanels, panel); string msg = panel.panelHeader; Core.BroadcastEvent("OnUpdateHeader", this, msg); } return(null); }