void OnStateDataChanged(UIStateData data)
        {
            m_DialogButtonImage.enabled = data.activeDialog == DialogType.SceneOptions;

            if (m_CurrentsSceneOptionData == data.sceneOptionData)
            {
                return;
            }

            if (m_CurrentsSceneOptionData.enableTexture != data.sceneOptionData.enableTexture)
            {
                m_TextureToggle.on = data.sceneOptionData.enableTexture;
            }

            if (m_CurrentsSceneOptionData.enableLightData != data.sceneOptionData.enableLightData)
            {
                m_LightDataToggle.on = data.sceneOptionData.enableLightData;
            }

            if (m_CurrentsSceneOptionData.skyboxData != data.sceneOptionData.skyboxData)
            {
                if (data.sceneOptionData.skyboxData.skyboxType == SkyboxType.Light)
                {
                    m_SkyboxDropdown.SetValueWithoutNotify(0);
                }
                else if (data.sceneOptionData.skyboxData.skyboxType == SkyboxType.Dark)
                {
                    m_SkyboxDropdown.SetValueWithoutNotify(1);
                }
                else
                {
                    m_SkyboxDropdown.SetValueWithoutNotify(2);
                }
            }


            if (m_CurrentsSceneOptionData.enableClimateSimulation != data.sceneOptionData.enableClimateSimulation)
            {
                m_SimulationToggle.on = data.sceneOptionData.enableClimateSimulation;
            }

            if (m_CurrentsSceneOptionData.weatherType != data.sceneOptionData.weatherType)
            {
                if (data.sceneOptionData.weatherType == WeatherType.HeavyRain)
                {
                    m_WeatherDropdown.SetValueWithoutNotify(0);
                }
                else if (data.sceneOptionData.weatherType == WeatherType.Sunny)
                {
                    m_WeatherDropdown.SetValueWithoutNotify(1);
                }
            }

            m_TemperatureControl.SetValue(data.sceneOptionData.temperature);

            m_CurrentsSceneOptionData = data.sceneOptionData;
        }
Exemple #2
0
        void OnStateDataChanged(UIStateData data)
        {
            m_DialogButtonImage.enabled = data.activeDialog == DialogType.SunStudy;
            if (data.navigationState.navigationMode == NavigationMode.AR)
            {
                m_DialogButton.interactable = false;
            }
            else
            {
                m_DialogButton.interactable = data.toolbarsEnabled;
            }

            if (m_CurrentSunStudyData == data.sunStudyData)
            {
                return;
            }

            if (m_CurrentIsStaticMode != data.sunStudyData.isStaticMode)
            {
                if (data.sunStudyData.isStaticMode)
                {
                    m_Panel.SetActive(true);
                    ChangeSliderAlpha(m_TimeOfDayLabel, m_TimeOfDayText, m_TimeOfDayControl, m_TimeOfDaySlider, 0.5f);
                    ChangeSliderAlpha(m_TimeOfYearLabel, m_TimeOfYearText, m_TimeOfYearControl, m_TimeOfYearSlider, 0.5f);
                    ChangeSliderAlpha(m_UtcOffsetLabel, m_UtcOffsetText, m_UtcOffsetControl, m_UtcOffsetSlider, 0.5f);
                    ChangeSliderAlpha(m_LatitudeLabel, m_LatitudeText, m_LatitudeControl, m_LatitudeSlider, 0.5f);
                    ChangeSliderAlpha(m_LongitudeLabel, m_LongitudeText, m_LongitudeControl, m_LongitudeSlider, 0.5f);
                }
                else
                {
                    m_Panel.SetActive(false);
                    ChangeSliderAlpha(m_TimeOfDayLabel, m_TimeOfDayText, m_TimeOfDayControl, m_TimeOfDaySlider, 1f);
                    ChangeSliderAlpha(m_TimeOfYearLabel, m_TimeOfYearText, m_TimeOfYearControl, m_TimeOfYearSlider, 1f);
                    ChangeSliderAlpha(m_UtcOffsetLabel, m_UtcOffsetText, m_UtcOffsetControl, m_UtcOffsetSlider, 1f);
                    ChangeSliderAlpha(m_LatitudeLabel, m_LatitudeText, m_LatitudeControl, m_LatitudeSlider, 1f);
                    ChangeSliderAlpha(m_LongitudeLabel, m_LongitudeText, m_LongitudeControl, m_LongitudeSlider, 1f);
                }
                m_CurrentIsStaticMode = data.sunStudyData.isStaticMode;
            }

            m_TimeOfDayControl.SetValue(data.sunStudyData.timeOfDay);
            m_TimeOfYearControl.SetValue(data.sunStudyData.timeOfYear);
            m_UtcOffsetControl.SetValue(data.sunStudyData.utcOffset);
            m_LatitudeControl.SetValue(data.sunStudyData.latitude);
            m_LongitudeControl.SetValue(data.sunStudyData.longitude);
            m_NorthAngleControl.SetValue(data.sunStudyData.northAngle);

            m_TimeOfDayText.SetText(GetFormattedMinuteOfDay(data.sunStudyData.timeOfDay));
            m_TimeOfYearText.SetText(GetFormattedDayOfYear(DateTime.Now.Year, data.sunStudyData.timeOfYear));
            m_UtcOffsetText.SetText(GetFormattedUtc(data.sunStudyData.utcOffset));
            m_LatitudeText.SetText($"{data.sunStudyData.latitude}");
            m_LongitudeText.SetText($"{data.sunStudyData.longitude}");
            m_NorthAngleText.SetText($"{data.sunStudyData.northAngle}");

            m_CurrentSunStudyData = data.sunStudyData;
        }
        void OnStateDataChanged(UIStateData data)
        {
            m_DialogButtonImage.enabled = data.activeDialog == DialogType.CameraOptions;
            m_DialogButton.interactable = data.toolbarsEnabled;

            if (m_CurrentCameraOptionData != data.cameraOptionData)
            {
                int cameraProjectionTypeIndex = 0;
                switch (data.cameraOptionData.cameraProjectionType)
                {
                case CameraProjectionType.Perspective:
                    cameraProjectionTypeIndex = 0;
                    break;

                case CameraProjectionType.Orthographic:
                    cameraProjectionTypeIndex = 1;
                    break;
                }
                m_CameraTypeDropdown.SetValueWithoutNotify(cameraProjectionTypeIndex);

                int cameraViewTypeIndex = 0;
                switch (data.cameraOptionData.cameraViewType)
                {
                case CameraViewType.Default:
                    cameraViewTypeIndex = -1;
                    break;

                case CameraViewType.Top:
                    cameraViewTypeIndex = 0;
                    break;

                case CameraViewType.Left:
                    cameraViewTypeIndex = 1;
                    break;

                case CameraViewType.Right:
                    cameraViewTypeIndex = 2;
                    break;
                }
                if (cameraViewTypeIndex != -1)
                {
                    m_CameraViewDropdown.SetValueWithoutNotify(cameraViewTypeIndex);
                }


                m_JoysticksToggle.on = data.cameraOptionData.enableJoysticks;

                var joystickPreferenceIndex = data.cameraOptionData.joystickPreference == JoystickPreference.RightHanded ? 0 : 1;
                m_JoystickPreferenceSwitch.activePropertyIndex = joystickPreferenceIndex;

                m_NavigationAutoToggle.on = data.cameraOptionData.enableAutoNavigationSpeed;
                m_NavigationSpeedControl.SetValue(data.cameraOptionData.navigationSpeed);

                m_CurrentCameraOptionData = data.cameraOptionData;
            }
        }
Exemple #4
0
        void OnDebugStateChanged(UIDebugStateData data)
        {
            if (m_CurrentsDebugOptionsData == data.debugOptionsData)
            {
                return;
            }

            m_GesturesTrackingToggle.on = data.debugOptionsData.gesturesTrackingEnabled;
            m_ARAxisTrackingToggle.on   = data.debugOptionsData.ARAxisTrackingEnabled;

            m_DebugBoundingBoxMaterialToggle.on = data.debugOptionsData.useDebugBoundingBoxMaterials;
            m_CullingToggle.on        = data.debugOptionsData.useCulling;
            m_StaticBatchingToggle.on = data.debugOptionsData.useStaticBatching;

            m_AnglePrioritySlider.SetValue(data.debugOptionsData.spatialPriorityWeights.x);
            m_DistancePrioritySlider.SetValue(data.debugOptionsData.spatialPriorityWeights.y);
            m_SizePrioritySlider.SetValue(data.debugOptionsData.spatialPriorityWeights.z);

            m_CurrentsDebugOptionsData = data.debugOptionsData;
        }
        void Awake()
        {
            m_DialogButtonImage = m_DialogButton.GetComponent <Image>();
            m_DialogWindow      = GetComponent <DialogWindow>();

            m_DisposeOnDestroy.Add(UISelectorFactory.createSelector <OpenDialogAction.DialogType>(UIStateContext.current, nameof(IDialogDataProvider.activeDialog),
                                                                                                  type =>
            {
                m_DialogButtonImage.enabled = type == OpenDialogAction.DialogType.CameraOptions;
            }));

            m_DisposeOnDestroy.Add(UISelectorFactory.createSelector <bool>(UIStateContext.current, nameof(IToolBarDataProvider.toolbarsEnabled), data => { m_DialogButton.interactable = data; }));

            m_DisposeOnDestroy.Add(UISelectorFactory.createSelector <SetCameraProjectionTypeAction.CameraProjectionType>(CameraOptionsContext.current, nameof(ICameraOptionsDataProvider.cameraProjectionType), OnCameraProjectionTypeChanged));
            m_DisposeOnDestroy.Add(UISelectorFactory.createSelector <ICameraViewOption>(CameraOptionsContext.current, nameof(ICameraOptionsDataProvider.cameraViewOption), OnCameraViewTypeChanged));
            m_DisposeOnDestroy.Add(UISelectorFactory.createSelector <bool>(CameraOptionsContext.current, nameof(ICameraOptionsDataProvider.enableJoysticks),
                                                                           data =>
            {
                m_JoysticksToggle.on = data;
            }));

            m_DisposeOnDestroy.Add(UISelectorFactory.createSelector <JoystickPreference>(CameraOptionsContext.current, nameof(ICameraOptionsDataProvider.joystickPreference),
                                                                                         data =>
            {
                var joystickPreferenceIndex = data == JoystickPreference.RightHanded ? 0 : 1;
                m_JoystickPreferenceSwitch.activePropertyIndex = joystickPreferenceIndex;
            }));

            m_DisposeOnDestroy.Add(UISelectorFactory.createSelector <bool>(CameraOptionsContext.current, nameof(ICameraOptionsDataProvider.enableAutoNavigationSpeed),
                                                                           data =>
            {
                m_NavigationAutoToggle.on = data;
            }));

            m_DisposeOnDestroy.Add(UISelectorFactory.createSelector <int>(CameraOptionsContext.current, nameof(ICameraOptionsDataProvider.navigationSpeed),
                                                                          data =>
            {
                m_NavigationSpeedControl.SetValue(data);
            }));
        }
        void Awake()
        {
            m_DialogWindow = GetComponent <DialogWindow>();
            m_Disposables.Add(UISelectorFactory.createSelector <float>(SceneOptionContext.current, nameof(ISceneOptionData <SkyboxData> .temperature), newData => { m_TemperatureControl.SetValue(newData); }));
            m_Disposables.Add(m_SkyboxDatSelector   = UISelectorFactory.createSelector <SkyboxData>(SceneOptionContext.current, nameof(ISceneOptionData <SkyboxData> .skyboxData), OnSkyboxDataChanged));
            m_Disposables.Add(m_WeatherTypeSelector = UISelectorFactory.createSelector <WeatherType>(SceneOptionContext.current, nameof(ISceneOptionData <SkyboxData> .weatherType), OnWeatherTypeChanged));
            m_Disposables.Add(m_VREnableSelector    = UISelectorFactory.createSelector <bool>(VRContext.current, nameof(VRStateData.VREnable)));
            m_Disposables.Add(UISelectorFactory.createSelector <IButtonVisibility>(AppBarContext.current, nameof(IAppBarDataProvider.buttonVisibility), OnButtonVisibilityChanged));
            m_Disposables.Add(UISelectorFactory.createSelector <IButtonInteractable>(AppBarContext.current, nameof(IAppBarDataProvider.buttonInteractable), OnButtonInteractableChanged));

            m_Disposables.Add(m_TouchOrbitTypeSelector = UISelectorFactory.createSelector <SetOrbitTypeAction.OrbitType>(SceneOptionContext.current, nameof(ISceneOptionData <SkyboxData> .touchOrbitType), OnTouchOrbitTypeChanged));

            m_ButtonVisibility = true;
            m_Disposables.Add(m_ActiveDialogSelector = UISelectorFactory.createSelector <OpenDialogAction.DialogType>(UIStateContext.current, nameof(IDialogDataProvider.activeSubDialog), OnActiveSubDialogChanged));
            m_Disposables.Add(m_ToolStateSelector    = UISelectorFactory.createSelector <SetInfoTypeAction.InfoType>(ToolStateContext.current, nameof(IToolStateDataProvider.infoType), OnToolStateChange));
        }
Exemple #7
0
 void OnNorthAngleChanged(int northAngle)
 {
     m_NorthAngleControl.SetValue(northAngle);
     m_NorthAngleText.SetText($"{northAngle}");
 }
Exemple #8
0
 void OnLongitudeChanged(int longitude)
 {
     m_LongitudeControl.SetValue(longitude);
     m_LongitudeText.SetText($"{longitude}");
 }
Exemple #9
0
 void OnLatitudeChanged(int latitude)
 {
     m_LatitudeControl.SetValue(latitude);
     m_LatitudeText.SetText($"{latitude}");
 }
Exemple #10
0
 void OnUtcChanged(int utc)
 {
     m_UtcOffsetControl.SetValue(utc);
     m_UtcOffsetText.SetText(GetFormattedUtc(utc));
 }
Exemple #11
0
 void OnTimeOfYearChanged(int timeOfYear)
 {
     m_TimeOfYearControl.SetValue(timeOfYear);
     m_TimeOfYearText.SetText(GetFormattedDayOfYear(DateTime.Now.Year, timeOfYear));
 }
Exemple #12
0
 void OnTimeOfDayChanged(int timeOfDay)
 {
     m_TimeOfDayControl.SetValue(timeOfDay);
     m_TimeOfDayText.SetText(GetFormattedMinuteOfDay(timeOfDay));
 }
Exemple #13
0
        void Awake()
        {
            // get existing quality levels instead of hard-coding them
            m_QualitySettingsNames = QualitySettings.names;
            m_QualityDropdown.AddOptions(m_QualitySettingsNames.ToList());

            m_DisposableSelectors.Add(m_QualitySettingsSelector = UISelectorFactory.createSelector <IQualitySettingsDataProvider>(ApplicationSettingsContext.current, nameof(IApplicationSettingsDataProvider <QualityState> .qualityStateData),
                                                                                                                                  (qualitySettings) =>
            {
                m_QualitySettingValue.text = qualitySettings.isAutomatic ?
                                             string.Format(AUTO_QUALITY_FORMAT, m_QualitySettingsNames[qualitySettings.qualityLevel]) :
                                             m_QualitySettingsNames[qualitySettings.qualityLevel];
            }));

            m_DialogWindow = GetComponent <DialogWindow>();

            m_DisposableSelectors.Add(UISelectorFactory.createSelector <bool>(SceneOptionContext.current, nameof(ISceneOptionData <SkyboxData> .enableDebugOption), OnEnableDebugOptionChanged));

            m_DisposableSelectors.Add(UISelectorFactory.createSelector <bool>(DebugOptionContext.current, nameof(IDebugOptionDataProvider.gesturesTrackingEnabled), (enable) =>
            {
                m_GesturesTrackingToggle.on = enable;
                m_InfoButtonGameObject.SetActive(enable);
            }));

            m_DisposableSelectors.Add(UISelectorFactory.createSelector <bool>(DebugOptionContext.current, nameof(IDebugOptionDataProvider.ARAxisTrackingEnabled), (enable) =>
            {
                m_ARAxisTrackingToggle.on = enable;
            }));

            m_DisposableSelectors.Add(UISelectorFactory.createSelector <bool>(DebugOptionContext.current, nameof(IDebugOptionDataProvider.useDebugBoundingBoxMaterials), (enable) =>
            {
                m_DebugBoundingBoxMaterialToggle.on = enable;
            }));

            m_DisposableSelectors.Add(UISelectorFactory.createSelector <bool>(DebugOptionContext.current, nameof(IDebugOptionDataProvider.useCulling), (enable) =>
            {
                m_CullingToggle.on = enable;
            }));

            m_DisposableSelectors.Add(m_SpatialPriorityWeightsSelector = UISelectorFactory.createSelector <Vector3>(DebugOptionContext.current, nameof(IDebugOptionDataProvider.spatialPriorityWeights), (weights) =>
            {
                m_AnglePrioritySlider.SetValue(weights.x);
                m_DistancePrioritySlider.SetValue(weights.y);
                m_SizePrioritySlider.SetValue(weights.z);
            }));

            m_DisposableSelectors.Add(UISelectorFactory.createSelector <bool>(DebugOptionContext.current, nameof(IDebugOptionDataProvider.useSpatialManifest), (enable) =>
            {
                m_UseSpatialManifestToggle.on = enable;
            }));

            m_DisposableSelectors.Add(UISelectorFactory.createSelector <bool>(DebugOptionContext.current, nameof(IDebugOptionDataProvider.useHlods), (enable) =>
            {
                m_UseHlodsToggle.on = enable;
            }));

            var hlodModes = Enum.GetNames(typeof(HlodMode)).ToList();

            m_HlodDelayModeDropdown.AddOptions(hlodModes);
            m_DisposableSelectors.Add(UISelectorFactory.createSelector <int>(DebugOptionContext.current, nameof(IDebugOptionDataProvider.hlodDelayMode), (mode) =>
            {
                m_HlodDelayModeDropdown.SetValueWithoutNotify(mode);
            }));

            var prioritizers = Enum.GetNames(typeof(SyncTreeActor.Prioritizer)).ToList();

            m_HlodPrioritizerDropdown.AddOptions(prioritizers);
            m_DisposableSelectors.Add(UISelectorFactory.createSelector <int>(DebugOptionContext.current, nameof(IDebugOptionDataProvider.hlodPrioritizer), (mode) =>
            {
                m_HlodPrioritizerDropdown.SetValueWithoutNotify(mode);
            }));

            m_DisposableSelectors.Add(UISelectorFactory.createSelector <int>(DebugOptionContext.current, nameof(IDebugOptionDataProvider.targetFps), (count) =>
            {
                m_TargetFpsSlider.SetValue(count);
            }));

            m_DisposableSelectors.Add(UISelectorFactory.createSelector <bool>(DebugOptionContext.current, nameof(IDebugOptionDataProvider.showActorDebug), (enable) =>
            {
                m_ShowActorDebugToggle.on = enable;
            }));
        }