public MainWindowViewModel(IEventAggregator eventAggregator, ISkeletonGameProvider skeletonGameProvider, ISkeletonLogger skeletonLogger, ILoggerFacade loggerFacade, IRegionManager regionManager) : base(eventAggregator, loggerFacade) { _skeletonGameProvider = skeletonGameProvider; _skeletonGameProvider.StatusChanged += _skeletonGameProvider_StatusChanged; _regionManager = regionManager; IsGameRunning = false; OpenFileFolderCommand = new DelegateCommand <string>(OnOpenFileFolder); CloseTabCommand = new DelegateCommand <object>(OnCloseTab); Log("".PadRight(25, '*')); Log($"Skeleton Game Manager : {SkeletonGameManager.Base.Helpers.Versions.GetVersion()}"); Log("".PadRight(25, '*')); NotificationRequest = new InteractionRequest <INotification>(); eventAggregator.GetEvent <ErrorMessageEvent>().Subscribe((x) => { NotificationRequest.Raise(new Notification { Content = x, Title = "Error" }); }, ThreadOption.UIThread); }
public ScoreLayoutViewModel(IEventAggregator eventAggregator, ISkeletonGameProvider skeletonGameProvider, ILoggerFacade loggerFacade) : base(eventAggregator, loggerFacade) { //TODO: Animations dropdown not updating if user adds to asset list or saves. Title = "Score Display"; _skeletonGameProvider = skeletonGameProvider; //Save new_score_display.yaml SaveCommand = new DelegateCommand(() => { OnSaveCommand(); }); _eventAggregator.GetEvent <LoadYamlFilesChanged>().Subscribe(async x => { try { await OnLoadYamlFilesChanged(); } catch (System.Exception ex) { throw; } } ); }
public AnimationsViewModel(ISkeletonGameFiles skeletonGameFiles, ISkeletonGameProvider skeletonGameProvider, IEventAggregator eventAggregator, ILoggerFacade loggerFacade) : base(eventAggregator, loggerFacade) { _skeletonGameFiles = skeletonGameFiles; _skeletonGameProvider = skeletonGameProvider; Title = "Animations"; OpenDirectoryCommand = new DelegateCommand(() => OpenDirectory(_dmdPath.AbsolutePath)); OpenFileCommand = new DelegateCommand <string>(x => OpenDirectory(Path.Combine(_dmdPath.AbsolutePath, x))); }
public VpLogViewModel(ISkeletonGameProvider skeletonGameProvider, IEventAggregator eventAggregator, ILoggerFacade loggerFacade) : base(eventAggregator, loggerFacade) { Title = "VP Log"; LogPath = @"C:\P-ROC\Shared\log.txt"; this.LogLines = new System.Collections.ObjectModel.ObservableCollection <LogViewer.Log>(); GetLogs(); }
public FontsViewModel(ISkeletonGameFiles skeletonGameFiles, ISkeletonGameProvider skeletonGameProvider, IEventAggregator eventAggregator, ILoggerFacade loggerFacade) : base(eventAggregator, loggerFacade) { _skeletonGameProvider = skeletonGameProvider; _skeletonGameFiles = skeletonGameFiles; Title = "Fonts"; OpenDirectoryCommand = new DelegateCommand(() => OpenDirectory(_fontPath.AbsolutePath)); }
public MachineConfigViewModel(IEventAggregator eventAggregator, ISkeletonGameProvider skeletonGameProvider, ISkeletonOSC skeletonOSC, ILoggerFacade loggerFacade) : base(eventAggregator, loggerFacade) { Title = "Machine"; _skeletonGameProvider = skeletonGameProvider; _skeletonOSC = skeletonOSC; _eventAggregator.GetEvent <LoadYamlFilesChanged>().Subscribe(async x => await OnLoadYamlFilesChanged()); SaveMachineConfigCommand = new DelegateCommand(() => { try { SaveMachineConfig(); } catch (Exception ex) { var msg = $"Error saving machine configuration. {ex.Message}"; Log(msg, Category.Exception); _eventAggregator.GetEvent <ErrorMessageEvent>().Publish(msg); } }); SendOscMessageCommand = new DelegateCommand <object>((x) => { try { var obj = x as SwitchViewModel; SwitchViewModel pushedSwitch = null; if (obj.Number.Contains("D")) { pushedSwitch = this.DedicatedSwitches.First((c) => c == obj); } else { pushedSwitch = this.Switches.First((c) => c == obj); } pushedSwitch.State = !pushedSwitch.State; var value = 0.0f; if (pushedSwitch.State) { value = 1.0f; } _skeletonOSC.Send($@"/sw/{pushedSwitch.Name}", value); } catch { } }); InitializeCollections(); }
public SkeletonGameLogViewModel(ISkeletonGameProvider skeletonGameProvider, IEventAggregator eventAggregator, ILoggerFacade loggerFacade) : base(eventAggregator, loggerFacade) { Title = "Game logs"; this.LogLines = new System.Collections.ObjectModel.ObservableCollection <LogViewer.Log>(); LogLinesCollectionView = new ListCollectionView(this.LogLines); _skeletonGameProvider = skeletonGameProvider; _eventAggregator.GetEvent <LoadYamlFilesChanged>().Subscribe(async x => await OnLoadYamlFilesChanged()); _eventAggregator.GetEvent <OnGameEndedEvent>().Subscribe(OnGameEnded); }
public SceneProcessViewModel(IEventAggregator eventAggregator, ISkeletonGameProvider skeletonGameProvider, ILoggerFacade loggerFacade) : base(eventAggregator, loggerFacade) { _skeletonGameProvider = skeletonGameProvider; _eventAggregator.GetEvent <VideoProcessItemAddedEvent>().Subscribe(OnVideoProcessAdded); _eventAggregator.GetEvent <VideoProcessItemRemoveEvent>().Subscribe(x => this.VideoProcessItems.Remove(x)); ProcessListCommand = new DelegateCommand(async() => await ProcessList()); VideoProcessItems = new ObservableCollection <SceneProcessItemViewModel>(); _ffmpeg = ConfigurationManager.AppSettings["ffmpegRoot"]; }
public SceneMediaViewModel(IEventAggregator eventAggregator, ISkeletonGameProvider skeletonGameProvider, ILoggerFacade loggerFacade) : base(eventAggregator, loggerFacade) { _skeletonGameProvider = skeletonGameProvider; MarkVideoRangeCommand = new DelegateCommand <string>(MarkVideoRange); MediaElementLoadedCommand = new DelegateCommand <IMediaPlayer>(MediaElementLoaded); VideoControlCommand = new DelegateCommand <string>(OnVideoControl); _eventAggregator.GetEvent <VideoSourceEvent>().Subscribe(OnVideoSourceUpdated); //Add the selection start and end to process list AddToProcessListCommand = new DelegateCommand(AddToProcessList); }
public SoundViewModel(ISkeletonGameFiles skeletonGameFiles, ISkeletonGameProvider skeletonGameProvider, IEventAggregator eventAggregator, ILoggerFacade loggerFacade) : base(eventAggregator, loggerFacade) { _skeletonGameFiles = skeletonGameFiles; _skeletonGameProvider = skeletonGameProvider; Title = "Sound"; OpenSoundCommand = new DelegateCommand <string>((s) => { Process.Start(s); }); OpenDirectoryCommand = new DelegateCommand(() => OpenDirectory(_audioPathFull.AbsolutePath)); }
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 GameConfigViewModel(IEventAggregator ea, ISkeletonGameProvider skeletonGameProvider, IUnityContainer unityContainer, ILoggerFacade loggerFacade) : base(ea, loggerFacade) { Title = "Game Config"; FileName = "config.yaml"; _skeletonGameProvider = skeletonGameProvider; _unityContainer = unityContainer; KeyboardMappingsVm = _unityContainer.Resolve <KeyboardMappingsViewModel>(); _eventAggregator.GetEvent <LoadYamlFilesChanged>().Subscribe(async x => await OnLoadYamlFilesChanged()); SaveCommand = new DelegateCommand(OnSaveInvoked, () => GameConfigModel == null ? false : true); Log("Iniitalized Game Config", Category.Debug); }
public TrophyDataViewModel(IEventAggregator eventAggregator, ISkeletonGameProvider skeletonGameProvider, ILoggerFacade loggerFacade) : base(eventAggregator, loggerFacade) { _skeletonGameProvider = skeletonGameProvider; Title = "Trophy"; _eventAggregator.GetEvent <LoadYamlFilesChanged>().Subscribe(async x => await OnLoadYamlFilesChanged()); CreateTrophyCommand = new DelegateCommand(() => { OnCreateTrophy(); }); SaveCommand = new DelegateCommand(() => { _skeletonGameProvider.SaveTrophyData(TrophyData); }); }
public KeyboardMappingsViewModel(IEventAggregator eventAggregator, ISkeletonGameProvider skeletonGameProvider, ILoggerFacade loggerFacade) : base(eventAggregator, loggerFacade) { _skeletonGameProvider = skeletonGameProvider; AddUnusedSwitchCommand = new DelegateCommand <PRSwitch>(AddToUnusedSwitch); _eventAggregator.GetEvent <LoadYamlFilesChanged>().Subscribe(async x => { try { await OnLoadYamlFilesChanged(); } catch (System.Exception ex) { Log(ex.Message, Category.Exception); } }, ThreadOption.UIThread); }
public LampshowViewModel(ISkeletonGameFiles skeletonGameFiles, ISkeletonGameProvider skeletonGameProvider, IEventAggregator eventAggregator, ILoggerFacade loggerFacade) : base(eventAggregator, loggerFacade) { _skeletonGameFiles = skeletonGameFiles; _skeletonGameProvider = skeletonGameProvider; _lampshowEdit = new LampshowEdit(); Title = "Lampshows"; OpenDirectoryCommand = new DelegateCommand(() => OpenDirectory(_lampshowPath)); ReverseLampshowCommand = new DelegateCommand <string>((x) => { if (x != null) { OnReverseLampshow(new LampShow() { File = x }); } }); }
public RecordingsViewModel(IEventAggregator eventAggregator, ISkeletonGameProvider skeletonGameProvider, ILoggerFacade loggerFacade) : base(eventAggregator, loggerFacade) { _skeletonGameProvider = skeletonGameProvider; Title = "Recordings"; #region Commands LaunchGameCommand = new DelegateCommand(() => { LaunchGame(this.PlaybackItemViewModel); }, () => _launchCommandEnabled); RefreshRecordingsCommand = new DelegateCommand(PopulateRecordings); #endregion _eventAggregator.GetEvent <LoadYamlFilesChanged>().Subscribe(async x => await OnLoadYamlFilesChanged()); _eventAggregator.GetEvent <OnGameEndedEvent>().Subscribe(x => { OnGameEndedEventChanged(x); }); }
public AssetListViewModel(IRegionManager regionManager, IUnityContainer unityContainer, IEventAggregator eventAggregator, ISkeletonGameProvider skeletonGameProvider, ISkeletonGameFiles skeletonGameFiles, ILoggerFacade loggerFacade) : base(eventAggregator, loggerFacade) { Title = "Assets"; _regionManager = regionManager; _unityContainer = unityContainer; _skeletonGameProvider = skeletonGameProvider; _skeletonGameFiles = skeletonGameFiles; _eventAggregator.GetEvent <LoadYamlFilesChanged>().Subscribe(async x => await OnLoadYamlFilesChanged()); #region Commands CloseTabCommand = new DelegateCommand <object>(OnCloseTab); SaveCommand = new DelegateCommand(() => { OnSaveAssetLists(); }, () => AssetsFile == null ? false : true); SwitchViewCommand = new DelegateCommand <string>(OnSwitchView); #endregion //Set the main assets view _regionManager.RequestNavigate(Regions.AssetDetailRegion, "AssetDetailsView"); }
//TODO: Duplicate layers #region Constructors public AttractViewModel(ISkeletonGameSerializer skeletonGameSerializer, IEventAggregator eventAggregator, ISkeletonGameProvider skeletonGameProvider, ILoggerFacade loggerFacade) : base(skeletonGameSerializer, eventAggregator, loggerFacade) { Title = "Sequences"; _skeletonGameProvider = skeletonGameProvider; _skeletonGameAttract = new SkeletonGameAttract(); Sequences = new ObservableCollection <SequenceItemViewModel>(); Sequences.CollectionChanged += Sequences_CollectionChanged; SequenceYamls.CollectionChanged += SequenceYamls_CollectionChanged; _eventAggregator.GetEvent <LoadYamlFilesChanged>().Subscribe(async x => await OnLoadYamlFilesChanged()); SaveAttractCommand = new DelegateCommand(() => { OnSaveAttract(); }); DuplicateSequenceCommand = new DelegateCommand <SequenceItemViewModel>((x) => { if (x != null) { OnDuplicateSequence(x); } }); AddNewSequenceCommand = new DelegateCommand <object>((x) => { OnAddSequence(x); }); AddLayerCommand = new DelegateCommand <object>((x) => { OnAddLayer(x); }); }
public SequenceCreateViewModel(ISkeletonGameSerializer skeletonGameSerializer, IEventAggregator eventAggregator, ISkeletonGameProvider skeletonGameProvider, ILoggerFacade loggerFacade) : base(skeletonGameSerializer, eventAggregator, loggerFacade) { }
public SfxViewModel(ISkeletonGameFiles skeletonGameFiles, ISkeletonGameProvider skeletonGameProvider, IEventAggregator eventAggregator, ILoggerFacade loggerFacade) : base(skeletonGameFiles, skeletonGameProvider, eventAggregator, loggerFacade) { Title = "Sfx"; }