private void DisplayControls(Object target, SceneView sceneView)
{
if ((sceneView != null) && s_IsVisible)
{
bool flag2 = this.ShowModePopup(GUILayoutUtility.GetRect(170f, EditorGUIUtility.singleLineHeight));
if (Event.current.type == EventType.Layout)
{
this.m_Warning = "";
if (!flag2)
{
if (StaticOcclusionCullingVisualization.previewOcclucionCamera == null)
{
this.m_Warning = "No camera selected for occlusion preview.";
}
else if (!StaticOcclusionCullingVisualization.isPreviewOcclusionCullingCameraInPVS)
{
this.m_Warning = "Camera is not inside an Occlusion View Area.";
}
}
}
int num = 12;
if (!string.IsNullOrEmpty(this.m_Warning))
{
Rect position = GUILayoutUtility.GetRect(100f, (float) (num + 0x13));
position.x += EditorGUI.indent;
position.width -= EditorGUI.indent;
GUI.Label(position, this.m_Warning, EditorStyles.helpBox);
}
else
{
Rect rect = GUILayoutUtility.GetRect(200f, (float) num);
rect.x += EditorGUI.indent;
rect.width -= EditorGUI.indent;
Rect rect3 = new Rect(rect.x, rect.y, rect.width, rect.height);
if (flag2)
{
EditorGUI.DrawLegend(rect3, Color.white, "View Volumes", StaticOcclusionCullingVisualization.showViewVolumes);
}
else
{
EditorGUI.DrawLegend(rect3, Color.white, "Camera Volumes", StaticOcclusionCullingVisualization.showViewVolumes);
}
bool flag = GUI.Toggle(rect3, StaticOcclusionCullingVisualization.showViewVolumes, "", GUIStyle.none);
if (flag != StaticOcclusionCullingVisualization.showViewVolumes)
{
StaticOcclusionCullingVisualization.showViewVolumes = flag;
SceneView.RepaintAll();
}
if (!flag2)
{
rect = GUILayoutUtility.GetRect(100f, (float) num);
rect.x += EditorGUI.indent;
rect.width -= EditorGUI.indent;
rect3 = new Rect(rect.x, rect.y, rect.width, rect.height);
EditorGUI.DrawLegend(rect3, Color.green, "Visibility Lines", StaticOcclusionCullingVisualization.showVisibilityLines);
flag = GUI.Toggle(rect3, StaticOcclusionCullingVisualization.showVisibilityLines, "", GUIStyle.none);
if (flag != StaticOcclusionCullingVisualization.showVisibilityLines)
{
StaticOcclusionCullingVisualization.showVisibilityLines = flag;
SceneView.RepaintAll();
}
rect = GUILayoutUtility.GetRect(100f, (float) num);
rect.x += EditorGUI.indent;
rect.width -= EditorGUI.indent;
rect3 = new Rect(rect.x, rect.y, rect.width, rect.height);
EditorGUI.DrawLegend(rect3, Color.grey, "Portals", StaticOcclusionCullingVisualization.showPortals);
flag = GUI.Toggle(rect3, StaticOcclusionCullingVisualization.showPortals, "", GUIStyle.none);
if (flag != StaticOcclusionCullingVisualization.showPortals)
{
StaticOcclusionCullingVisualization.showPortals = flag;
SceneView.RepaintAll();
}
}
if (!flag2)
{
flag = GUILayout.Toggle(StaticOcclusionCullingVisualization.showGeometryCulling, "Occlusion culling", new GUILayoutOption[0]);
if (flag != StaticOcclusionCullingVisualization.showGeometryCulling)
{
StaticOcclusionCullingVisualization.showGeometryCulling = flag;
SceneView.RepaintAll();
}
}
}
}
}