public FileMenuViewModel(ISkeletonGameProvider skeletonGameProvider, IGameRunnner gameRunnner, IAppSettingsModel appSettingsModel, IEventAggregator eventAggregator, IUnityContainer unityContainer, IRegionManager regionManager, ILoggerFacade loggerFacade) : base(eventAggregator, loggerFacade) { _skeletonGameProvider = skeletonGameProvider; _regionManager = regionManager; _gameRunnner = gameRunnner; _appSettingsModel = appSettingsModel; _appSettingsModel.Load(); if (_eventAggregator == null) { _eventAggregator = eventAggregator; } RecentDirectories = appSettingsModel.RecentDirectories; CreateNewGameRequest = new InteractionRequest <IRequestNewGame>(); //Recent dirs //RecentDirectories.AddRange(new string[] { @"C:\P-ROC\Games\Jaws", @"C:\P-ROC\Games\EvilDead" }); //Get the recordings stored from containers view model Recordings = unityContainer.Resolve <RecordingsViewModel>().PlaybackItemViewModels; _eventAggregator.GetEvent <OnLaunchGameEvent>().Subscribe(async(x) => { IsGameRunning = true; await OnLaunchedGame(); }); #region Commands BrowseFolderCommand = new DelegateCommand(() => FileFolder.Explore(_skeletonGameProvider.GameFolder), () => GameFolder != null); CreateNewGameCommand = new DelegateCommand(OnCreateNewGame, () => !IsGameRunning); ExportCommand = new DelegateCommand <string>(OnExport, (x) => GameFolder != null); LaunchGameCommand = new DelegateCommand(async() => { IsGameRunning = true; await OnLaunchedGame(); }, () => GameNotRunningAndFolderValid()); LaunchRecordingCommand = new DelegateCommand <string>((playbackItem) => { OnLaunchRecordings(unityContainer, playbackItem); }, (x) => GameNotRunningAndFolderValid()); LaunchToolCommand = new DelegateCommand <string>((toolName) => { OnLaunchTool(toolName); }, (x) => GameFolder != null); OpenRecentCommand = new DelegateCommand <string>(OnOpenRecent, (x) => !IsGameRunning); ReloadGameCommand = new DelegateCommand(async() => await OnReloadGame(), () => GameNotRunningAndFolderValid()); SetDirectoryCommand = new DelegateCommand(() => OnSetDirectory(), () => !IsGameRunning); NavigateCommand = new DelegateCommand <string>(OnNavigate, (x) => GameFolder != null); #endregion }
public void Save(IAppSettingsModel appSettings) { _appSettingsRepository.Save(appSettings); }