public void TransitionToControlsSubWindow()
 {
     /*
      *@Desc: Transition to the sub window Controls in the Options Menu's display
      */
     _ActiveSubWindowDisplay.HideSubWindowDisplay();
     _ActiveSubWindowDisplay = _SubWindowControls;
     _ActiveSubWindowDisplay.ShowSubWindowDisplay();
 }
 public void TransitionToGameplaySubWindow()
 {
     /*
      *@Desc: Transition to the sub window Gameplay in the Options Menu's display
      */
     _ActiveSubWindowDisplay.HideSubWindowDisplay();
     _ActiveSubWindowDisplay = _SubWindowGameplay;
     _ActiveSubWindowDisplay.ShowSubWindowDisplay();
 }
    public UI_OptionMenuSubWindowTransitions(GameObject optionsDisplay, GameObject optionsDisplayMenuBar, IGetReceiverFunctionality inputReceivers)
    {
        _SubWindowGameplay = new OptionsGameplaySubWindow(optionsDisplay.transform.Find("Gameplay Window").gameObject, optionsDisplayMenuBar.transform.Find("Gameplay").gameObject, inputReceivers, this);
        _SubWindowVideo    = new OptionsVideoSubWindow(optionsDisplay.transform.Find("Video Window").gameObject, optionsDisplayMenuBar.transform.Find("Video").gameObject, inputReceivers, this);
        _SubWindowSound    = new OptionsSoundSubWindow(optionsDisplay.transform.Find("Sound Window").gameObject, optionsDisplayMenuBar.transform.Find("Sound").gameObject, inputReceivers, this);
        _SubWindowControls = new OptionsControlsSubWindow(optionsDisplay.transform.Find("Controls Window").gameObject, optionsDisplayMenuBar.transform.Find("Controls").gameObject, inputReceivers, this);

        _SubWindowGameplay.SubWindowNavigationStrategy.SetupElementNavigation(leftElement: _SubWindowControls.SubWindowNavigationStrategy, rightElement: _SubWindowVideo.SubWindowNavigationStrategy);
        _SubWindowVideo.SubWindowNavigationStrategy.SetupElementNavigation(leftElement: _SubWindowGameplay.SubWindowNavigationStrategy, rightElement: _SubWindowSound.SubWindowNavigationStrategy);
        _SubWindowSound.SubWindowNavigationStrategy.SetupElementNavigation(leftElement: _SubWindowVideo.SubWindowNavigationStrategy, rightElement: _SubWindowControls.SubWindowNavigationStrategy);
        _SubWindowControls.SubWindowNavigationStrategy.SetupElementNavigation(leftElement: _SubWindowSound.SubWindowNavigationStrategy, rightElement: _SubWindowGameplay.SubWindowNavigationStrategy);

        SetupInputReceiver(inputReceivers);

        _ActiveSubWindowDisplay = _SubWindowGameplay;   //When the options menu is displayed, the gameplay sub window will always be the default selected sub window
        _ActiveSubWindowDisplay.ShowSubWindowDisplay(); //When fully load, show the default display to the user
    }