public void CreateHeadOfObject(Metronome metronome, Vector3 startPos, Vector3 target, Vector3 destroy) { startPosition = startPos; // instantiate object musicObject = ( GameObject )Instantiate(prefab, startPosition, Quaternion.identity); musicObject.name += index; //if not a tap object if (!held && expected != inputType.tap) { SpriteRenderer mainRenderer = ( SpriteRenderer )musicObject.GetComponent(typeof(SpriteRenderer)); mainRenderer.sprite = mainSprite; } moveScript = ( MoveToBeat )musicObject.GetComponent(typeof(MoveToBeat)); feedbackScript = ( ShowFeedback )musicObject.GetComponent(typeof(ShowFeedback)); moveScript.metronome = metronome; // calculate its start values moveScript.CalculateAndSetValues(startPosition, target, destroy, arrivalBeat, metronome.bpm); Activate(false); }
void EndOfInput() { float endBeat = metronome.currentPartialBeats; float beatsHeld = endBeat - beatOfInput; inputType swipe = DetermineSwipe(Input.mousePosition); // Debug.Log (" swipe : " + swipe); int interactionType = GetInputTypeAsInt(swipe); if (readPlayerInput) { //set sprite int swipeInt = GetInputTypeAsInt(swipe); Sprite newSprite = instantiate.GetSprite(swipeInt); //destroy user created object ShowFeedback feedbackScript = (ShowFeedback )userCreatedObject.GetComponent(typeof(ShowFeedback)); feedbackScript.SetSprite(newSprite); feedbackScript.TimeDestruction(); float normalizedEndBeat = GetClosestHalfBeat(endBeat); float normalizedStartBeat = GetClosestHalfBeat(beatOfInput); string saveData = ""; saveData += normalizedStartBeat + ","; saveData += normalizedEndBeat + ","; saveData += interactionType.ToString() + ","; //if previous input does not overlap with current input if (normalizedStartBeat > previousEndBeat) { //record data GameData.dataControl.SavePerformanceStats(saveData); previousEndBeat = normalizedEndBeat; } } if (!readPlayerInput) { Debug.Log(" received : " + swipe + ", expected : " + currentObject.expected); if (WithinInputRange()) { // Debug.Log (" received : " + swipe + ", expected : " + currentObject.expected ); if (currentObject.expected == swipe) { if (swipe != inputType.tap && swipe != inputType.up) { Debug.Log(swipe + " at " + metronome.currentPartialBeats); } Debug.Log("ATTEMPTING TO DESTROY"); currentObject.feedbackScript.ShowSuccess(); } else if (currentObject.expected == inputType.tap && !currentObject.isBeingHeld) { currentObject.feedbackScript.ShowSuccess(); } } //if held object is let go early else if (currentObject.held && currentObject.isBeingHeld) { currentObject.feedbackScript.UnsuccessfulHoldContinuesToDestruction(); } currentObject.isBeingHeld = false; } }