private static async Task LoadContext() { await ServiceLocator.TraceService.LoadLocal(); _context = new CatrobatContext(); var localSettings = await ServiceLocator.ContextService.RestoreLocalSettings(); _context.LocalSettings = localSettings; if (localSettings == null) { _context.LocalSettings = new LocalSettings(); var defaultProject = await ServiceLocator.ContextService. RestoreDefaultProgram(AppResources.Main_DefaultProgramName); ProgramChecker.CheckProgram(defaultProject); _context.LocalSettings.CurrentProgramName = defaultProject.Name; await defaultProject.Save(); } if (_context.LocalSettings.CurrentLanguageString == null) _context.LocalSettings.CurrentLanguageString = ServiceLocator.CultureService.GetCulture().TwoLetterISOLanguageName; var themeChooser = ServiceLocator.ThemeChooser; if (_context.LocalSettings.CurrentThemeIndex != -1) themeChooser.SelectedThemeIndex = _context.LocalSettings.CurrentThemeIndex; if (_context.LocalSettings.CurrentLanguageString != null) ServiceLocator.GetInstance<SettingsViewModel>().CurrentCulture = new CultureInfo(_context.LocalSettings.CurrentLanguageString); var themeChooserChangedMessage = new GenericMessage<ThemeChooser>(themeChooser); Messenger.Default.Send(themeChooserChangedMessage, ViewModelMessagingToken.ThemeChooserListener); var contextChangedMessage = new GenericMessage<CatrobatContextBase>(_context); Messenger.Default.Send(contextChangedMessage, ViewModelMessagingToken.ContextListener); var localProjectsChangedMessage = new MessageBase(); Messenger.Default.Send(localProjectsChangedMessage, ViewModelMessagingToken.LocalProgramsChangedListener); //var message = new GenericMessage<Project>(currentProject); //Messenger.Default.Send(message, ViewModelMessagingToken.CurrentProgramChangedListener); // allow viewmodels to load from settings Messenger.Default.Send(new GenericMessage<LocalSettings>(_context.LocalSettings), ViewModelMessagingToken.LoadSettings); }
private void ContextChangedAction(GenericMessage <CatrobatContextBase> message) { _context = message.Content; }
private void ContextChangedAction(GenericMessage<CatrobatContextBase> message) { _context = message.Content; }