コード例 #1
0
        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;
        }
コード例 #2
0
        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);
            }
        }