Ejemplo n.º 1
0
 private void Start()
 {
     boutons = new List <BouttonDuCul>();
     for (int i = 0; i < nbrButtons; i++)
     {
         BouttonDuCul b = new BouttonDuCul();
         b.i = i;
         arduinoCommunication.SetButtonColor(i, defaultColor);
         boutons.Add(b);
     }
 }
Ejemplo n.º 2
0
 void Update()
 {
     for (int i = 0; i < colors.Length; i++)
     {
         arduinoCommunication.SetButtonColor(i, colors[i]);
     }
 }
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
    void Update()
    {
        cpt -= Time.deltaTime;

        if (cpt > 0f)
        {
            return;
        }

        cpt = delay;

        for (int i = 0; i <= nbrButtons; i++)
        {
            arduinoCommunication.SetButtonColor(i, colors[Random.Range(0, colors.Length)]);
        }
    }
Ejemplo n.º 5
0
    void NewChallenge()
    {
        state = State.Challenge;

        mainHue = Random.Range(0f, 1f);

        buttons.Shuffle();
        for (int i = 0; i < ArduinoCommunication.ButtonCount; ++i)
        {
            float hue   = (mainHue + hueOffsets[buttons[i].hueOffsetIndex]) % 1f;
            var   color = Color.HSVToRGB(hue, 1f, 1f);
            arduinoCommunication.SetButtonColor(i, color);
        }

        if (buttonCount <= 0)
        {
            buttonCount = minCounter;
            webcamSprites.Clear();
        }
        else
        {
            ++buttonCount;
        }
        counter      = buttonCount;
        spaceCounter = 0;
        timer        = challengeDuration;

        float firstHue   = (mainHue + hueOffsets[0]) % 1f;
        var   firstColor = Color.HSVToRGB(firstHue, 1f, 1f);

        backgroundImage.material.SetColor("_Color", firstColor);
        SetAngle(1.0f);
        webcamImage.enabled  = false;
        counterText.enabled  = true;
        victoireText.enabled = false;
        defaiteText.enabled  = false;

        UpdateCounterText();
    }
Ejemplo n.º 6
0
 public void TurnOnPlayerLight(int _id, Color _c)
 {
     Debug.Log("Turn on " + _id + " with " + _c.ToString());
     arduinoCommunication.SetButtonColor(_id, _c);
 }