// 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); }
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; }