public override void OnInspectorGUI()
{
base.serializedObject.Update();
if (this.m_AllRoot)
{
EditorGUILayout.PropertyField(this.m_RenderMode, new GUILayoutOption[0]);
this.m_OverlayMode.target = this.m_RenderMode.intValue == 0;
this.m_CameraMode.target = this.m_RenderMode.intValue == 1;
this.m_WorldMode.target = this.m_RenderMode.intValue == 2;
EditorGUI.indentLevel++;
if (EditorGUILayout.BeginFadeGroup(this.m_OverlayMode.faded))
{
EditorGUILayout.PropertyField(this.m_PixelPerfect, new GUILayoutOption[0]);
EditorGUILayout.PropertyField(this.m_SortingOrder, Styles.sortingOrder, new GUILayoutOption[0]);
GUIContent[] displayNames = DisplayUtility.GetDisplayNames();
EditorGUILayout.IntPopup(this.m_TargetDisplay, displayNames, DisplayUtility.GetDisplayIndices(), Styles.targetDisplay, new GUILayoutOption[0]);
}
EditorGUILayout.EndFadeGroup();
if (EditorGUILayout.BeginFadeGroup(this.m_CameraMode.faded))
{
EditorGUILayout.PropertyField(this.m_PixelPerfect, new GUILayoutOption[0]);
EditorGUILayout.PropertyField(this.m_Camera, Styles.renderCamera, new GUILayoutOption[0]);
if (this.m_Camera.objectReferenceValue != null)
{
EditorGUILayout.PropertyField(this.m_PlaneDistance, new GUILayoutOption[0]);
}
EditorGUILayout.Space();
if (this.m_Camera.objectReferenceValue != null)
{
EditorGUILayout.SortingLayerField(Styles.m_SortingLayerStyle, this.m_SortingLayerID, EditorStyles.popup, EditorStyles.label);
}
EditorGUILayout.PropertyField(this.m_SortingOrder, Styles.m_SortingOrderStyle, new GUILayoutOption[0]);
if (this.m_Camera.objectReferenceValue == null)
{
EditorGUILayout.HelpBox("Screen Space - A canvas with no specified camera acts like a Overlay Canvas. Please assign a camera to it in the 'Render Camera' field.", MessageType.Warning);
}
}
EditorGUILayout.EndFadeGroup();
if (EditorGUILayout.BeginFadeGroup(this.m_WorldMode.faded))
{
EditorGUILayout.PropertyField(this.m_Camera, Styles.eventCamera, new GUILayoutOption[0]);
EditorGUILayout.Space();
EditorGUILayout.SortingLayerField(Styles.m_SortingLayerStyle, this.m_SortingLayerID, EditorStyles.popup);
EditorGUILayout.PropertyField(this.m_SortingOrder, Styles.m_SortingOrderStyle, new GUILayoutOption[0]);
}
EditorGUILayout.EndFadeGroup();
EditorGUI.indentLevel--;
}
else if (this.m_AllNested)
{
EditorGUI.BeginChangeCheck();
this.pixelPerfect = (PixelPerfect) EditorGUILayout.EnumPopup("Pixel Perfect", this.pixelPerfect, new GUILayoutOption[0]);
if (EditorGUI.EndChangeCheck())
{
if (this.pixelPerfect == PixelPerfect.Inherit)
{
this.m_PixelPerfectOverride.boolValue = false;
}
else if (this.pixelPerfect == PixelPerfect.Off)
{
this.m_PixelPerfectOverride.boolValue = true;
this.m_PixelPerfect.boolValue = false;
}
else
{
this.m_PixelPerfectOverride.boolValue = true;
this.m_PixelPerfect.boolValue = true;
}
}
EditorGUI.BeginChangeCheck();
EditorGUILayout.PropertyField(this.m_OverrideSorting, new GUILayoutOption[0]);
if (EditorGUI.EndChangeCheck())
{
((Canvas) base.serializedObject.targetObject).overrideSorting = this.m_OverrideSorting.boolValue;
this.m_SortingOverride.target = this.m_OverrideSorting.boolValue;
}
if (EditorGUILayout.BeginFadeGroup(this.m_SortingOverride.faded))
{
GUIContent label = null;
if (this.m_AllOverlay)
{
label = Styles.sortingOrder;
}
else if (this.m_NoneOverlay)
{
label = Styles.m_SortingOrderStyle;
EditorGUILayout.SortingLayerField(Styles.m_SortingLayerStyle, this.m_SortingLayerID, EditorStyles.popup);
}
if (label != null)
{
EditorGUI.BeginChangeCheck();
EditorGUILayout.PropertyField(this.m_SortingOrder, label, new GUILayoutOption[0]);
if (EditorGUI.EndChangeCheck())
{
((Canvas) base.serializedObject.targetObject).sortingOrder = this.m_SortingOrder.intValue;
}
}
}
EditorGUILayout.EndFadeGroup();
}
else
{
GUILayout.Label(Styles.s_RootAndNestedMessage, EditorStyles.helpBox, new GUILayoutOption[0]);
}
base.serializedObject.ApplyModifiedProperties();
}