public void DestroyBrick(bool powerupDrop = true, Quaternion particleRotation = new Quaternion()) { if (particleRotation.z == 0) { particleRotation = Quaternion.identity; } // Move and rotate particle effect var position = transform.position; position.z = -4; _brickDestroyEffect.transform.position = position; _brickDestroyEffect.transform.rotation = particleRotation; // Play particle effect _brickDestroyEffect.GetComponent <ParticleSystem>().startColor = GetComponent <SpriteRenderer>().color; _brickDestroyEffect.GetComponent <ParticleSystem>().Emit((int)(transform.parent.localScale.x * 8)); // Drop powerup if (powerupDrop) { _powerupManager.DropPowerup(Powerup, transform); _soundManager.PlayBrickBreakSound(); } // Add points _gameManager.AddScore(PointValue * HealthTotal); _gameManager.AddToComboValue(); // Reset and 'Destroy' brick Reset(); gameObject.SetActive(false); }