Tanoda
pb_GUI.cs
Go to the documentation of this file.
1using UnityEngine;
2using System.Collections;
3
4namespace GILES.Interface
5{
9 public class pb_GUI
10 {
13 internal static int viewWidth;
14
18 public static void HeaderLabel(string label)
19 {
20 GUILayout.Label("==== " + label + " ====");
21 }
22
26 public static void InspectorLabel(string label)
27 {
28 GUILayout.Label(label, GUILayout.MaxWidth(120));
29 }
30
34 public static float FloatField(float value, params GUILayoutOption[] layoutOptions)
35 {
36 string str = value.ToString("G");
37
38 str = GUILayout.TextField(str, layoutOptions);
39
40 float val;
41
42 if(float.TryParse(str, out val) && !Mathf.Approximately(value, val))
43 return val;
44 else
45 return value;
46 }
47
51 public static int IntField(int value)
52 {
53 string str = value.ToString();
54
55 str = GUILayout.TextField(str);
56
57 int val;
58
59 if(int.TryParse(str, out val))
60 return val;
61 else
62 return value;
63 }
64
68 public static int EnumField(System.Enum value)
69 {
70 var values = System.Enum.GetValues(value.GetType());
71
72 float v = (float) System.Convert.ToInt32(value);
73 v = GUILayout.HorizontalSlider(v, 0, values.Length);
74
75 return (int) v;
76 }
77
81 public static Vector2 Vector2Field(Vector2 value)
82 {
83 GUILayout.BeginHorizontal();
84
85 value.x = pb_GUI.FloatField(value.x);
86 value.y = pb_GUI.FloatField(value.y);
87
88 GUILayout.EndHorizontal();
89
90 return value;
91 }
92
96 public static Vector3 Vector3Field(Vector3 value, int width = 0)
97 {
98 GUILayout.BeginHorizontal();
99
100 if(width > 0)
101 {
102 width = width / 3 - 1;
103
104 value.x = pb_GUI.FloatField(value.x, GUILayout.MinWidth(width), GUILayout.MaxWidth(width));
105 value.y = pb_GUI.FloatField(value.y, GUILayout.MinWidth(width), GUILayout.MaxWidth(width));
106 value.z = pb_GUI.FloatField(value.z, GUILayout.MinWidth(width), GUILayout.MaxWidth(width));
107
108 }
109 else
110 {
111 value.x = pb_GUI.FloatField(value.x);
112 value.y = pb_GUI.FloatField(value.y);
113 value.z = pb_GUI.FloatField(value.z);
114 }
115 GUILayout.EndHorizontal();
116
117 return value;
118 }
119
123 public static Vector4 Vector4Field(Vector4 value)
124 {
125 GUILayout.BeginHorizontal();
126
127 value.x = pb_GUI.FloatField(value.x);
128 value.y = pb_GUI.FloatField(value.y);
129 value.z = pb_GUI.FloatField(value.z);
130 value.w = pb_GUI.FloatField(value.w);
131
132 GUILayout.EndHorizontal();
133
134 return value;
135 }
136
140 public static Quaternion QuaternionField(Quaternion value)
141 {
142 GUILayout.BeginHorizontal();
143
144 value.x = pb_GUI.FloatField(value.x);
145 value.y = pb_GUI.FloatField(value.y);
146 value.z = pb_GUI.FloatField(value.z);
147 value.w = pb_GUI.FloatField(value.w);
148
149 GUILayout.EndHorizontal();
150
151 return value;
152 }
153 }
154}
static int IntField(int value)
Definition: pb_GUI.cs:51
static int EnumField(System.Enum value)
Definition: pb_GUI.cs:68
static void InspectorLabel(string label)
Definition: pb_GUI.cs:26
static Vector3 Vector3Field(Vector3 value, int width=0)
Definition: pb_GUI.cs:96
static Vector2 Vector2Field(Vector2 value)
Definition: pb_GUI.cs:81
static void HeaderLabel(string label)
Definition: pb_GUI.cs:18
static Quaternion QuaternionField(Quaternion value)
Definition: pb_GUI.cs:140
static Vector4 Vector4Field(Vector4 value)
Definition: pb_GUI.cs:123
static float FloatField(float value, params GUILayoutOption[] layoutOptions)
Definition: pb_GUI.cs:34