| label | Label to display above the field. |
| value | The value to edit. |
| options | An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style. |
void The value entered by the user.
Make an X & Y field for entering a Vector2.
Measure the distance between 2 points.
#pragma strict
public class EditorGUILayoutVector2Field extends UnityEditor.EditorWindow {
var distance: float = 0f;
var p1: Vector3;
var p2: Vector3;
@MenuItem("Examples/Measure Distance")
static function Init() {
var window: EditorGUILayoutVector2Field = EditorGUILayoutVector2FieldEditorWindow.GetWindow(EditorGUILayoutVector2Field, true, "My Empty Window");
window.Show();
}
function OnGUI() {
p1 = EditorGUILayout.Vector2Field("Point 1:", p1);
p2 = EditorGUILayout.Vector2Field("Point 2:", p2);
EditorGUILayout.LabelField("Distance:", distance.ToString());
if (GUILayout.Button("Close"))
this.Close();
}
function OnInspectorUpdate() {
distance = Vector2.Distance(p1, p2);
this.Repaint();
}
}
using UnityEditor; using UnityEngine;
public class EditorGUILayoutVector2Field : UnityEditor.EditorWindow {
float distance = 0f; Vector3 p1; Vector3 p2;
[MenuItem ("Examples/Measure Distance")] static void Init() { EditorGUILayoutVector2Field window = (EditorGUILayoutVector2Field)EditorWindow.GetWindow(typeof(EditorGUILayoutVector2Field),true, "My Empty Window"); window.Show(); }
void OnGUI() { p1 = EditorGUILayout.Vector2Field("Point 1:", p1); p2 = EditorGUILayout.Vector2Field("Point 2:", p2); EditorGUILayout.LabelField("Distance:", distance.ToString()); if(GUILayout.Button("Close")) this.Close(); } void OnInspectorUpdate() { distance = Vector2.Distance(p1,p2); this.Repaint(); } }