public bool DoSlider(int id, SliderData sliderData, out Vector3 newPosition) { EditorGUI.BeginChangeCheck(); if (HasCurrentCamera()) { newPosition = Handles.Slider2D(id, sliderData.position, sliderData.forward, sliderData.right, sliderData.up, 1f, nullCap, Vector2.zero); } else { newPosition = Slider2D.Do(id, sliderData.position, null); } return(EditorGUI.EndChangeCheck()); }
internal Rect Do(int controlID) { var eventType = Event.current.GetTypeForControl(controlID); if (eventType == EventType.MouseDown) { m_StartPosition = ModuleUtility.GUIToWorld(Event.current.mousePosition); m_Position = m_StartPosition; } if (eventType == EventType.Layout) { HandleUtility.AddDefaultControl(controlID); } m_Position = Slider2D.Do(controlID, m_Position); var rect = new Rect(); rect.min = m_StartPosition; rect.max = m_Position; return(rect); }