public void DoUpdate() { foreach (NoteMaker noteMaker in noteMakers) { midPoint = new Vector2(); foreach (Transform trs in noteMaker.transforms) { midPoint += (Vector2)trs.position; } midPoint /= noteMaker.transforms.Length; if ((noteMaker.positionOfPreviousNote - midPoint).sqrMagnitude > worldDistanceBetweenNotesSqr) { noteFrequency = GetNoteFromPosition(midPoint); noteFrequency = Mathf.Lerp(noteGroup.noteFrequencies[0], noteGroup.noteFrequencies[noteGroup.noteFrequencies.Length - 1], noteFrequency); noteFrequency = MathfExtensions.GetClosestNumber(noteFrequency, noteGroup.noteFrequencies) * multiplyNoteFrequency; noteMaker.positionOfPreviousNote = midPoint; audioSource.volume = 0; position = 0; if (!stream) { AudioClip audioClip = AudioClip.Create("Note", (int)(sampleRate * noteNormalizedFrequencyOverTime.keys[noteNormalizedFrequencyOverTime.keys.Length - 1].time), 1, sampleRate, false, OnAudioRead, OnAudioSetPosition); audioSource.clip = audioClip; audioSource.Play(); } timeOfLastNote = Time.time; } } audioSource.volume = noteVolumeOverTime.Evaluate(Time.time - timeOfLastNote); targetFrequency = noteFrequency * noteNormalizedFrequencyOverTime.Evaluate(Time.time - timeOfLastNote); frequency = Mathf.Lerp(frequency, targetFrequency, frequencyLerpRate * Time.deltaTime); }
public virtual void OnValueChanged(float value) { if (snapValues.Length > 0) { slider.value = MathfExtensions.GetClosestNumber(value, snapValues); } SetDisplayValue(); }
public virtual void Update() { #endif if (snapValues.Length > 0) { slider.value = MathfExtensions.GetClosestNumber(slider.value, snapValues); } }
public virtual void HandleMouseInput() { if (InputManager.UsingGamepad) { return; } if (!leftClickInput && previousLeftClickInput && !controllingWithJoystick) { inControlMode = false; } foreach (_Selectable selectable in selectables) { if (currentSelected != selectable && IsMousedOverSelectable(selectable) && CanSelectSelectable(selectable)) { ChangeSelected(selectable); return; } } if (leftClickInput) { if (currentInputField != null) { currentInputField.readOnly = true; } _Slider slider = currentSelected.GetComponent <_Slider>(); if (slider != null) { Vector2 closestPointToMouseCanvasNormalized = new Vector2(); if (currentSelected.canvas.renderMode == RenderMode.ScreenSpaceOverlay) { if (selectable != null) { closestPointToMouseCanvasNormalized = slider.slidingArea.GetRectInCanvasNormalized(selectable.canvasRectTrs).ClosestPoint(slider.canvasRectTrs.GetWorldRect().ToNormalizedPosition(InputManager.GetMousePosition(MathfExtensions.NULL_INT))); } } else if (selectable != null) { closestPointToMouseCanvasNormalized = slider.slidingArea.GetRectInCanvasNormalized(selectable.canvasRectTrs).ClosestPoint(slider.canvasRectTrs.GetWorldRect().ToNormalizedPosition(selectable.canvas.worldCamera.ScreenToWorldPoint(InputManager.GetMousePosition(MathfExtensions.NULL_INT)))); } float normalizedValue = slider.slidingArea.GetRectInCanvasNormalized(slider.canvasRectTrs).ToNormalizedPosition(closestPointToMouseCanvasNormalized).x; slider.slider.value = Mathf.Lerp(slider.slider.minValue, slider.slider.maxValue, normalizedValue); if (slider.snapValues.Length > 0) { slider.slider.value = MathfExtensions.GetClosestNumber(slider.slider.value, slider.snapValues); } } else { InputField inputField = currentSelected.GetComponent <InputField>(); if (inputField != null) { currentInputField = inputField; currentInputField.readOnly = false; } } } }
public virtual void HandleMouseInput() { bool justCanceledControlMode = false; if (Input.GetMouseButtonUp(0) && !controllingWithJoystick) { inControlMode = false; justCanceledControlMode = true; } foreach (_Selectable selectable in selectables) { if (IsMousedOverSelectable(selectable)) { if (justCanceledControlMode || currentSelected != selectable) { ChangeSelected(selectable); return; } } } if (Input.GetMouseButton(0)) { _Slider slider = currentSelected.GetComponent <_Slider>(); if (slider != null) { Vector2 closestPointToMouseCanvasNormalized = new Vector2(); if (currentSelected.canvas.renderMode == RenderMode.ScreenSpaceOverlay) { if (selectable != null) { closestPointToMouseCanvasNormalized = slider.slidingArea.GetRectInCanvasNormalized(selectable.canvasRectTrs).ClosestPoint(slider.canvasRectTrs.GetRectInWorld().ToNormalizedPosition(Input.mousePosition)); } } else { if (selectable != null) { closestPointToMouseCanvasNormalized = slider.slidingArea.GetRectInCanvasNormalized(selectable.canvasRectTrs).ClosestPoint(slider.canvasRectTrs.GetRectInWorld().ToNormalizedPosition(Camera.main.ScreenToWorldPoint(Input.mousePosition))); } } float normalizedValue = slider.slidingArea.GetRectInCanvasNormalized(slider.canvasRectTrs).ToNormalizedPosition(closestPointToMouseCanvasNormalized).x; slider.slider.value = Mathf.Lerp(slider.slider.minValue, slider.slider.maxValue, normalizedValue); if (slider.snapValues.Length > 0) { slider.slider.value = MathfExtensions.GetClosestNumber(slider.slider.value, slider.snapValues); } } } }