public void DestroyObject(GameObject destroyObj, uint damage) { if (!_bricks.ContainsKey(destroyObj)) { return; } IDestroyable brick = _bricks[destroyObj]; brick.Damage(damage); if (brick.IsDestroy) { _currentCount--; if (_currentCount == 0) { FullDestroy(); } else if (_GenerateBonus) { _bonusManager.GenerateBonus(brick.MyPosition); } } else { VisualUpdateObj(brick); } }