protected override void SetupInputReceivers(IGetReceiverFunctionality inputReceivers, UI_DisplayTransitions transitions)
    {
        IReceiverDirectTransitionHandler directTransitionHandler = inputReceivers.GetDirectTransitionReceiver;

        directTransitionHandler.SetGameMenuTransitionStrategy   = new Strategy_GameMenuTransitionGoTo(transitions);
        directTransitionHandler.SetPlayerMenuTransitionStrategy = new Strategy_PlayerMenuTransitionGoTo(transitions);
    }
    private void ResetInputReceiverReferences()
    {
        /*
         *@Desc: Reset the input receivers to ignore UI elements after every display transition ensuring no lingering behavior between transitions
         */
        IReceiverDirectTransitionHandler directTransitions = _InputReceivers.GetDirectTransitionReceiver;

        directTransitions.SetBackTransitionStrategy       = new Strategy_TransitionToPreviousDisplayIgnore();
        directTransitions.SetGameMenuTransitionStrategy   = new Strategy_GameMenuTransitionIgnore();
        directTransitions.SetPlayerMenuTransitionStrategy = new Strategy_PlayerMenuTransitionIgnore();

        IReceiverHandleElementNavigation elementNavigation = _InputReceivers.GetUIElementNavigationReceiver;

        elementNavigation.SetUIElementNavigationStrategy = new Strategy_NavigateElementIgnore();

        IReceiverHandleElementSubmission elementSubmission = _InputReceivers.GetUIElementSubmissionReceiver;

        elementSubmission.SetUIElementSubmissionTypeOneStrategy   = new Strategy_ElementSubmissionTypeOneIgnore();
        elementSubmission.SetUIElementSubmissionTypeTwoStrategy   = new Strategy_ElementSubmissionTypeTwoIgnore();
        elementSubmission.SetUIElementSubmissionTypeThreeStrategy = new Strategy_ElementSubmissionTypeThreeIgnore();
        elementSubmission.SetUIElementSubmissionTypeFourStrategy  = new Strategy_ElementSubmissionTypeFourIgnore();

        IReceiverHandlerSubWindowNavigation subWindowNavigation = _InputReceivers.GetSubWindowNavigation;

        subWindowNavigation.SetUISubWindowNavigationStrategy = new Strategy_NavigateSubWindowIgnore();
    }
    protected override void SetupInputReceivers(IGetReceiverFunctionality inputReceivers, UI_DisplayTransitions transitions)
    {
        IReceiverDirectTransitionHandler directTransitions = inputReceivers.GetDirectTransitionReceiver;

        directTransitions.SetBackTransitionStrategy       = new Strategy_TransitionToPreviousDisplayToGameMenu(transitions);
        directTransitions.SetGameMenuTransitionStrategy   = new Strategy_GameMenuTransitionGoTo(transitions);
        directTransitions.SetPlayerMenuTransitionStrategy = new Strategy_PlayerMenuTransitionIgnore();
    }
    protected override void SetupInputReceivers(IGetReceiverFunctionality inputReceivers, UI_DisplayTransitions transitions)
    {
        IReceiverDirectTransitionHandler directTransitions = inputReceivers.GetDirectTransitionReceiver;

        directTransitions.SetBackTransitionStrategy       = new Strategy_TransitionToPreviousDisplayToHud(transitions);
        directTransitions.SetGameMenuTransitionStrategy   = new Strategy_GameMenuTransitionToHud(transitions);
        directTransitions.SetPlayerMenuTransitionStrategy = new Strategy_PlayerMenuTransitionIgnore();

        IReceiverHandleElementNavigation elementNavigation = inputReceivers.GetUIElementNavigationReceiver;

        elementNavigation.SetUIElementNavigationStrategy = _ResumeButton.ButtonNavigationStrategy;
    }