Ejemplo n.º 1
0
    private void Update()
    {
        // DESIGN EVOLUTIONS WITH VARIABLES
        obstacleMaterial.SetFloat("_LineNumber", lineNumber);
        obstacleMaterial.SetFloat("_LineHeight", lineHeight);
        obstacleMaterial.SetFloat("_MotionSpeed", motionSpeed);

        Color lineHue = obstacleMaterial.GetColor("_LineColor");
        float h, s, v;

        Color.RGBToHSV(lineHue, out h, out s, out v);
        h += Time.deltaTime * lineHueOffset;
        obstacleMaterial.SetColor(
            "_LineColor",
            Color.HSVToRGB(h, s, v)
            );

        // ARDUINO INPUTS
        if (!arduinoInputs)
        {
            return;
        }

        for (int i = 0; i < 15; ++i)
        {
            inputs[i] = arduinoCommunication.IsButtonPressed(i);
        }
    }
Ejemplo n.º 2
0
 private void CheckPress(int buttonIndex)
 {
     if (arduinoCommunication.IsButtonPressed(buttons[buttonIndex].inputIndex))
     {
         Debug.Log("Pressed!");
         pressed = true;
     }
 }
Ejemplo n.º 3
0
    private void Update()
    {
        bool isPressed = arduinoCommunication.IsButtonPressed(inputIndex) || Input.GetKey(keyCode);

        if (isPressed && !currentIsPressed)
        {
            if (flashTweener != null)
            {
                flashTweener.Kill();
            }

            flashIntensity = 1f;
            flashTweener   = DOTween.To(
                () => flashIntensity,
                (value) =>
            {
                flashIntensity = value;
            },
                0f,
                .3f
                )
                             .SetEase(Ease.InOutCubic);

            var fxInstance = Instantiate(fxPrefab, ui.transform);
            var fxImage    = fxInstance.GetComponent <Image>();
            var fxMaterial = new Material(fxImage.material);
            fxImage.material = fxMaterial;
            var fxStartRadius = fxStartRadiusRatio * uiMaterial.GetFloat("_Radius");
            DOTween.To(
                () => 0f,
                (value) =>
            {
                fxMaterial.SetFloat("_Radius", Mathf.LerpUnclamped(fxStartRadius, fxEndRadius, value));
                fxMaterial.SetFloat("_Width", Mathf.LerpUnclamped(fxStartWidth, fxEndWidth, value));
            },
                1f,
                fxDuration
                )
            .SetEase(Ease.Linear)
            .OnComplete(() =>
            {
                Destroy(fxInstance);
            });
        }

        currentIsPressed = isPressed;

        var intensity = Mathf.Max(.01f + intensityRatio * intensityRatio * .05f, flashIntensity);

        arduinoCommunication.SetButtonColor(inputIndex, Color.white * intensity);
        uiMaterial.SetFloat("_Inside", intensity);
        uiMaterial.SetFloat("_Radius", Mathf.Lerp(minRadius, maxRadius, intensityRatio));
    }
Ejemplo n.º 4
0
    int GetButtonCount()
    {
        int sum = 0;

        for (int i = 0; i < ArduinoCommunication.ButtonCount; ++i)
        {
            if (buttons[i].hueOffsetIndex == 0 && arduinoCommunication.IsButtonPressed(i))
            {
                ++sum;
            }
        }
        return(sum);
    }
Ejemplo n.º 5
0
    void Update()
    {
        for (int i = 0; i < nbrButtons; ++i)
        {
            if (arduinoCommunication.IsButtonPressed(i))
            {
                if (!boutons[i].active)
                {
                    arduinoCommunication.SetButtonColor(i, inputColor);
                    boutons[i].active = true;
                }

                //Debug.Log("Input bouton " + i);
            }
            else
            {
                if (boutons[i].active)
                {
                    arduinoCommunication.SetButtonColor(i, defaultColor);
                    boutons[i].active = false;
                }
            }
        }
    }