public ShootingComponent(CannonSettings settings, InputHandlingBlocker inputHandlingBlocker,
                          Transform cannonTransform, ExplosionObject explosionObject, IInstantiator instantiator, Image aimImage,
                          AudioSource wickAudio, RandomSoundsPlayer shotSoundsPlayer, UnityEvent onShot)
 {
     _settings             = settings;
     _inputHandlingBlocker = inputHandlingBlocker;
     _cannonTransform      = cannonTransform;
     _shotSoundsPlayer     = shotSoundsPlayer;
     _onShot                 = onShot;
     _reloadComponent        = new ReloadComponent(_settings);
     _powerChargingComponent = new ShotPowerChargingComponent(_settings, aimImage, wickAudio);
     _explosionComponent     = new ExplosionComponent(explosionObject, instantiator, _settings);
 }
 public ExplosionComponent(ExplosionObject prefab, IInstantiator instantiator, CannonSettings settings)
 {
     _prefab       = prefab;
     _instantiator = instantiator;
     _settings     = settings;
 }
 public ReloadComponent(CannonSettings settings)
 {
     _settings = settings;
 }
 public ShotPowerChargingComponent(CannonSettings settings, Image aimBarImage, AudioSource wickAudio)
 {
     _settings      = settings;
     _wickAudio     = wickAudio;
     _aimController = new AimTextureController(aimBarImage);
 }