public AirplanesManager(Level pLevel, EnemiesSoundManager pEnemiesSoundManager) : base(false)
        {
            _level = pLevel;
            _enemiesSoundManager = pEnemiesSoundManager;

            _map = _level.Map;

            _airplanesPool = new Airplane[20];

            for (int i = 0; i < _airplanesPool.Length; i++)
            {
                var airplane = new Airplane();

                airplane.OnUpdateListeners =
                    airplane.OnUpdateListeners.Concat(new IOnUpdateListener[] { _enemiesSoundManager }).ToArray();

                _level.AddChild(airplane);

                _firstAirplaneIndex = airplane.Index;

                airplane.SetActive(false);

                _airplanesPool[i] = airplane;
            }

            _airplanesMap = new Dictionary <Airplane, TiledObject>();
        }
 void DespawnAirplane(Airplane airplane)
 {
     airplane.SetActive(false);
 }