public MainWindow(IEventAggregator eventAggregator, IRegionManager regionManager, ILoggerFacade logger, AppState state)
{
Uri mainPage;
InitializeComponent();
_logger = logger;
// Subscribes to the CloseGameEvent and closes the window when triggered.
eventAggregator.GetEvent<CloseGameEvent>().Subscribe(a => Close());
if (state.Mode == ScreenMode.FullScreen)
{
WindowStyle = WindowStyle.None;
WindowState = WindowState.Maximized;
Focus();
}
if (string.IsNullOrEmpty(state.Language))
{
mainPage = new Uri("/PageSelectLanguage", UriKind.Relative);
}
else
{
_dictionary.SetCultureCommand.Execute(state.Language);
mainPage = new Uri("/PageStartMenu", UriKind.Relative);
}
Width = SystemParameters.PrimaryScreenWidth;
Height = SystemParameters.PrimaryScreenHeight;
Loaded += (o, args) =>
{
_logger.Log("Navigating to default header and start menu.", Category.Debug, Priority.Medium);
regionManager.RequestNavigate("HeaderContentRegion", new Uri("/PageHeader", UriKind.Relative));
regionManager.RequestNavigate("MainContentRegion", mainPage);
};
Closing += (o, args) =>
{
state.SaveState();
};
//Setup.SetupGame();
}