Пример #1
0
    // Returns which mat button was pressed on the current frame.
    private DanceMatInput GetDanceMatKeyDown()
    {
        for (int i = 0; i < danceMatInputsArray.Length; i++)
        {
            DanceMatInput input = (DanceMatInput)danceMatInputsArray.GetValue(i);
            if (DanceMatInputManager.GetInput(input))
            {
                return(input);
            }
        }

        return(DanceMatInput.Up);
    }
Пример #2
0
    private void CheckInput()
    {
        // If manager wasn't initialized or no button was pressed, do nothing.
        if (!DanceMatInputManager.isInitialized || !DanceMatInputManager.GetAnyInput())
        {
            return;
        }

        // Gets which button was pressed on current frame
        DanceMatInput pressedButton = GetDanceMatKeyDown();

        // If the pressed button is different than the last pressed button,
        //	increases the score
        if (pressedButton != lastPressedInput)
        {
            DoFootStep();
            Grape closestGrape = GetClosestGrape();
            if (closestGrape)
            {
                float hitRadius = ResourcesMaster.instance.hitRadius;
                if ((closestGrape.transform.position - target.position).sqrMagnitude < hitRadius * hitRadius)
                {
                    audioSource.PlayOneShot(grapeSquashing);
                    float resourcePerTap = ResourcesMaster.instance.resourcesPerTap;
                    ResourcesMaster.AddResource(generatedResourceName, resourcePerTap);

                    steppedGrapesColors.Add(closestGrape.colorSpectrumValue);
                    if (steppedGrapesColors.Count > 10)
                    {
                        steppedGrapesColors.RemoveAt(0);
                    }
                }
                else
                {
                    feedbackPanel.SetAlpha(0f);
                    feedbackPanel.DOFade(0.5f, 0.5f).From();
                    //float resourcePerTap = ResourcesMaster.instance.danceMatProperties.resourcesPerTap;
                    //float usedResources = ResourcesMaster.GetResourceData(generatedResourceName).requiredToGeneratedRatio * resourcePerTap;
                    //ResourcesMaster.RemoveRequiredResource(generatedResourceName, usedResources);
                }

                fallingGrapes.Remove(closestGrape);
                Destroy(closestGrape.gameObject);
                GameMaster.instance.collectActivity.RemoveGrapeByColor(closestGrape.colorSpectrumValue);
            }
        }

        // Saves current button as last pressed button for next frame.
        lastPressedInput = pressedButton;
    }