namespace Dreamteck.Splines.Editor { using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEditor; public class DistanceWindow : EditorWindow { float distance = 0f; DistanceReceiver rcv; float length = 0f; public delegate void DistanceReceiver(float distance); public void Init(DistanceReceiver receiver, float totalLength) { rcv = receiver; length = totalLength; titleContent = new GUIContent("Set Distance"); minSize = maxSize = new Vector2(240, 90); } private void OnGUI() { if (Event.current.type == EventType.KeyDown && (Event.current.keyCode == KeyCode.KeypadEnter || Event.current.keyCode == KeyCode.Return)) { rcv(distance); Close(); } distance = EditorGUILayout.FloatField("Distance", distance); if (distance < 0f) distance = 0f; else if (distance > length) distance = length; if (distance > 0f) { EditorGUILayout.LabelField("Press Enter to set.", EditorStyles.centeredGreyMiniLabel); } EditorGUILayout.HelpBox("Enter the distance and press Enter. Current spline length: " + length, MessageType.Info); } } }