void OnTriggerEnter2D(Collider2D other) { //Debug.Log("OnTriggerEnter"); if (other.tag == "Bullet") { if (!_level.IsPlaying) { return; // you done goofed } _comboInteval = ComboInterval; ++_comboCount; VisualType type = VisualType.NONE; switch (_comboCount) { case 3: type = VisualType.SWEET; break; case 4: type = VisualType.COOL; break; case 5: type = VisualType.AWESOME; break; case 6: type = VisualType.MAJESTIC; break; case 7: type = VisualType.ONFIRE; break; case 8: type = VisualType.GODLIKE; break; default: if (_comboCount > 8) { type = VisualType.CHEAT; } break; } BulletScript bullet = other.GetComponent <BulletScript>(); int multiplier = 1; if (bullet.IsHit) { multiplier = 5; Debug.Log("Wtf..."); type = VisualType.WTF; } else if (bullet.IsNearMiss) { multiplier = (int)Mathf.Pow(2, bullet.NearMisses); if (bullet.NearMisses > 1) { type = VisualType.SOCLOSE; } else { type = VisualType.SUPERCLOSE; } } int score = multiplier * _level.CurrentLevel * 10; score += 5 * (_comboCount - 1); _level.AddHitScore(score, type); bullet.Deactivate(); } }