public void Initialize(IPlayerLoopProcessor playerLoopProcessor, Labyrinth labyrinth)
 {
     PlayerLoopProcessor = playerLoopProcessor;
     _labyrinth          = labyrinth;
     _effectFactory      = new EffectFactory();
     _collectibleFactory = new CollectibleFactory();
     radar = new Radar();
     RotationManager?.Initialize(playerLoopProcessor);
     InputTranslator?.Initialize(playerLoopProcessor);
     InputListener?.Initialize(InputTranslator);
 }
        public void Shutdown()
        {
            Radar?.Shutdown();
            ActivePlayer?.Shutdown();
            ActivePlayer = null;
            CameraController?.Shutdown();
            CameraController    = null;
            _collectibleFactory = null;
            radar = null;

            RotationManager?.Shutdown();
            InputTranslator?.Shutdown();
            InputListener?.Shutdown(inputManagerTranslator);
            UserInputManager?.Shutdown();
            ShutdownUI();
        }