private void ShowGameScreen(IGameScreen NewGameScreen, GameScreenSetup Data, bool RootScreen) { if (RootScreen) { while (MainArea.Children.Count > 0) { MainArea.Children.RemoveAt(0); } OpenScreens.Clear(); } else { (CurrentScreen as UIElement).Visibility = Visibility.Collapsed; } NewGameScreen.SetupGameScreenData(Data); NewGameScreen.SetupData.Parent = this; MainArea.Children.Add((UIElement)NewGameScreen); OpenScreens.Add(NewGameScreen); Headings(); CreateButtons(); }