protected virtual void Update() { bool isPressed = CustomInput.GetKey(key); UpdateGraphics(); if (m_collidingNote != null) { if (m_collidingNote.action == NoteAction.Hold) { m_collidingNote.duration -= Time.deltaTime; if (m_collidingNote.duration <= 0.0f) { Destroy(m_collidingNote.gameObject); m_collidingNote = null; if (activatorParticleSystem != null) { activatorParticleSystem.Stop(); } } else { Vector3 scale = m_collidingNote.gameObject.transform.localScale; scale.y -= Time.deltaTime; m_collidingNote.gameObject.transform.localScale = scale; Vector3 position = m_collidingNote.gameObject.transform.localPosition; position.y += Time.deltaTime; m_collidingNote.gameObject.transform.localPosition = position; if (isPressed) { if (m_gameController != null) { // Add score, make effect, whatever m_gameController.score.Value += m_collidingNote.baseScore; } if (activatorParticleSystem != null) { ParticleSystem.MainModule main = activatorParticleSystem.main; main.startColor = Color.cyan; } } else { ParticleSystem.MainModule main = activatorParticleSystem.main; main.startColor = Color.red; } } } else if (m_collidingNote.action == NoteAction.Tap) { if (CustomInput.GetKey(key)) { // Add score, make effect, whatever if (m_gameController != null) { m_gameController.score.Value += m_collidingNote.baseScore; } } Destroy(m_collidingNote.gameObject); m_collidingNote = null; } } }