/// <summary> /// Constructor PropertiesViewModel /// </summary> /// <param name="projectManager"></param> /// <param name="loggerService"></param> /// <param name="meshTools"></param> public PropertiesViewModel( IProjectManager projectManager, ILoggerService loggerService, ISettingsManager settingsManager, MeshTools meshTools, IModTools modTools ) : base(ToolTitle) { _settingsManager = settingsManager; _projectManager = projectManager; _loggerService = loggerService; _meshTools = meshTools; _modTools = modTools; SetupToolDefaults(); SetToNullAndResetVisibility(); nAudioSimple = NAudioSimpleEngine.Instance; NAudioSimpleEngine.Instance.PropertyChanged += NAudioEngine_PropertyChanged; StopAudioCommand = new RelayCommand(ExecuteStopPlaying, CanStopPlaying); PlayAudioCommand = new RelayCommand(ExecuteStartPlaying, CanStartPlaying); PauseAudioCommand = new RelayCommand(ExecutePausePlaying, CanPausePlaying); }
public ProjectExplorerViewModel( IProjectManager projectManager, ILoggerService loggerService, IWatcherService watcherService, IModTools modTools ) : base(ToolTitle) { _projectManager = projectManager; _loggerService = loggerService; _watcherService = watcherService; _modTools = modTools; SetupCommands(); SetupToolDefaults(); _watcherService.Files .Connect() .ObserveOn(RxApp.MainThreadScheduler) .BindToObservableList(out _observableList) .Subscribe(OnNext); ExpandAll = ReactiveCommand.Create(() => { }); CollapseAll = ReactiveCommand.Create(() => { }); CollapseChildren = ReactiveCommand.Create(() => { }); ExpandChildren = ReactiveCommand.Create(() => { }); this.WhenAnyValue(x => x.SelectedItem).Subscribe(model => { if (model != null) { Locator.Current.GetService <AppViewModel>().FileSelectedCommand.SafeExecute(model); } }); }
public RibbonViewModel( ISettingsManager settingsManager, IProgressService <double> progressService, IArchiveManager archiveManager, IProjectManager projectManager, ILoggerService loggerService, IModTools modTools, AppViewModel appViewModel ) { _mainViewModel = appViewModel; _archiveManager = archiveManager; _progressService = progressService; _projectManager = projectManager; _modTools = modTools; _loggerService = loggerService; _settingsManager = settingsManager; //ViewSelectedCommand = new DelegateCommand<object>(ExecuteViewSelected, CanViewSelected); //AssetBrowserAddCommand = new RelayCommand(ExecuteAssetBrowserAdd, CanAssetBrowserAdd); //AssetBrowserOpenFileLocation = new RelayCommand(ExecuteAssetBrowserOpenFileLocation, CanAssetBrowserOpenFileLocation); OpenProjectCommand = ReactiveCommand.Create <string>(s => _mainViewModel.OpenProjectCommand.Execute(s).Subscribe()); //NewProjectCommand = ReactiveCommand.Create(() => _mainViewModel.NewProjectCommand.Execute().Subscribe()); PackProjectCommand = ReactiveCommand.Create(() => _mainViewModel.PackModCommand.SafeExecute()); PackInstallProjectCommand = ReactiveCommand.Create(() => _mainViewModel.PackInstallModCommand.SafeExecute()); NewFileCommand = ReactiveCommand.Create(() => _mainViewModel.NewFileCommand.SafeExecute(null)); SaveFileCommand = ReactiveCommand.Create(() => _mainViewModel.SaveFileCommand.SafeExecute()); SaveAsCommand = ReactiveCommand.Create(() => _mainViewModel.SaveAsCommand.SafeExecute()); SaveAllCommand = ReactiveCommand.Create(() => _mainViewModel.SaveAllCommand.SafeExecute()); ViewProjectExplorerCommand = ReactiveCommand.Create(() => _mainViewModel.ShowProjectExplorerCommand.SafeExecute()); ViewAssetBrowserCommand = ReactiveCommand.Create(() => _mainViewModel.ShowAssetsCommand.SafeExecute()); ViewPropertiesCommand = ReactiveCommand.Create(() => _mainViewModel.ShowPropertiesCommand.SafeExecute()); ViewLogCommand = ReactiveCommand.Create(() => _mainViewModel.ShowLogCommand.SafeExecute()); //ViewCodeEditorCommand = ReactiveCommand.Create(() => _mainViewModel.ShowCodeEditorCommand.SafeExecute()); ShowImportExportToolCommand = ReactiveCommand.Create(() => _mainViewModel.ShowImportExportToolCommand.SafeExecute()); ShowPluginToolCommand = ReactiveCommand.Create(() => _mainViewModel.ShowPluginCommand.SafeExecute()); ShowBugReportCommand = ReactiveCommand.CreateFromTask(async() => { var result = await Interactions.ShowBugReport.Handle(Unit.Default); }); ShowFeedbackCommand = ReactiveCommand.CreateFromTask(async() => { var result = await Interactions.ShowFeedback.Handle(Unit.Default); }); OpenMaterialRepositoryCommand = ReactiveCommand.Create(() => { Commonfunctions.ShowFolderInExplorer(_settingsManager.MaterialRepositoryPath); }); UnbundleGameCommand = ReactiveCommand.CreateFromTask(UnbundleGame); }
public MaterialsRepositoryDialog() { InitializeComponent(); _settingsManager = Locator.Current.GetService <ISettingsManager>(); _gameControllerFactory = Locator.Current.GetService <IGameControllerFactory>(); _modTools = Locator.Current.GetService <IModTools>(); _progress = Locator.Current.GetService <IProgressService <double> >(); _loggerService = Locator.Current.GetService <ILoggerService>(); _archivesFolderPath = Path.Combine(_settingsManager.GetRED4GameRootDir(), "archive", "pc", "content"); MaterialsDepotPath = _settingsManager.MaterialRepositoryPath; MaterialsTextBox.SetCurrentValue(System.Windows.Controls.TextBox.TextProperty, _settingsManager.MaterialRepositoryPath); }
public RED4Controller( ILoggerService loggerService, INotificationService notificationService, IProjectManager projectManager, ISettingsManager settingsManager, IHashService hashService, IModTools modTools, IArchiveManager gameArchiveManager ) { _notificationService = notificationService; _loggerService = loggerService; _projectManager = projectManager; _settingsManager = settingsManager; _hashService = hashService; _modTools = modTools; _archiveManager = gameArchiveManager; }
public ProjectExplorerViewModel( IProjectManager projectManager, ILoggerService loggerService, IWatcherService watcherService, IProgressService <double> progressService, IModTools modTools, IGameControllerFactory gameController, IPluginService pluginService, ISettingsManager settingsManager ) : base(ToolTitle) { _projectManager = projectManager; _loggerService = loggerService; _watcherService = watcherService; _modTools = modTools; _progressService = progressService; _gameController = gameController; _pluginService = pluginService; _settingsManager = settingsManager; SideInDockedMode = DockSide.Left; SetupCommands(); SetupToolDefaults(); _watcherService.Files .Connect() .ObserveOn(RxApp.MainThreadScheduler) .BindToObservableList(out _observableList) .Subscribe(OnNext); ExpandAll = ReactiveCommand.Create(() => { }); CollapseAll = ReactiveCommand.Create(() => { }); CollapseChildren = ReactiveCommand.Create(() => { }); ExpandChildren = ReactiveCommand.Create(() => { }); this.WhenAnyValue(x => x.SelectedItem).Subscribe(model => { if (model != null) { Locator.Current.GetService <AppViewModel>().FileSelectedCommand.SafeExecute(model); } }); }
/// <summary> /// Constructor PropertiesViewModel /// </summary> /// <param name="projectManager"></param> /// <param name="loggerService"></param> /// <param name="meshTools"></param> public PropertiesViewModel( IProjectManager projectManager, ILoggerService loggerService, ISettingsManager settingsManager, MeshTools meshTools, IModTools modTools ) : base(ToolTitle) { _settingsManager = settingsManager; _projectManager = projectManager; _loggerService = loggerService; _meshTools = meshTools; _modTools = modTools; SetupToolDefaults(); SideInDockedMode = DockSide.Left; SetToNullAndResetVisibility(); PreviewAudioCommand = ReactiveCommand.Create <string, string>(str => str); }
public ConsoleFunctions( ILoggerService loggerService, IHashService hashService, IProgressService <double> progress, Red4ParserService wolvenkitFileService, IModTools modTools, IArchiveManager archiveManager, IOptions <CommonImportArgs> commonImportArgs, IOptions <XbmImportArgs> xbmImportArgs, IOptions <GltfImportArgs> gltfImportArgs, IOptions <XbmExportArgs> xbmExportArgs, IOptions <MeshExportArgs> meshExportArgs, IOptions <MorphTargetExportArgs> morphTargetExportArgs, IOptions <MlmaskExportArgs> mlmaskExportArgs, IOptions <WemExportArgs> wemExportArgs, IOptions <AnimationExportArgs> animationExportArgs ) { _loggerService = loggerService; _modTools = modTools; _progressService = progress; _hashService = hashService; _archiveManager = archiveManager; _commonImportArgs = commonImportArgs; _xbmImportArgs = xbmImportArgs; _gltfImportArgs = gltfImportArgs; _wolvenkitFileService = wolvenkitFileService; _xbmExportArgs = xbmExportArgs; _meshExportArgs = meshExportArgs; _morphTargetExportArgs = morphTargetExportArgs; _mlmaskExportArgs = mlmaskExportArgs; _wemExportArgs = wemExportArgs; _animationExportArgs = animationExportArgs; }
/// <summary> /// Import Export ViewModel Constructor /// </summary> /// <param name="projectManager"></param> /// <param name="loggerService"></param> /// <param name="messageService"></param> /// <param name="watcherService"></param> /// <param name="gameController"></param> /// <param name="modTools"></param> public ImportExportViewModel( IProjectManager projectManager, ILoggerService loggerService, IProgressService <double> progressService, IWatcherService watcherService, INotificationService notificationService, IGameControllerFactory gameController, ISettingsManager settingsManager, IModTools modTools, MeshTools meshTools, IArchiveManager archiveManager ) : base(ToolTitle) { _projectManager = projectManager; _loggerService = loggerService; _progressService = progressService; _watcherService = watcherService; _modTools = modTools; _gameController = gameController; _notificationService = notificationService; _settingsManager = settingsManager; _meshTools = meshTools; _archiveManager = archiveManager; SetupToolDefaults(); SideInDockedMode = DockSide.Tabbed; ProcessAllCommand = ReactiveCommand.CreateFromTask(ExecuteProcessAll); ProcessSelectedCommand = ReactiveCommand.CreateFromTask(ExecuteProcessSelected); CopyArgumentsTemplateToCommand = new DelegateCommand <string>(ExecuteCopyArgumentsTemplateTo, CanCopyArgumentsTemplateTo); SetCollectionCommand = new DelegateCommand <string>(ExecuteSetCollection, CanSetCollection); ConfirmCollectionCommand = new DelegateCommand <string>(ExecuteConfirmCollection, CanConfirmCollection); AddItemsCommand = new DelegateCommand <ObservableCollection <object> >(ExecuteAddItems, CanAddItems); RemoveItemsCommand = new DelegateCommand <ObservableCollection <object> >(ExecuteRemoveItems, CanRemoveItems); _watcherService.Files .Connect() .Filter(_ => _.IsImportable) .Filter(_ => _.FullName.Contains(_projectManager.ActiveProject.RawDirectory)) .Filter(x => CheckForMultiImport(x)) .Transform(_ => new ImportableItemViewModel(_)) .ObserveOn(RxApp.MainThreadScheduler) .Bind(out _importableItems) .Subscribe(); _watcherService.Files .Connect() .Filter(_ => _.IsExportable) .Filter(_ => _.FullName.Contains(_projectManager.ActiveProject.ModDirectory)) .Transform(_ => new ExportableItemViewModel(_)) .ObserveOn(RxApp.MainThreadScheduler) .Bind(out _exportableItems) .Subscribe(); _watcherService.Files .Connect() .Filter(_ => _.IsConvertable) .Filter(_ => _.FullName.Contains(_projectManager.ActiveProject.RawDirectory)) .Transform(_ => new ConvertableItemViewModel(_)) .ObserveOn(RxApp.MainThreadScheduler) .Bind(out _convertableItems) .Subscribe(); ////=> IsImportsSelected ? SelectedImport : IsExportsSelected ? SelectedExport : SelectedConvert; //this.WhenAnyValue(x => x.IsImportsSelected, y => y.IsExportsSelected, z => z.IsConvertsSelected) // .Subscribe(b => //{ // SelectedObject = IsImportsSelected ? SelectedImport : IsExportsSelected ? SelectedExport : SelectedConvert; //}); this.WhenAnyValue(x => x.SelectedExport, y => y.SelectedImport, z => z.SelectedConvert) .Subscribe(b => { var x = b.Item1; var y = b.Item2; var z = b.Item3; SelectedObject = IsImportsSelected ? SelectedImport : IsExportsSelected ? SelectedExport : SelectedConvert; }); }