public override void SetUpReference()
        {
            if (destroyedTargetReserveAdaptor != null)
            {
                thisDestroyedTargetReserveAdaptor = destroyedTargetReserveAdaptor;
            }
            if (popUIReserveAdaptor != null)
            {
                thisPopUIReserveAdaptor = popUIReserveAdaptor;
            }

            IDestroyedTargetReserve destroyedTargetReserve = thisDestroyedTargetReserveAdaptor.GetDestroyedTargetReserve();

            thisShootingTarget.SetDestroyedTargetReserve(destroyedTargetReserve);

            IPopUIReserve popUIReserve = thisPopUIReserveAdaptor.GetPopUIReserve();

            thisShootingTarget.SetPopUIReserve(popUIReserve);

            IGameStatsTracker tracker = thisGameStatsTrackerAdaptor.GetTracker();

            thisShootingTarget.SetGameStatsTracker(tracker);

            IShootingManager shootingManager = thisShootingManagerAdaptor.GetShootingManager();

            thisShootingTarget.SetShootingManager(shootingManager);

            IShootingTargetNormalHitDetector normalHitDetector = thisNormalHitDetectorAdaptor.GetShootingTargetNormalHitDetector();

            thisShootingTarget.SetShootingTargetNormalHitDetector(normalHitDetector);
            normalHitDetector.SetShootingTarget(thisShootingTarget);

            if (thisCriticalHitDetectorAdaptor != null)
            {
                IShootingTargetCriticalHitDetector criticalHitDetector = thisCriticalHitDetectorAdaptor.GetShootingTargetCriticalHitDetector();
                thisShootingTarget.SetShootingTargetCriticalHitDetector(criticalHitDetector);
                criticalHitDetector.SetShootingTarget(thisShootingTarget);
            }

            thisAudioManager = thisAudioManagerAdaptor.GetAudioManager();
        }
        public override void SetUpReference()
        {
            IGameplayUIElement gameplayUIElement = gameplayUIElementAdaptor.GetGameplayUIElement();

            thisWidget.SetGameplayUIElement(gameplayUIElement);

            IPlayerCharacterWaypointsFollower follower = playerCharacterWaypointsFollowerAdaptor.GetPlayerCharacterWaypointsFollower();

            thisWidget.SetPlayerCharacterWaypointsFollower(follower);

            IGameStatsTracker tracker = gameStatsTrackerAdaptor.GetTracker();

            thisWidget.SetGameStatsTracker(tracker);

            IHeadUpDisplay hud = headUpDisplayAdaptor.GetHeadUpDisplay();

            thisWidget.SetHeadUpDisplay(hud);

            IUIElementGroupScroller rootScroller = (IUIElementGroupScroller)rootScrollerAdaptor.GetUIElement();

            thisWidget.SetRootScroller(rootScroller);

            // IFrostGlass frostGlass = rootElementFrostGlassAdaptor.GetFrostGlass();
            // thisWidget.SetRootElementFrostGlass(frostGlass);

            IResourcePanel resourcePanel = resourcePanelAdaptor.GetResourcePanel();

            thisWidget.SetResourcePanel(resourcePanel);

            IMainMenuUIElement mainMenuUIElement = mainMenuUIAdaptor.GetMainMenuUIElement();

            thisWidget.SetMainMenuUIElement(mainMenuUIElement);

            IEndGamePane endGamePane = endGamePaneAdaptor.GetEndGamePane();

            thisWidget.SetEndGamePane(endGamePane);

            ITitlePane titlePane = titlePaneAdaptor.GetTitlePane();

            thisWidget.SetTitlePane(titlePane);

            IPlayerDataManager playerDataManager = playerDataManagerAdaptor.GetPlayerDataManager();

            thisWidget.SetPlayerDataManager(playerDataManager);

            IShootingDataManager shootingDataManager = shootingDataManagerAdaptor.GetShootingDataManager();

            thisWidget.SetShootingDataManager(shootingDataManager);

            IScoreManager scoreManager = scoreManagerAdaptor.GetScoreManager();

            thisWidget.SetScoreManager(scoreManager);

            ICurrencyManager currencyManager = currencyManagerAdaptor.GetCurrencyManager();

            thisWidget.SetCurrencyManager(currencyManager);

            IHeatManager heatManager = heatManagerAdaptor.GetHeatManager();

            thisWidget.SetHeatManager(heatManager);

            ICoreGameplayInputScroller inputScroller = inputScrollerAdaptor.GetInputScroller();

            thisWidget.SetCoreGameplayInputScroller(inputScroller);

            IGameplayPause gameplayPause = gameplayPauseAdaptor.GetGameplayPause();

            thisWidget.SetGameplayPause(gameplayPause);

            IPlayerInputManager playerInputManager = playerInputManagerAdaptor.GetInputManager();

            thisWidget.SetPlayerInputManager(playerInputManager);

            IFrostManager frostManager = frostManagerAdaptor.GetFrostManager();

            thisWidget.SetFrostManager(frostManager);

            ITutorialPane tutorialPane = tutorialPaneAdaptor.GetTutorialPane();

            thisWidget.SetTutorialPane(tutorialPane);

            IColorSchemeManager colorSchemeManager = colorSchemeManagerAdaptor.GetColorSchemeManager();

            thisWidget.SetColorSchemeManager(colorSchemeManager);

            IInterstitialADManager interstitialADManager = interstitialADManagerAdaptor.GetInterstitialADManager();

            thisWidget.SetInterstitialADManager(interstitialADManager);
        }
 public void SetGameStatsTracker(IGameStatsTracker tracker)
 {
     thisGameStatsTracker = tracker;
 }