public IAbsoluteDirectoryPath GetAndValidateSteamPath(bool steamDrm, bool requireExeExist = true) { _steamDrm = steamDrm; _requireExeExist = requireExeExist; var steamPath = LocalMachineInfo.GetSteamPath(); if (steamPath == null) { throw BuildException(); } _path = steamPath; if (!_path.Exists) { throw SteamPathDoesntExist(); } ValidateSteamExecutable(); return(_path); }
public ModDllInstaller(LocalMachineInfo lmi, Game game) { _localMachineInfo = lmi; _game = game; }
public PlayShellViewModel(IPlayStartupManager startupManager, IDialogManager dialogManager, IProcessManager processManager, IEventAggregator eventBus, ISystemInfo systemInfo, Func <NotificationsCenterViewModel> notificationsCenter, IStatusViewModel statusViewModel, SettingsViewModel settings, HomeViewModel home, Lazy <IContentManager> contentManager, Lazy <ContentViewModel> contentLazy, IUpdateManager updateManager, IViewModelFactory factory, ISoftwareUpdate softwareUpdate, ConnectViewModel connect, LocalMachineInfo machineInfo, UserSettings userSettings, IMediator mediator, IRestarter restarter) { _contentLazy = contentLazy; _restarter = restarter; using (this.Bench()) { _startupManager = startupManager; _dialogManager = dialogManager; _processManager = processManager; _eventBus = eventBus; _systemInfo = systemInfo; _contentManager = contentManager; UpdateManager = updateManager; SoftwareUpdate = softwareUpdate; UserSettings = userSettings; _mediator = mediator; _machineInfo = machineInfo; Router = new RoutingState(); Factory = factory; Connect = connect; Home = home; Settings = settings; StatusFlyout = statusViewModel; NotificationsCenter = notificationsCenter(); // TODO: Normally we would do this only on a user action, like when we would open the menu. It would require the Shell button to be separate from the menu though. ProfilesMenu = _mediator.Send(new GetProfilesMenuViewModelQuery()); DisplayName = GetTitle(); DidDetectAVRun = _systemInfo.DidDetectAVRun; SecurityStatus = _startupManager.GetSecurityWarning(); TrayIconContextMenu = new TrayIconContextMenu(this); RecentJumpList = new RecentJumpList(); OptionsMenu = new OptionsMenuViewModel(this); ScreenHistory = new ReactiveList <object>(); Activator = new ViewModelActivator(); Application.Current.Exit += (sender, args) => UpdateManager.Terminate(); Overlay = new OverlayConductor(); this.SetCommand(x => x.TrayIconDoubleclicked).Subscribe(x => SwitchWindowState()); this.SetCommand(x => x.Exit).Subscribe(x => { if (!IsBusy()) { _mediator.Send(new Shutdown()); } }); this.SetCommand(x => x.GoPremiumCommand) .Subscribe(x => BrowserHelper.TryOpenUrlIntegrated(new Uri(CommonUrls.MainUrl, "/gopremium"))); this.SetCommand(x => x.GoPremiumSettingsCommand) .Subscribe( x => BrowserHelper.TryOpenUrlIntegrated(new Uri(CommonUrls.ConnectUrl, "settings/premium"))); this.SetCommand(x => x.SwitchHome).Subscribe(x => SwitchHomeButton()); this.SetCommand(x => x.GoLatestNewsCommand).Subscribe(x => GoLatestNews()); this.SetCommand(x => x.SecuritySuiteCommand).Subscribe(x => BrowserHelper.TryOpenUrlIntegrated( "https://community.withsix.com")); this.SetCommand(x => x.GoBackCommand, this.WhenAnyValue(x => x.CanGoBack)) .Subscribe(GoBack); this.SetCommand(x => x.GoForwardCommand, this.WhenAnyValue(x => x.CanGoForward)) .Subscribe(GoForward); } }