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();
 }
Exemple #3
0
    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);
                }
            }
        }
    }