public override void OnInspectorGUI() { serializedObject.Update(); if (_isInitialized.value.boolValue == false) { _bloomIntensity.value.floatValue = 1f; _bloomIntensity.overrideState.boolValue = true; _lensSurfaceDirtIntensity.value.floatValue = 2.5f; _lensSurfaceDirtIntensity.overrideState.boolValue = true; _lensSurfaceDiffractionIntensity.value.floatValue = 2f; _lensSurfaceDiffractionIntensity.overrideState.boolValue = true; _lensFlareGhostIntensity.value.floatValue = 1.0f; _lensFlareGhostIntensity.overrideState.boolValue = true; _lensFlareHaloIntensity.value.floatValue = 1.0f; _lensFlareHaloIntensity.overrideState.boolValue = true; _glareSample0Intensity.value.floatValue = 1.0f; _glareSample0Intensity.overrideState.boolValue = true; _glareSample1Intensity.value.floatValue = 1.0f; _glareSample1Intensity.overrideState.boolValue = true; _glareSample2Intensity.value.floatValue = 1.0f; _glareSample2Intensity.overrideState.boolValue = true; _glareSample3Intensity.value.floatValue = 1.0f; _glareSample3Intensity.overrideState.boolValue = true; _isInitialized.value.boolValue = true; } EditorHelper.VerticalSpace(); EditorHelper.EditorUIContent.IsNotSupportedWarning(); EditorHelper.EditorUIContent.XRUnityVersionWarning(); if (_workflow.value.enumValueIndex == 1) { EditorHelper.EditorUIContent.SelectiveWorkflowDeprecated(); } if (EditorHelper.HandleBehavior(_showEditorMainBehavior.value.serializedObject.targetObject, EditorHelper.EditorUIContent.mainTitle, "", _showEditorMainBehavior.value, null)) { PropertyField(_allowGeometryShaders, Tooltips.allowGeometryShaders); PropertyField(_allowComputeShaders, Tooltips.allowComputeShaders); PropertyField(_renderPriority, Tooltips.renderPriority); PropertyField(_debugView, Tooltips.debugView); PropertyField(_quality, Tooltips.quality); PropertyField(_antiFlickerMode, Tooltips.antiFlickerMode); PropertyField(_workflow, Tooltips.workflow); EditorHelper.EditorUIContent.SelectiveWorkflowVRWarning((Workflow)_workflow.value.enumValueIndex); if (_workflow.value.enumValueIndex == 1) { PropertyField(_selectiveRenderLayerMask, Tooltips.selectiveRenderLayerMask); } PropertyField(_anamorphicRatio, Tooltips.anamorphicRatio); PropertyField(_lumaScale, Tooltips.lumaScale); if (_renderPriority.value.enumValueIndex != 2 && _workflow.value.enumValueIndex != 2) { PropertyField(_blooming, Tooltips.blooming); } EditorHelper.VerticalSpace(); } if (EditorHelper.HandleBehavior(_showEditorBloomBehavior.value.serializedObject.targetObject, EditorHelper.EditorUIContent.bloomTitle, "", _showEditorBloomBehavior.value, null)) { if (_workflow.value.enumValueIndex == 0) { PropertyField(_bloomThreshold, Tooltips.bloomThreshold); } PropertyField(_bloomScattering, Tooltips.bloomScattering); PropertyField(_bloomIntensity, Tooltips.bloomIntensity); _bloomIntensity.value.floatValue = Mathf.Max(0, _bloomIntensity.value.floatValue); EditorHelper.VerticalSpace(); } if (EditorHelper.HandleBehavior(_showEditorLensSurfaceBehavior.value.serializedObject.targetObject, EditorHelper.EditorUIContent.lensSurfaceTitle, "", _showEditorLensSurfaceBehavior.value, _allowLensSurface.value)) { using (new EditorGUI.DisabledScope(!_allowLensSurface.value.boolValue)) { EditorHelper.DrawHeader(EditorHelper.EditorUIContent.dirtTitle); PropertyField(_lensSurfaceDirtTexture, Tooltips.lensSurfaceDirtTexture); PropertyField(_lensSurfaceDirtIntensity, Tooltips.lensSurfaceDirtIntensity); _lensSurfaceDirtIntensity.value.floatValue = Mathf.Max(0, _lensSurfaceDirtIntensity.value.floatValue); EditorGUILayout.Space(); EditorHelper.DrawHeader(EditorHelper.EditorUIContent.diffractionTitle); PropertyField(_lensSurfaceDiffractionTexture, Tooltips.lensSurfaceDiffractionTexture); PropertyField(_lensSurfaceDiffractionIntensity, Tooltips.lensSurfaceDiffractionIntensity); _lensSurfaceDiffractionIntensity.value.floatValue = Mathf.Max(0, _lensSurfaceDiffractionIntensity.value.floatValue); } EditorHelper.VerticalSpace(); } if (Compatibility.CheckLensFlareFeatureSupport() && _quality.value.intValue <= 4) { if (EditorHelper.HandleBehavior(_showEditorLensFlareBehavior.value.serializedObject.targetObject, EditorHelper.EditorUIContent.lensFlareTitle, "", _showEditorLensFlareBehavior.value, _allowLensFlare.value)) { using (new EditorGUI.DisabledScope(!_allowLensFlare.value.boolValue)) { PropertyField(_lensFlareStyle, Tooltips.lensFlareStyle); if (_workflow.value.enumValueIndex == 0) { PropertyField(_lensFlareThreshold, Tooltips.lensFlareThreshold); } PropertyField(_lensFlareScattering, Tooltips.lensFlareScattering); PropertyField(_lensFlareColorRamp, Tooltips.lensFlareColorRamp); PropertyField(_lensFlareChromaticAberration, Tooltips.lensFlareChromaticAberration); EditorGUILayout.Space(); EditorHelper.DrawHeader(EditorHelper.EditorUIContent.ghostsTitle); if (_lensFlareStyle.value.enumValueIndex == 0) { PropertyField(_lensFlareGhostFade, Tooltips.lensFlareGhostFade); PropertyField(_lensFlareGhostCount, Tooltips.lensFlareGhostCount); PropertyField(_lensFlareGhostDispersal, Tooltips.lensFlareGhostDispersal); } PropertyField(_lensFlareGhostIntensity, Tooltips.lensFlareGhostIntensity); _lensFlareGhostIntensity.value.floatValue = Mathf.Max(0, _lensFlareGhostIntensity.value.floatValue); EditorGUILayout.Space(); EditorHelper.DrawHeader(EditorHelper.EditorUIContent.haloTitle); if (_lensFlareStyle.value.enumValueIndex == 0) { PropertyField(_lensFlareHaloFade, Tooltips.lensFlareHaloFade); PropertyField(_lensFlareHaloSize, Tooltips.lensFlareHaloSize); } PropertyField(_lensFlareHaloIntensity, Tooltips.lensFlareHaloIntensity); _lensFlareHaloIntensity.value.floatValue = Mathf.Max(0, _lensFlareHaloIntensity.value.floatValue); } EditorHelper.VerticalSpace(); } } else { EditorHelper.DrawSplitter(); EditorHelper.EditorUIContent.LensFlareFeatureNotSupportedWarning(); } if (Compatibility.CheckGlareFeatureSupport() && _quality.value.intValue <= 4) { if (EditorHelper.HandleBehavior(_showEditorGlareBehavior.value.serializedObject.targetObject, EditorHelper.EditorUIContent.glareTitle, "", _showEditorGlareBehavior.value, _allowGlare.value)) { using (new EditorGUI.DisabledScope(!_allowGlare.value.boolValue)) { PropertyField(_glareStyle, Tooltips.glareStyle); if (_workflow.value.enumValueIndex == 0) { PropertyField(_glareThreshold, Tooltips.glareThreshold); } if (_glareStyle.value.enumValueIndex == 0) { PropertyField(_glareStreaks, Tooltips.glareStreaks); } PropertyField(_glareBlend, Tooltips.glareBlend); PropertyField(_glareAngle, Tooltips.glareAngle); PropertyField(_glareScattering, Tooltips.glareScattering); PropertyField(_glareIntensity, Tooltips.glareIntensity); _glareScattering.value.floatValue = Mathf.Max(0, _glareScattering.value.floatValue); _glareIntensity.value.floatValue = Mathf.Max(0, _glareIntensity.value.floatValue); if (_glareStyle.value.enumValueIndex == 0) { EditorGUILayout.Space(); EditorHelper.DrawHeader(EditorHelper.EditorUIContent.sample0Title); PropertyField(_glareSample0Scattering, Tooltips.glareSample0Scattering); PropertyField(_glareSample0Angle, Tooltips.glareSample0Angle); PropertyField(_glareSample0Offset, Tooltips.glareSample0Offset); PropertyField(_glareSample0Intensity, Tooltips.glareSample0Intensity); _glareSample0Intensity.value.floatValue = Mathf.Max(0, _glareSample0Intensity.value.floatValue); if (_glareStreaks.value.intValue >= 2) { EditorGUILayout.Space(); EditorHelper.DrawHeader(EditorHelper.EditorUIContent.sample1Title); PropertyField(_glareSample1Scattering, Tooltips.glareSample1Scattering); PropertyField(_glareSample1Angle, Tooltips.glareSample1Angle); PropertyField(_glareSample1Offset, Tooltips.glareSample1Offset); PropertyField(_glareSample1Intensity, Tooltips.glareSample1Intensity); _glareSample1Intensity.value.floatValue = Mathf.Max(0, _glareSample1Intensity.value.floatValue); } if (_glareStreaks.value.intValue >= 3) { EditorGUILayout.Space(); EditorHelper.DrawHeader(EditorHelper.EditorUIContent.sample2Title); PropertyField(_glareSample2Scattering, Tooltips.glareSample2Scattering); PropertyField(_glareSample2Angle, Tooltips.glareSample2Angle); PropertyField(_glareSample2Offset, Tooltips.glareSample2Offset); PropertyField(_glareSample2Intensity, Tooltips.glareSample2Intensity); _glareSample2Intensity.value.floatValue = Mathf.Max(0, _glareSample2Intensity.value.floatValue); } if (_glareStreaks.value.intValue >= 4) { EditorGUILayout.Space(); EditorHelper.DrawHeader(EditorHelper.EditorUIContent.sample3Title); PropertyField(_glareSample3Scattering, Tooltips.glareSample3Scattering); PropertyField(_glareSample3Angle, Tooltips.glareSample3Angle); PropertyField(_glareSample3Offset, Tooltips.glareSample3Offset); PropertyField(_glareSample3Intensity, Tooltips.glareSample3Intensity); _glareSample3Intensity.value.floatValue = Mathf.Max(0, _glareSample3Intensity.value.floatValue); } } } } EditorHelper.VerticalSpace(); } else { EditorHelper.DrawSplitter(); EditorHelper.EditorUIContent.GlareFeatureNotSupportedWarning(); } EditorHelper.DrawSplitter(); serializedObject.ApplyModifiedProperties(); }