Esempio n. 1
0
 void OnEnable()
 {
     m_DisposeOnDisable.Add(m_ActiveProjectSelector = UISelectorFactory.createSelector <Project>(ProjectManagementContext <Project> .current, nameof(IProjectDataProvider <Project> .activeProject), OnActiveProjectChanged));
     m_DisposeOnDisable.Add(m_ActiveDialogSelector  = UISelectorFactory.createSelector <OpenDialogAction.DialogType>(UIStateContext.current, nameof(IDialogDataProvider.activeDialog), OnActiveDialogChanged));
     m_DisposeOnDisable.Add(m_DialogModeSelector    = UISelectorFactory.createSelector <SetDialogModeAction.DialogMode>(UIStateContext.current, nameof(IDialogDataProvider.dialogMode), OnDialogModeChanged));
     m_DisposeOnDestroy.Add(m_LoginStateSelector    = UISelectorFactory.createSelector <LoginState>(SessionStateContext <UnityUser, LinkPermission> .current, nameof(ISessionStateDataProvider <UnityUser, LinkPermission> .loggedState)));
 }
Esempio n. 2
0
        void Awake()
        {
            m_DisposeOnDestroy.Add(m_ToolBarEnabledSelector         = UISelectorFactory.createSelector <bool>(UIStateContext.current, nameof(IToolBarDataProvider.toolbarsEnabled)));
            m_DisposeOnDestroy.Add(m_CurrentARInstructionUISelector = UISelectorFactory.createSelector <IARInstructionUI>(ARContext.current, nameof(IARModeDataProvider.currentARInstructionUI)));
            m_DisposeOnDestroy.Add(UISelectorFactory.createSelector <bool>(ARToolStateContext.current, nameof(IARToolStatePropertiesDataProvider.previousStepEnabled),
                                                                           data =>
            {
                m_BackButton.button.interactable = m_ToolBarEnabledSelector.GetValue() && data;
                CheckButtonValidations();
            }));

            m_DisposeOnDestroy.Add(UISelectorFactory.createSelector <SetARToolStateAction.IUIButtonValidator>(ARToolStateContext.current, nameof(IARToolStatePropertiesDataProvider.okButtonValidator),
                                                                                                              data =>
            {
                m_Validator = data;
                CheckButtonValidations();
            }));

            m_DisposeOnDestroy.Add(UISelectorFactory.createSelector <SetOrbitTypeAction.OrbitType>(ToolStateContext.current, nameof(IToolStateDataProvider.orbitType)));
            m_DisposeOnDestroy.Add(UISelectorFactory.createSelector <OpenDialogAction.DialogType>(UIStateContext.current, nameof(IDialogDataProvider.activeDialog)));

            ProjectContext.current.stateChanged += OnProjectStateDataChanged;

            m_OkButton.buttonClicked   += OnOkButtonClicked;
            m_BackButton.buttonClicked += OnBackButtonClicked;
        }
        void Awake()
        {
            m_BackgroundButton.onClick.AddListener(OnBackgroundButtonClicked);
            m_LoginButton.onClick.AddListener(OnLoginButtonClicked);
            m_RegionButton.onClick.AddListener(OnRegionButtonClicked);
            m_HiddenButton.onClick.AddListener(OnHiddenButtonClicked);
            m_WelcomeButton.onClick.AddListener(OnWelcomeButtonClicked);

            m_CloudURLInput.onValueChanged.AddListener(OnCustomURLChanged);

            foreach (var button in m_RegionButtons)
            {
                button.regionButtonClicked += OnRegionOptionButtonClicked;
            }

            foreach (var button in m_CloudButtons)
            {
                button.cloudButtonClicked += OnCloudOptionButtonClicked;
            }

            m_CloudOKButton.onClick.AddListener(OnCloudOKButtonClicked);
            m_CloudCancelButton.onClick.AddListener(OnCloudCancelButtonClicked);

            UIStateManager.loginSettingChanged += OnLoginSettingChanged;

            m_VREnableSelector           = UISelectorFactory.createSelector <bool>(VRContext.current, nameof(IVREnableDataProvider.VREnable), OnVREnableChanged);
            m_LoggedStateSelector        = UISelectorFactory.createSelector <LoginState>(SessionStateContext <UnityUser, LinkPermission> .current, nameof(ISessionStateDataProvider <UnityUser, LinkPermission> .loggedState), OnLoggedStateChanged);
            m_LinkShareLoggedOutSelector = UISelectorFactory.createSelector <bool>(SessionStateContext <UnityUser, LinkPermission> .current, nameof(ISessionStateDataProvider <UnityUser, LinkPermission> .linkShareLoggedOut));

            UpdateSettings();

            // Init to LoginState.LoginSessionFromCache state.
            // If no previous session is found, LoginState.LoggedOut will be dispatched and UI will get unlocked.
            OnLoginSessionFromCache();
        }
 void Awake()
 {
     m_CharacterController = GetComponent <CharacterController>();
     m_RunningAction       = m_InputActionAsset["Run Action"];
     m_InputActionAsset["Jump Action"].performed += OnJump;
     m_MovingAction = m_InputActionAsset["Walk Navigation Action"];
     m_StepCycle    = 0f;
     m_NextStep     = m_StepCycle / 2f;
     m_Jumping      = false;
     m_Rigidbody    = GetComponent <Rigidbody>();
     m_DisposeOnDestroy.Add(m_BoundsGetter            = UISelectorFactory.createSelector <Bounds>(ProjectContext.current, "zoneBounds"));
     m_DisposeOnDestroy.Add(m_WalkInstructionSelector = UISelectorFactory.createSelector <IWalkInstructionUI>(WalkModeContext.current, nameof(IWalkModeDataProvider.instruction)));
     m_DisposeOnDestroy.Add(UISelectorFactory.createSelector <bool>(NavigationContext.current, nameof(INavigationDataProvider.moveEnabled),
                                                                    data =>
     {
         if (data)
         {
             m_MovingAction.Enable();
         }
         else
         {
             m_MovingAction.Disable();
         }
     }));
 }
        public void Initialize(IARModeUIController resolver)
        {
            m_ARModeUIController = (ARModeUIController)resolver;
            m_Raycaster          = RaycasterRef.Resolve(m_ARModeUIController);

            DisposeSelectors();
            m_FirstSelectedPlaneGetter      = UISelectorFactory.createSelector <GameObject>(ARPlacementContext.current, nameof(IARPlacementDataProvider.firstSelectedPlane));
            m_SecondSelectedPlaneGetter     = UISelectorFactory.createSelector <GameObject>(ARPlacementContext.current, nameof(IARPlacementDataProvider.secondSelectedPlane));
            m_PlacementRuleGameObjectGetter = UISelectorFactory.createSelector <GameObject>(ARPlacementContext.current, nameof(IARPlacementDataProvider.placementRulesGameObject));
            m_ObjectSelectionInfoGetter     = UISelectorFactory.createSelector <SelectObjectAction.IObjectSelectionInfo>(ProjectContext.current, nameof(IObjectSelectorDataProvider.objectSelectionInfo));

            m_States = new Dictionary <ViewBasedInstructionUI, SetARInstructionUIAction.InstructionUIStep>
            {
                { ViewBasedInstructionUI.Init, new SetARInstructionUIAction.InstructionUIStep {
                      stepIndex = (int)ViewBasedInstructionUI.Init, onNext = StartInstruction
                  } },
                { ViewBasedInstructionUI.AlignModelView, new SetARInstructionUIAction.InstructionUIStep {
                      stepIndex = (int)ViewBasedInstructionUI.AlignModelView, onNext = AlignModelViewNext, onBack = AlignModelViewBack
                  } },
                { ViewBasedInstructionUI.FindTheFloor, new SetARInstructionUIAction.InstructionUIStep {
                      stepIndex = (int)ViewBasedInstructionUI.FindTheFloor, onNext = FindTheFloorNext, onBack = FindTheFloorBack
                  } },
                { ViewBasedInstructionUI.ConfirmPlacement, new SetARInstructionUIAction.InstructionUIStep {
                      stepIndex = (int)ViewBasedInstructionUI.ConfirmPlacement, onNext = ConfirmPlacementNext, onBack = ConfirmPlacementBack
                  } },
                { ViewBasedInstructionUI.OnBoardingComplete, new SetARInstructionUIAction.InstructionUIStep {
                      stepIndex = (int)ViewBasedInstructionUI.OnBoardingComplete, onNext = OnBoardingCompleteNext
                  } },
            };
            Dispatcher.Dispatch(SelectObjectAction.From(new ObjectSelectionInfo()));
        }
 public override void Awake()
 {
     base.Awake();
     m_DisposeOnDestroy.Add(UISelectorFactory.createSelector <string>(FollowUserContext.current, nameof(IFollowUserDataProvider.userId), OnFollow));
     m_DisposeOnDestroy.Add(m_ActiveDialogSelector = UISelectorFactory.createSelector <OpenDialogAction.DialogType>(UIStateContext.current, nameof(IDialogDataProvider.activeDialog)));
     m_DisposeOnDestroy.Add(m_SelectedUserSelector = UISelectorFactory.createSelector <IUserInfoDialogDataProvider>(UIStateContext.current, nameof(IUIStateDataProvider.SelectedUserData)));
 }
        void OnDestroy()
        {
            Dispatcher.Dispatch(SetARModeAction.From(SetARModeAction.ARMode.None));

            StopAllCoroutines();

            if (m_MARSCamera != null)
            {
                m_MARSCamera.enabled = false;
            }

            if (UIStateManager.current != null && m_ARPlacementStateDataSelector.GetValue().placementRulesGameObject != null)
            {
                DestroyImmediate(m_ARPlacementStateDataSelector.GetValue().placementRulesGameObject);
            }

            UIStateManager.current.ResetSession();
            UIStateManager.current.PauseSession();

            // remove input system hooks
            m_InputActionAsset["Placement Rotate Action"].performed -= OnPlacementRotateAction;
            m_InputActionAsset["Placement Scale Action"].started    -= OnPlacementScaleActionStarted;
            m_InputActionAsset["Placement Scale Action"].performed  -= OnPlacementScaleAction;

            m_ARPlacementStateDataSelector = null;
            m_DisposeOnDestroy.ForEach(x => x.Dispose());
        }
Esempio n. 8
0
        void Awake()
        {
            m_DisposeOnDestroy.Add(m_DeviceCapabilitySelector = UISelectorFactory.createSelector <SetVREnableAction.DeviceCapability>(PipelineContext.current, nameof(IPipelineDataProvider.deviceCapability), OnDeviceCapabilityChanged));
            m_DisposeOnDestroy.Add(m_WalkInstructionSelector  = UISelectorFactory.createSelector <IWalkInstructionUI>(WalkModeContext.current, nameof(IWalkModeDataProvider.instruction)));
            m_DisposeOnDestroy.Add(UISelectorFactory.createSelector <SetForceNavigationModeAction.ForceNavigationModeTrigger>(ForceNavigationModeContext.current, nameof(IForceNavigationModeDataProvider.navigationMode), OnForceNavigationMode));
            m_DisposeOnDestroy.Add(m_ActiveSubDialogSelector = UISelectorFactory.createSelector <OpenDialogAction.DialogType>(UIStateContext.current, nameof(IDialogDataProvider.activeSubDialog), OnActiveSubDialogChanged));
            m_DisposeOnDestroy.Add(m_NavigationModeSelector  = UISelectorFactory.createSelector <SetNavigationModeAction.NavigationMode>(NavigationContext.current, nameof(INavigationDataProvider.navigationMode), OnNavigationModeChanged));
            m_DisposeOnDestroy.Add(UISelectorFactory.createSelector <bool>(UIStateContext.current, nameof(IToolBarDataProvider.toolbarsEnabled), OnToolBarEnabledChanged));
            m_DisposeOnDestroy.Add(UISelectorFactory.createSelector <List <NavigationModeInfo> >(NavigationContext.current, nameof(INavigationModeInfosDataProvider <NavigationModeInfo> .navigationModeInfos),
                                                                                                 list =>
            {
                if (list != null)
                {
                    foreach (var info in list)
                    {
                        m_SceneDictionary[info.navigationMode] = info.modeScenePath;
                    }
                }
            }));

            m_NavigationButton.buttonClicked += OnNavigationButtonClicked;

            m_FlyButton.selected        = true;
            m_FlyButton.buttonClicked  += OnFlyButtonClicked;
            m_ARButton.buttonClicked   += OnARButtonClicked;
            m_VRButton.buttonClicked   += OnVRButtonClicked;
            m_WalkButton.buttonClicked += OnWalkButtonClicked;
        }
Esempio n. 9
0
        void Awake()
        {
            m_DisposeOnDestroy.Add(UISelectorFactory.createSelector <bool>(UIStateContext.current, nameof(IToolBarDataProvider.toolbarsEnabled),
                                                                           data =>
            {
                m_ToolbarsEnabled = data;
            }));

            m_LeftSideBarController = GameObject.FindObjectOfType <LeftSideBarController>();

            m_DisposeOnDestroy.Add(UISelectorFactory.createSelector <bool>(ARToolStateContext.current, nameof(IARToolStatePropertiesDataProvider.scaleEnabled),
                                                                           data =>
            {
                m_ScaleButton.transform.parent.gameObject.SetActive(m_ToolbarsEnabled && data);
                m_LeftSideBarController.UpdateLayout();
            }));

            m_DisposeOnDestroy.Add(UISelectorFactory.createSelector <bool>(ARToolStateContext.current, nameof(IARToolStatePropertiesDataProvider.previousStepEnabled),
                                                                           data =>
            {
                m_BackButton.button.interactable = m_ToolbarsEnabled && data;
            }));


            m_DisposeOnDestroy.Add(m_CurrentARInstructionUIGetter = UISelectorFactory.createSelector <IARInstructionUI>(ARContext.current, nameof(IARModeDataProvider.currentARInstructionUI)));

            m_BackButton.buttonClicked   += OnBackButtonClicked;
            m_ScaleButton.buttonClicked  += OnScaleButtonClicked;
            m_TargetButton.buttonClicked += OnTargetButtonClicked;
        }
        void Start()
        {
            if (m_XrRig == null)
            {
                m_XrRig = FindObjectOfType <XRRig>();
            }

            m_XrRayInteractor        = GetComponent <XRRayInteractor>();
            m_XrInteractorLineVisual = GetComponent <XRInteractorLineVisual>();
            m_LinePoints             = new Vector3[k_MaxLinePoints];
            m_TeleportationTarget.gameObject.SetActive(false);
            m_MainCamera = Camera.main.transform;

            m_DisposeOnDestroy.Add(m_RootSelector           = UISelectorFactory.createSelector <Transform>(PipelineContext.current, nameof(IPipelineDataProvider.rootNode)));
            m_DisposeOnDestroy.Add(m_CamInfoSelector        = UISelectorFactory.createSelector <CameraTransformInfo>(ProjectContext.current, nameof(ITeleportDataProvider.cameraTransformInfo)));
            m_DisposeOnDestroy.Add(m_TeleportPickerSelector = UISelectorFactory.createSelector <IPicker>(ProjectContext.current, nameof(ITeleportDataProvider.teleportPicker),
                                                                                                         async =>
            {
                SetInitialTeleportDistance();
            }));
            m_DisposeOnDestroy.Add(UISelectorFactory.createSelector <SetActiveToolAction.ToolType>(ToolStateContext.current, nameof(IToolStateDataProvider.activeTool),
                                                                                                   type =>
            {
                m_CanTeleport = type != SetActiveToolAction.ToolType.SelectTool;
            }));
            m_TeleportAction = m_InputActionAsset["VR/Teleport"];
            m_InputActionAsset["VR/Select"].performed += OnTeleport;
        }
Esempio n. 11
0
        void Awake()
        {
            m_DialogWindow = GetComponent <DialogWindow>();

            m_ActiveDialogSelector = UISelectorFactory.createSelector <OpenDialogAction.DialogType>(UIStateContext.current, nameof(IDialogDataProvider.activeDialog),
                                                                                                    type =>
            {
                m_DialogButton.selected = type == OpenDialogAction.DialogType.SunStudy;
            });

            TimeOfDaySelector  = UISelectorFactory.createSelector <int>(SunStudyContext.current, nameof(ISunstudyDataProvider.timeOfDay), OnTimeOfDayChanged);
            TimeOfYearSelector = UISelectorFactory.createSelector <int>(SunStudyContext.current, nameof(ISunstudyDataProvider.timeOfYear), OnTimeOfYearChanged);
            UtcOffsetSelector  = UISelectorFactory.createSelector <int>(SunStudyContext.current, nameof(ISunstudyDataProvider.utcOffset), OnUtcChanged);
            LatitudeSelector   = UISelectorFactory.createSelector <int>(SunStudyContext.current, nameof(ISunstudyDataProvider.latitude), OnLatitudeChanged);
            LongitudeSelector  = UISelectorFactory.createSelector <int>(SunStudyContext.current, nameof(ISunstudyDataProvider.longitude), OnLongitudeChanged);
            NorthAngleSelector = UISelectorFactory.createSelector <int>(SunStudyContext.current, nameof(ISunstudyDataProvider.northAngle), OnNorthAngleChanged);

            // Initialize controls with current values
            OnTimeOfDayChanged(TimeOfDaySelector.GetValue());
            OnTimeOfYearChanged(TimeOfYearSelector.GetValue());
            OnUtcChanged(UtcOffsetSelector.GetValue());
            OnLatitudeChanged(LatitudeSelector.GetValue());
            OnLongitudeChanged(LongitudeSelector.GetValue());
            OnNorthAngleChanged(NorthAngleSelector.GetValue());

            QueryArgHandler.Register(this, k_NorthAngleQueryKey, OnNorthAngleControlChanged, NorthAngleQueryValue);
            QueryArgHandler.Register(this, k_TimeOfDayQueryKey, OnTimeOfDayControlChanged, TimeOfDayQueryValue);
            QueryArgHandler.Register(this, k_TimeOfYearQueryKey, OnTimeOfYearControlChanged, TimeOfYearQueryValue);
            QueryArgHandler.Register(this, k_UtcOffsetQueryKey, OnUtcOffsetControlChanged, UtcOffsetQueryValue);
            QueryArgHandler.Register(this, k_LatitudeQueryKey, OnLatitudeControlChanged, LatitudeQueryValue);
            QueryArgHandler.Register(this, k_LongitudeQueryKey, OnLongitudeControlChanged, LongitudeQueryValue);
        }
        protected override void Awake()
        {
            m_UnscaledScreenSize = Vector2.zero;

            m_scaleFactorSelector = UISelectorFactory.createSelector <float>(UIStateContext.current, nameof(IUIStateDisplayProvider <DisplayData> .display) + "." + nameof(IDisplayDataProvider.scaleFactor), OnScaleFactorChanged);
            m_CanvasScaler        = GetComponent <CanvasScaler>();
        }
Esempio n. 13
0
        void Awake()
        {
            m_ActiveSubDialogSelector = UISelectorFactory.createSelector <OpenDialogAction.DialogType>(UIStateContext.current, nameof(IDialogDataProvider.activeSubDialog), OnActiveSubDialogChanged);
            m_ActiveDialogSelector    = UISelectorFactory.createSelector <OpenDialogAction.DialogType>(UIStateContext.current, nameof(IDialogDataProvider.activeDialog), OnActiveDialogChanged);

            m_Button = GetComponent <Button>();
            m_Button.onClick.AddListener(OnDialogButtonClick);
        }
 void Awake()
 {
     m_PlacementRootGetter       = UISelectorFactory.createSelector <Transform>(ARPlacementContext.current, "placementRoot");
     m_BoundingBoxRootNodeGetter = UISelectorFactory.createSelector <Transform>(ARPlacementContext.current, "boundingBoxRootNode");
     m_RootGetter   = UISelectorFactory.createSelector <Transform>(PipelineContext.current, "rootNode");
     m_ARModeGetter = UISelectorFactory.createSelector <bool>(ARContext.current, nameof(IARModeDataProvider.arEnabled));
     m_MarkerController.AlignedObject = this;
 }
Esempio n. 15
0
 protected override void Awake()
 {
     if (tableContainer == null)
     {
         tableContainer = transform.parent.GetComponent <RectTransform>();
     }
     m_ScreenSizeQualifierGetter = UISelectorFactory.createSelector <SetDisplayAction.ScreenSizeQualifier>(UIStateContext.current, nameof(IUIStateDisplayProvider <DisplayData> .display) + "." + nameof(IDisplayDataProvider.screenSizeQualifier));
 }
        void Awake()
        {
            m_SelectionTarget.gameObject.SetActive(false);

            m_Disposable.Add(UISelectorFactory.createSelector <bool>(MeasureToolContext.current, nameof(IMeasureToolDataProvider.toolState), OnToolStateDataChanged));
            m_Disposable.Add(m_VREnableGetter = UISelectorFactory.createSelector <bool>(VRContext.current, nameof(IVREnableDataProvider.VREnable)));
            m_Disposable.Add(UISelectorFactory.createSelector <IPicker>(ProjectContext.current, nameof(IObjectSelectorDataProvider.objectPicker), OnObjectSelectorChanged));
        }
        void Awake()
        {
            m_DisposeOnDestroy.Add(UISelectorFactory.createSelector <SetProgressStateAction.ProgressState>(ProgressContext.current, nameof(IProgressDataProvider.progressState), OnProgressStateChanged));
            m_DisposeOnDestroy.Add(m_ProgressTotalCountGetter = UISelectorFactory.createSelector <int>(ProgressContext.current, nameof(IProgressDataProvider.totalCount)));
            m_DisposeOnDestroy.Add(m_ProgressCurrentGetter    = UISelectorFactory.createSelector <int>(ProgressContext.current, nameof(IProgressDataProvider.currentProgress)));

            m_Initialized = true;
        }
Esempio n. 18
0
        void Awake()
        {
            m_Camera            = GetComponent <FreeFlyCamera>();
            m_IsFollowingGetter = UISelectorFactory.createSelector <bool>(FollowUserContext.current, nameof(IFollowUserDataProvider.isFollowing), OnUserObjectChanged);
            m_UserObjectGetter  = UISelectorFactory.createSelector <GameObject>(FollowUserContext.current, nameof(IFollowUserDataProvider.userObject));

            m_PosElasticity = m_Camera.settings.positionElasticity;
            m_RotElasticity = m_Camera.settings.rotationElasticity;
        }
 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>();
     }
 }
Esempio n. 20
0
 void Awake()
 {
     m_DisposeOnDestroy.Add(m_ModelScaleSelector = UISelectorFactory.createSelector <SetModelScaleAction.ArchitectureScale>(ARPlacementContext.current, nameof(IARPlacementDataProvider.modelScale), OnModelScaleChanged));
     m_DisposeOnDestroy.Add(UISelectorFactory.createSelector <bool>(NavigationContext.current, nameof(INavigationDataProvider.showScaleReference),
                                                                    data =>
     {
         m_ARScaleText.gameObject.SetActive(data);
     }));
 }
        protected virtual void Awake()
        {
            m_SelectedDatas = new List <SelectionData>();

            m_DisposeOnDestroy.Add(m_MeasureToolStateSelector = UISelectorFactory.createSelector <bool>(MeasureToolContext.current, nameof(IMeasureToolDataProvider.toolState), OnMeasureToolStateDataChanged));
            m_DisposeOnDestroy.Add(UISelectorFactory.createSelector <List <NetworkUserData> >(RoomConnectionContext.current, nameof(IRoomConnectionDataProvider <NetworkUserData> .users), OnUsersChanged));
            m_DisposeOnDestroy.Add(m_LocalUserSelector = UISelectorFactory.createSelector <NetworkUserData>(RoomConnectionContext.current, nameof(IRoomConnectionDataProvider <NetworkUserData> .localUser), OnLocalUserChanged));
            m_DisposeOnDestroy.Add(UISelectorFactory.createSelector <bool>(VRContext.current, nameof(IVREnableDataProvider.VREnable), OnVREnable));
            m_DisposeOnDestroy.Add(m_ObjectPickerSelector        = UISelectorFactory.createSelector <IPicker>(ProjectContext.current, nameof(IObjectSelectorDataProvider.objectPicker)));
            m_DisposeOnDestroy.Add(m_ObjectSelectionInfoSelector = UISelectorFactory.createSelector <SelectObjectAction.IObjectSelectionInfo>(ProjectContext.current, nameof(IObjectSelectorDataProvider.objectSelectionInfo), OnObjectSelectionInfoChanged));
            m_DisposeOnDestroy.Add(m_HOLDFilterSelector          = UISelectorFactory.createSelector <bool>(SceneOptionContext.current, nameof(ISceneOptionData <SkyboxData> .filterHlods)));
            m_DisposeOnDestroy.Add(m_UnityUserSelector           = UISelectorFactory.createSelector <UnityUser>(SessionStateContext <UnityUser, LinkPermission> .current, nameof(ISessionStateDataProvider <UnityUser, LinkPermission> .user)));
            m_DisposeOnDestroy.Add(UISelectorFactory.createSelector <LoginState>(SessionStateContext <UnityUser, LinkPermission> .current, nameof(ISessionStateDataProvider <UnityUser, LinkPermission> .loggedState), OnLoggedStateChanged));
            m_DisposeOnDestroy.Add(UISelectorFactory.createSelector <HighlightFilterInfo>(ProjectContext.current, nameof(IProjectSortDataProvider.highlightFilter), info =>
            {
                StartCoroutine(WaitBeforeUpdateHighlight());
            }));
            m_DisposeOnDestroy.Add(UISelectorFactory.createSelector <Project>(ProjectManagementContext <Project> .current, nameof(IProjectDataProvider <Project> .activeProject), project =>
            {
                m_SelectedDatas.Clear();
                UpdateMultiSelection();
            }));
            m_DisposeOnDestroy.Add(m_ActiveToolSelector = UISelectorFactory.createSelector <SetActiveToolAction.ToolType>(ToolStateContext.current, nameof(IToolStateDataProvider.activeTool),
                                                                                                                          type =>
            {
                if (type != SetActiveToolAction.ToolType.SelectTool)
                {
                    StartCoroutine(UnselectObject());
                }

                m_SelectMode = type == SetActiveToolAction.ToolType.SelectTool && m_MeasureToolStateSelector.GetValue() == false;
                UpdateMultiSelection();
            }));
            m_DisposeOnDestroy.Add(UISelectorFactory.createSelector <OpenDialogAction.DialogType>(UIStateContext.current, nameof(IDialogDataProvider.activeSubDialog),
                                                                                                  type =>
            {
                UpdateMultiSelection();
            }));
            m_DisposeOnDestroy.Add(UISelectorFactory.createSelector <Color[]>(UIStateContext.current, nameof(IUIStateDataProvider.colorPalette),
                                                                              palette =>
            {
                SetColorPalette(palette);
            }));

            OrphanUIController.onPointerClick += OnPointerClick;

            m_Reflect.StreamingStarting += bridge =>
            {
                m_Reflect.ViewerBridge.GameObjectCreating   += OnGameObjectCreating;
                m_Reflect.ViewerBridge.GameObjectDestroying += OnGameObjectDestroying;
                m_Reflect.ViewerBridge.GameObjectEnabling   += OnGameObjectEnabling;
            };

            QueryArgHandler.Register(this, k_SelectionQueryKey, SelectionFromQueryValue, SelectionToQueryValue);
        }
        void Start()
        {
            m_CameraTransform = m_Camera.transform;
            m_FreeFlyCamera   = m_Camera.GetComponent <FreeFlyCamera>();

            m_TeleportTargetSelector  = UISelectorFactory.createSelector <Vector3>(ProjectContext.current, nameof(ITeleportDataProvider.teleportTarget), OnTeleportTargetChanged);
            m_TeleportPickerSelector  = UISelectorFactory.createSelector <IPicker>(ProjectContext.current, nameof(ITeleportDataProvider.teleportPicker));
            m_WalkModeEnableSelector  = UISelectorFactory.createSelector <bool>(WalkModeContext.current, nameof(IWalkModeDataProvider.walkEnabled));
            m_WalkInstructionSelector = UISelectorFactory.createSelector <IWalkInstructionUI>(WalkModeContext.current, nameof(IWalkModeDataProvider.instruction));
            m_HOLDFilterSelector      = UISelectorFactory.createSelector <bool>(SceneOptionContext.current, nameof(ISceneOptionData <SkyboxData> .filterHlods));
        }
 void Awake()
 {
     m_DialogModeSelector  = UISelectorFactory.createSelector <SetDialogModeAction.DialogMode>(UIStateContext.current, nameof(IDialogDataProvider.dialogMode));
     m_DisposableSelectors = new List <IDisposable>()
     {
         m_DialogModeSelector,
         UISelectorFactory.createSelector <OpenDialogAction.DialogType>(UIStateContext.current, nameof(IDialogDataProvider.activeDialog), OnActiveDialogChanged),
         UISelectorFactory.createSelector <OpenDialogAction.DialogType>(UIStateContext.current, nameof(IDialogDataProvider.activeSubDialog), OnActiveSubDialogChanged),
         UISelectorFactory.createSelector <CloseAllDialogsAction.OptionDialogType>(UIStateContext.current, nameof(IDialogDataProvider.activeOptionDialog), OnActiveOptionDialogChanged),
         UISelectorFactory.createSelector <SetProgressStateAction.ProgressState>(ProgressContext.current, nameof(IProgressDataProvider.progressState), OnProgressStateChanged),
     };
 }
 public override void Awake()
 {
     base.Awake();
     m_DialogWindow = GetComponent <DialogWindow>();
     if (m_FollowCameraButton != null)
     {
         m_FollowCameraText = m_FollowCameraButton.GetComponentInChildren <TMP_Text>();
     }
     m_DialogWindow.dialogOpen.AddListener(OnDialogOpen);
     RoomConnectionContext.current.stateChanged += OnConnectionStateChanged;
     m_SelectedUserDataSelector = UISelectorFactory.createSelector <UserInfoDialogData>(UIStateContext.current, nameof(IUIStateDataProvider.SelectedUserData), OnSelectedUserChanged);
 }
Esempio n. 25
0
        void Awake()
        {
            Assert.IsNull(s_Instance);
            s_Instance = this;

            m_DisposeOnDestroy.Add(m_DialogModeSelector = UISelectorFactory.createSelector <SetDialogModeAction.DialogMode>(UIStateContext.current, nameof(IDialogDataProvider.dialogMode),
                                                                                                                            mode =>
            {
                m_HelpScreenBackground.SetActive(mode == SetDialogModeAction.DialogMode.Help);
            }));

            m_DisposeOnDestroy.Add(UISelectorFactory.createSelector <SetHelpModeIDAction.HelpModeEntryID>(UIStateContext.current, nameof(IHelpModeDataProvider.helpModeEntryId), OnHelpModeEntryChanged));
        }
        protected override void OnEnable()
        {
            base.OnEnable();
            bool VREnable = false;

            if (UIStateManager.current != null)
            {
                m_VREnableSelector = UISelectorFactory.createSelector <bool>(VRContext.current, nameof(IVREnableDataProvider.VREnable));
                VREnable           = m_VREnableSelector.GetValue();
            }

            CalculateRadial(VREnable);
        }
        void Awake()
        {
            m_DisposeOnDestroy.Add(m_LocalUserSelector = UISelectorFactory.createSelector<NetworkUserData>(RoomConnectionContext.current, nameof(IRoomConnectionDataProvider<NetworkUserData>.localUser)));
            m_DisposeOnDestroy.Add(m_VREnableSelector = UISelectorFactory.createSelector<bool>(VRContext.current, nameof(IVREnableDataProvider.VREnable), OnVREnableChanged));
            m_DisposeOnDestroy.Add(m_WalkModeEnableSelector = UISelectorFactory.createSelector<bool>(WalkModeContext.current, nameof(IWalkModeDataProvider.walkEnabled)));

            m_DisposeOnDestroy.Add(m_RootSelector = UISelectorFactory.createSelector<Transform>(PipelineContext.current, nameof(IPipelineDataProvider.rootNode)));

            if (Camera.main != null)
                m_MainCamera = Camera.main.transform;

            SceneManager.sceneLoaded += OnSceneLoaded;
        }
        void Awake()
        {
            m_BackButton.buttonClicked   += OnBackButtonClicked;
            m_OkButton.buttonClicked     += OnOkButtonClicked;
            m_CancelButton.buttonClicked += OnCancelButtonClicked;
            m_ScaleButton.buttonClicked  += OnScaleButtonClicked;
            m_LeftSideBarController       = GameObject.FindObjectOfType <LeftSideBarController>();

            m_DisposableSelectors.Add(m_ToolBarEnabledSelector         = UISelectorFactory.createSelector <bool>(UIStateContext.current, nameof(IToolBarDataProvider.toolbarsEnabled)));
            m_DisposableSelectors.Add(m_CurrentARInstructionUISelector = UISelectorFactory.createSelector <IARInstructionUI>(ARContext.current, nameof(IARModeDataProvider.currentARInstructionUI)));

            m_DisposableSelectors.Add(UISelectorFactory.createSelector <bool>(ARToolStateContext.current, nameof(IARToolStatePropertiesDataProvider.previousStepEnabled),
                                                                              data =>
            {
                m_BackButton.button.interactable = m_ToolBarEnabledSelector.GetValue() && data;
            }));

            m_DisposableSelectors.Add(UISelectorFactory.createSelector <bool>(ARToolStateContext.current, nameof(IARToolStatePropertiesDataProvider.okEnabled),
                                                                              data =>
            {
                m_OkButton.button.interactable = m_ToolBarEnabledSelector.GetValue() && data;
                m_OkButton.selected            = m_OkButton.button.interactable;
            }));

            m_DisposableSelectors.Add(UISelectorFactory.createSelector <bool>(ARToolStateContext.current, nameof(IARToolStatePropertiesDataProvider.cancelEnabled),
                                                                              data =>
            {
                m_CancelButton.transform.parent.gameObject.SetActive(m_ToolBarEnabledSelector.GetValue() && data);
                m_LeftSideBarController.UpdateLayout();
            }));

            m_DisposableSelectors.Add(UISelectorFactory.createSelector <bool>(ARToolStateContext.current, nameof(IARToolStatePropertiesDataProvider.scaleEnabled),
                                                                              data =>
            {
                m_ScaleButton.transform.parent.gameObject.SetActive(m_ToolBarEnabledSelector.GetValue() && data);
                m_LeftSideBarController.UpdateLayout();
            }));

            m_DisposableSelectors.Add(UISelectorFactory.createSelector <SetARToolStateAction.IUIButtonValidator>(ARToolStateContext.current, nameof(IARToolStatePropertiesDataProvider.okButtonValidator),
                                                                                                                 data =>
            {
                m_Validator = data;
                CheckButtonValidations();
            }));

            m_DisposableSelectors.Add(UISelectorFactory.createSelector <bool>(ARPlacementContext.current, nameof(IARPlacementDataProvider.validTarget),
                                                                              data =>
            {
                CheckButtonValidations();
            }));
        }
        void Start()
        {
            m_MarkerController.OnMarkerListUpdated    += HandleMarkersUpdated;
            m_MarkerController.OnAlignedObjectUpdated += HandleMarkersUpdated;
            m_MarkerController.OnMarkerUpdated        += HandleMarkerUpdated;
            m_MarkerController.RenderedMarkerManager   = this;
            m_RootGetter = UISelectorFactory.createSelector <Transform>(PipelineContext.current, "rootNode");
            if (m_MarkerUIPresenter == null)
            {
                m_MarkerUIPresenter = FindObjectOfType <MarkerUIPresenter>();
            }

            m_ActiveDialogSelector = UISelectorFactory.createSelector <OpenDialogAction.DialogType>(UIStateContext.current, nameof(IDialogDataProvider.activeDialog), OnActiveDialogChanged);
        }
Esempio n. 30
0
        void Awake()
        {
            m_PrivateModeInteractable = true;
            m_LogOutInteractable      = true;
            m_DisposeOnDestroy.Add(UISelectorFactory.createSelector <bool>(VRContext.current, nameof(IVREnableDataProvider.VREnable), OnVREnableChanged));
            m_DisposeOnDestroy.Add(UISelectorFactory.createSelector <IButtonInteractable>(AppBarContext.current, nameof(IAppBarDataProvider.buttonInteractable), OnButtonInteractableChanged));
            m_DisposeOnDestroy.Add(m_LoginStateSelector = UISelectorFactory.createSelector <LoginState>(SessionStateContext <UnityUser, LinkPermission> .current, nameof(ISessionStateDataProvider <UnityUser, LinkPermission> .loggedState), OnLoggedStateDataChanged));
            m_DisposeOnDestroy.Add(m_UserSelector       = UISelectorFactory.createSelector <UnityUser>(SessionStateContext <UnityUser, LinkPermission> .current, nameof(ISessionStateDataProvider <UnityUser, LinkPermission> .user)));

            m_DisposeOnDestroy.Add(m_NetworkReachabilitySelector     = UISelectorFactory.createSelector <NetworkReachability>(SessionStateContext <UnityUser, LinkPermission> .current, nameof(ISessionStateDataProvider <UnityUser, LinkPermission> .networkReachability), NetworkReachabilityChanged));
            m_DisposeOnDestroy.Add(m_ProjectServerConnectionSelector = UISelectorFactory.createSelector <bool>(SessionStateContext <UnityUser, LinkPermission> .current, nameof(ISessionStateDataProvider <UnityUser, LinkPermission> .projectServerConnection), ProjectServerConnectionChanged));
            m_DisposeOnDestroy.Add(m_AccessTokenSelector             = UISelectorFactory.createSelector <AccessToken>(ProjectManagementContext <Project> .current, nameof(IProjectDataProvider <Project> .accessToken)));
            m_DisposeOnDestroy.Add(UISelectorFactory.createSelector <Project>(ProjectManagementContext <Project> .current, nameof(IProjectDataProvider <Project> .activeProject), OnActiveProjectChanged));
        }