private void CommandBufferGUI()
{
if (base.targets.Length == 1)
{
Light light = base.target as Light;
if (!(light == null))
{
int commandBufferCount = light.commandBufferCount;
if (commandBufferCount != 0)
{
this.m_CommandBuffersShown = GUILayout.Toggle(this.m_CommandBuffersShown, GUIContent.Temp(commandBufferCount + " command buffers"), EditorStyles.foldout, new GUILayoutOption[0]);
if (this.m_CommandBuffersShown)
{
EditorGUI.indentLevel++;
LightEvent[] array = (LightEvent[])Enum.GetValues(typeof(LightEvent));
for (int i = 0; i < array.Length; i++)
{
LightEvent lightEvent = array[i];
CommandBuffer[] commandBuffers = light.GetCommandBuffers(lightEvent);
CommandBuffer[] array2 = commandBuffers;
for (int j = 0; j < array2.Length; j++)
{
CommandBuffer commandBuffer = array2[j];
using (new GUILayout.HorizontalScope(new GUILayoutOption[0]))
{
Rect rect = GUILayoutUtility.GetRect(GUIContent.none, EditorStyles.miniLabel);
rect.xMin += EditorGUI.indent;
Rect removeButtonRect = LightEditor.GetRemoveButtonRect(rect);
rect.xMax = removeButtonRect.x;
GUI.Label(rect, string.Format("{0}: {1} ({2})", lightEvent, commandBuffer.name, EditorUtility.FormatBytes(commandBuffer.sizeInBytes)), EditorStyles.miniLabel);
if (GUI.Button(removeButtonRect, LightEditor.s_Styles.iconRemove, LightEditor.s_Styles.invisibleButton))
{
light.RemoveCommandBuffer(lightEvent, commandBuffer);
SceneView.RepaintAll();
GameView.RepaintAll();
GUIUtility.ExitGUI();
}
}
}
}
using (new GUILayout.HorizontalScope(new GUILayoutOption[0]))
{
GUILayout.FlexibleSpace();
if (GUILayout.Button("Remove all", EditorStyles.miniButton, new GUILayoutOption[0]))
{
light.RemoveAllCommandBuffers();
SceneView.RepaintAll();
GameView.RepaintAll();
}
}
EditorGUI.indentLevel--;
}
}
}
}
}