diff --git a/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/CustomPass/CustomPassDrawer.cs b/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/CustomPass/CustomPassDrawer.cs index a2447a0d668..223129ffcf8 100644 --- a/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/CustomPass/CustomPassDrawer.cs +++ b/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/CustomPass/CustomPassDrawer.cs @@ -159,29 +159,19 @@ void DoCommonSettingsGUI(ref Rect rect) if ((commonPassUIFlags & PassUIFlag.TargetColorBuffer) != 0) { - EditorGUI.BeginProperty(rect, Styles.targetColorBuffer, m_TargetColorBuffer); - // There is still a bug with SerializedReference and PropertyField so we can't use it yet - // EditorGUI.PropertyField(rect, m_TargetColorBuffer, Styles.targetColorBuffer); - m_TargetColorBuffer.intValue = (int)(CustomPass.TargetBuffer)EditorGUI.EnumPopup(rect, Styles.targetColorBuffer, (CustomPass.TargetBuffer)m_TargetColorBuffer.intValue); - EditorGUI.EndProperty(); + EditorGUI.PropertyField(rect, m_TargetColorBuffer, Styles.targetColorBuffer); rect.y += Styles.defaultLineSpace; } if ((commonPassUIFlags & PassUIFlag.TargetDepthBuffer) != 0) { - EditorGUI.BeginProperty(rect, Styles.targetColorBuffer, m_TargetDepthBuffer); - // EditorGUI.PropertyField(rect, m_TargetDepthBuffer, Styles.targetDepthBuffer); - m_TargetDepthBuffer.intValue = (int)(CustomPass.TargetBuffer)EditorGUI.EnumPopup(rect, Styles.targetDepthBuffer, (CustomPass.TargetBuffer)m_TargetDepthBuffer.intValue); - EditorGUI.EndProperty(); + EditorGUI.PropertyField(rect, m_TargetDepthBuffer, Styles.targetDepthBuffer); rect.y += Styles.defaultLineSpace; } if ((commonPassUIFlags & PassUIFlag.ClearFlags) != 0) { - EditorGUI.BeginProperty(rect, Styles.clearFlags, m_ClearFlags); - // EditorGUI.PropertyField(rect, m_ClearFlags, Styles.clearFlags); - m_ClearFlags.intValue = (int)(ClearFlag)EditorGUI.EnumPopup(rect, Styles.clearFlags, (ClearFlag)m_ClearFlags.intValue); - EditorGUI.EndProperty(); + EditorGUI.PropertyField(rect, m_ClearFlags, Styles.clearFlags); rect.y += Styles.defaultLineSpace; } } diff --git a/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/CustomPass/CustomPassVolumeEditor.cs b/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/CustomPass/CustomPassVolumeEditor.cs index c166482fede..1297d2f2509 100644 --- a/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/CustomPass/CustomPassVolumeEditor.cs +++ b/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/CustomPass/CustomPassVolumeEditor.cs @@ -195,6 +195,7 @@ void CreateReorderableList(SerializedProperty passList) passList.serializedObject.ApplyModifiedProperties(); var customPass = passList.GetArrayElementAtIndex(index); + customPass.managedReferenceValue = m_Volume.customPasses[index]; var drawer = GetCustomPassDrawer(customPass, m_Volume.customPasses[index], index); if (drawer != null) drawer.OnGUI(rect, customPass, null); diff --git a/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/CustomPass/DrawRenderersCustomPassDrawer.cs b/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/CustomPass/DrawRenderersCustomPassDrawer.cs index 79d7f9ba006..d730f4ce136 100644 --- a/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/CustomPass/DrawRenderersCustomPassDrawer.cs +++ b/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/CustomPass/DrawRenderersCustomPassDrawer.cs @@ -160,9 +160,7 @@ protected override void DoPassGUI(SerializedProperty customPass, Rect rect) DoShaderPassesList(ref rect); #endif - // TODO: remove all this code when the fix for SerializedReference lands - m_SortingCriteria.intValue = (int)(SortingCriteria)EditorGUI.EnumFlagsField(rect, Styles.sortingCriteria, (SortingCriteria)m_SortingCriteria.intValue); - // EditorGUI.PropertyField(rect, m_SortingCriteria, Styles.sortingCriteria); + EditorGUI.PropertyField(rect, m_SortingCriteria, Styles.sortingCriteria); rect.y += Styles.defaultLineSpace; EditorGUI.indentLevel--; @@ -210,8 +208,7 @@ void DoFilters(ref Rect rect) EditorGUI.indentLevel++; EditorGUI.BeginProperty(rect, Styles.renderQueueFilter, m_RenderQueue); // There is still a bug with SerializedReference and PropertyField so we can't use it yet - // EditorGUI.PropertyField(rect, m_RenderQueue, Styles.renderQueueFilter); - m_RenderQueue.intValue = (int)(CustomPass.RenderQueueType)EditorGUI.EnumPopup(rect, Styles.renderQueueFilter, (CustomPass.RenderQueueType)m_RenderQueue.intValue); + EditorGUI.PropertyField(rect, m_RenderQueue, Styles.renderQueueFilter); EditorGUI.EndProperty(); rect.y += Styles.defaultLineSpace; if (ShowOpaqueObjectWarning()) @@ -260,9 +257,7 @@ void DoMaterialOverride(ref Rect rect) else { EditorGUI.BeginProperty(rect, Styles.renderQueueFilter, m_RenderQueue); - // There is still a bug with SerializedReference and PropertyField so we can't use it yet - // EditorGUI.PropertyField(rect, m_ShaderPass, Styles.shaderPass); - m_ShaderPass.intValue = (int)(DrawRenderersCustomPass.ShaderPass)EditorGUI.EnumPopup(rect, Styles.shaderPass, (DrawRenderersCustomPass.ShaderPass)m_ShaderPass.intValue); + EditorGUI.PropertyField(rect, m_ShaderPass, Styles.shaderPass); EditorGUI.EndProperty(); } EditorGUI.indentLevel--;