playtest-unity/playtest/Library/PackageCache/com.unity.performance.profi.../Editor/Columns.cs

185 lines
5.1 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
using System;
namespace UnityEditor.Performance.ProfileAnalyzer
{
internal class Columns
{
int[] m_ColumnWidth = new int[4];
public Columns(int a, int b, int c, int d)
{
SetColumnSizes(a, b, c, d);
}
public void SetColumnSizes(int a, int b, int c, int d)
{
m_ColumnWidth[0] = a;
m_ColumnWidth[1] = b;
m_ColumnWidth[2] = c;
m_ColumnWidth[3] = d;
}
public int GetColumnWidth(int n)
{
if (n < 0 || n >= m_ColumnWidth.Length)
return 0;
return m_ColumnWidth[n];
}
public void Draw(int n, string col)
{
if (n < 0 || n >= m_ColumnWidth.Length || m_ColumnWidth[n] <= 0)
EditorGUILayout.LabelField(col);
EditorGUILayout.LabelField(col, GUILayout.Width(m_ColumnWidth[n]));
}
public void Draw(int n, float value)
{
Draw(n, string.Format("{0:f2}", value));
}
public void Draw2(string col1, string col2)
{
EditorGUILayout.BeginHorizontal();
Draw(0, col1);
Draw(1, col2);
EditorGUILayout.EndHorizontal();
}
public void Draw2(string label, float value)
{
EditorGUILayout.BeginHorizontal();
Draw(0, label);
Draw(1, value);
EditorGUILayout.EndHorizontal();
}
public void Draw3(string col1, string col2, string col3)
{
EditorGUILayout.BeginHorizontal();
Draw(0, col1);
Draw(1, col2);
Draw(2, col3);
EditorGUILayout.EndHorizontal();
}
public void Draw3(string col1, float value2, float value3)
{
EditorGUILayout.BeginHorizontal();
Draw(0, col1);
Draw(1, value2);
Draw(2, value3);
EditorGUILayout.EndHorizontal();
}
public void Draw4(string col1, string col2, string col3, string col4)
{
EditorGUILayout.BeginHorizontal();
Draw(0, col1);
Draw(1, col2);
Draw(2, col3);
Draw(3, col4);
EditorGUILayout.EndHorizontal();
}
public void Draw4Diff(string col1, float left, float right)
{
EditorGUILayout.BeginHorizontal();
Draw(0, col1);
Draw(1, left);
Draw(2, right);
Draw(3, right - left);
EditorGUILayout.EndHorizontal();
}
public void Draw4(string col1, float value2, float value3, float value4)
{
EditorGUILayout.BeginHorizontal();
Draw(0, col1);
Draw(1, value2);
Draw(2, value3);
Draw(3, value4);
EditorGUILayout.EndHorizontal();
}
// GUIContent versions
public void Draw(int n, GUIContent col)
{
if (n < 0 || n >= m_ColumnWidth.Length || m_ColumnWidth[n] <= 0)
EditorGUILayout.LabelField(col);
EditorGUILayout.LabelField(col, GUILayout.Width(m_ColumnWidth[n]));
}
public void Draw2(GUIContent col1, GUIContent col2)
{
EditorGUILayout.BeginHorizontal();
Draw(0, col1);
Draw(1, col2);
EditorGUILayout.EndHorizontal();
}
public void Draw2(GUIContent label, float value)
{
EditorGUILayout.BeginHorizontal();
Draw(0, label);
Draw(1, value);
EditorGUILayout.EndHorizontal();
}
public void Draw3(GUIContent col1, GUIContent col2, GUIContent col3)
{
EditorGUILayout.BeginHorizontal();
Draw(0, col1);
Draw(1, col2);
Draw(2, col3);
EditorGUILayout.EndHorizontal();
}
public void Draw3(GUIContent col1, float value2, float value3)
{
EditorGUILayout.BeginHorizontal();
Draw(0, col1);
Draw(1, value2);
Draw(2, value3);
EditorGUILayout.EndHorizontal();
}
public void Draw4(GUIContent col1, GUIContent col2, GUIContent col3, GUIContent col4)
{
EditorGUILayout.BeginHorizontal();
Draw(0, col1);
Draw(1, col2);
Draw(2, col3);
Draw(3, col4);
EditorGUILayout.EndHorizontal();
}
public void Draw4Diff(GUIContent col1, float left, float right)
{
EditorGUILayout.BeginHorizontal();
Draw(0, col1);
Draw(1, left);
Draw(2, right);
Draw(3, right - left);
EditorGUILayout.EndHorizontal();
}
public void Draw4(GUIContent col1, float value2, float value3, float value4)
{
EditorGUILayout.BeginHorizontal();
Draw(0, col1);
Draw(1, value2);
Draw(2, value3);
Draw(3, value4);
EditorGUILayout.EndHorizontal();
}
}
}