/// <summary> /// Displays the scene GUI handles. /// </summary> protected override void DisplaySceneGUIHandles() { base.DisplaySceneGUIHandles(); AnimationCurve newSpeedCurve = null; if ( SceneGUI.BeginHandles(this.Target, "Change Movement Speed Curve") && s_HandleTogglePreference.CurrentValue ) { Vector3 up = this.Target.transform.InverseTransformDirection(Vector3.up); newSpeedCurve = FalloffHandles.DiscGraph( target.GetHashCode(), this.Target.SpeedCurve, Vector3.zero, Quaternion.LookRotation(Vector3.forward - Vector3.Dot(Vector3.forward, up) * up, up), s_HandleColorPreference.CurrentValue, "Run Speed", "Walk Speed", "Distance", "Speed" ); } if (SceneGUI.EndHandles()) { this.Target.SpeedCurve = newSpeedCurve; } }