// checks if it can be hit // destroys note if it can protected virtual void CheckLocation() { //if ((transform.position.x >= activator.transform.position.x - hitOffset && transform.position.x <= activator.transform.position.x + hitOffset) && (transform.position.y == activator.transform.position.y)) //{ // //Debug.Log("Checking location."); // scoreHandler.SendMessage("AddScore", transform.position.x); // GameData.currentSongStats.notesHit++; // Destroy(this.gameObject); //} bool _isHit = false; float _accuracyMultiplier = 1.0f; ScoreHandler.HitAccuracy _hitAccuracy = ScoreHandler.HitAccuracy.Good; if (transform.position.x >= activator.transform.position.x - hitOffset + perfectHitOffset && transform.position.x <= activator.transform.position.x + hitOffset - perfectHitOffset) { _accuracyMultiplier = 1.2f; _isHit = true; _hitAccuracy = ScoreHandler.HitAccuracy.Perfect; } else if (transform.position.x >= activator.transform.position.x - hitOffset + greatHitOffset && transform.position.x <= activator.transform.position.x + hitOffset - greatHitOffset) { _accuracyMultiplier = 1.1f; _isHit = true; _hitAccuracy = ScoreHandler.HitAccuracy.Great; } else if (transform.position.x >= activator.transform.position.x - hitOffset && transform.position.x <= activator.transform.position.x + hitOffset) { _accuracyMultiplier = 1f; _isHit = true; _hitAccuracy = ScoreHandler.HitAccuracy.Good; } if (_isHit) { // Debug.Log("Accuracy Multiplier: " + _accuracyMultiplier); scoreHandler.SendMessage("AddScore", _accuracyMultiplier); scoreHandler.SendMessage("ChangeAccuracyText", _hitAccuracy); GameData.currentSongStats.notesHit++; //Destroy(this.gameObject); gameObject.SetActive(false); } }
private void ChangeAccuracyText(ScoreHandler.HitAccuracy hitAccuracy) { switch (hitAccuracy) { case ScoreHandler.HitAccuracy.Perfect: accuracyText.text = "PERFECT"; break; case ScoreHandler.HitAccuracy.Great: accuracyText.text = "GREAT"; break; case ScoreHandler.HitAccuracy.Good: accuracyText.text = "GOOD"; break; case ScoreHandler.HitAccuracy.Miss: accuracyText.text = "MISS"; break; } accuracyText.SendMessage("Pulse"); }