public App() { var session = new SessionService(); ServiceLocator.Add(session); var commander = new CommandService(); commander.AddRange( new Command[] { new NewProjectCommand(), new OpenProjectCommand(), new SaveProjectAsCommand(), new SaveProjectCommand(), new NavigateToCommand(), new ExportProjectCommand(), new ExportWeaponCommand(), new LoadProjectCommand(), new ShutdownCommand(), new CheckChangesCommand(session) }); ServiceLocator.Add(commander); var prefService = new PreferencesService(); ServiceLocator.Add(prefService); //TODO: Move this somewhere else, inject or use interfaces idk session.Project.PropertyChanged += prefService.Project_PropertyChanged; }
public BootWindow() { InitializeComponent(); _commandService = ServiceLocator.Fetch <CommandService>(); _preferencesService = ServiceLocator.Fetch <PreferencesService>(); if (!_preferencesService.Preferences.LoadLastProjectOnStartUp) { return; } if (_commandService.Get <LoadProjectCommand>().Execute(_preferencesService.Preferences.LastProjectPath)) { var args = new NavigateToCommand.Args() { currentWindow = this, target = typeof(MainWindow) }; _commandService.Get <NavigateToCommand>().Execute(args); } }