void Start() { m_AccessTokenSelector = UISelectorFactory.createSelector <AccessToken>(ProjectManagementContext <Project> .current, nameof(IProjectDataProvider <Project> .accessToken), OnAccessToken); m_ActiveProjectSelector = UISelectorFactory.createSelector <Project>(ProjectManagementContext <Project> .current, nameof(IProjectDataProvider <Project> .activeProject), OnActiveProjectChanged); if (m_GraphicManager == null) { m_GraphicManager = FindObjectOfType <MarkerGraphicManager>(); } }
public void Setup(IDispatcher dispatcher) { m_Dispatcher = dispatcher; m_MarkerEditContextTarget = MarkerEditContext.BindTarget(m_MarkerEdit); m_MarkerListContextTarget = MarkerListContext.BindTarget(m_MarkerList); m_MarkerDraggableEditorContextTarget = MarkerDraggableEditorContext.BindTarget(m_MarkerDrag); DispatchToken = m_Dispatcher.Register <Payload <IViewerAction> >(InvokeOnDispatchMarkers); if (m_NavigationModeUIController == null) { m_NavigationModeUIController = FindObjectOfType <NavigationModeUIController>(); } if (m_MarkerGraphicManager == null) { m_MarkerGraphicManager = FindObjectOfType <MarkerGraphicManager>(); } if (m_CardSelectionUIController == null) { m_CardSelectionUIController = FindObjectOfType <ARCardSelectionUIController>(); } // Configure actions in the controller and edit view LinkActions(m_MarkerController); LinkActions(ref m_MarkerEdit); LinkActions(ref m_MarkerList); m_NewMarkerButton.onClick.AddListener(OnCreateMarker); if (m_SelectionModeButton) { m_SelectionModeButton.onControlUp.AddListener(ToggleSelectionMode); } if (m_ScanQRButton) { m_ScanQRButton.onControlUp.AddListener(OnScanMarkerButton); } m_MarkerDialogController.OnEditToggled += HandleEditToggled; m_DraggableMarkerPlacement.OnValueUpdate += OnDragMarkerUpdate; m_ARModeSelector = UISelectorFactory.createSelector <SetARModeAction.ARMode>(ARContext.current, nameof(IARModeDataProvider.arMode), OnARModeChange); m_NavigationModeSelector = UISelectorFactory.createSelector <SetNavigationModeAction.NavigationMode>(NavigationContext.current, nameof(INavigationDataProvider.navigationMode)); }