public bool ImmediateChange(Uri uri) { var id = uri.GetQueryParam("Id"); if (id == null) { return(false); } var obj = ServerPresetsManager.Instance.GetById(id); if (obj == null) { return(false); } var track = obj.TrackId == null ? null : TracksManager.Instance.GetLayoutById(obj.TrackId, obj.TrackLayoutId); var cars = obj.CarIds.Select(x => CarsManager.Instance.GetById(x)).ToArray(); _id = id; _object = obj; _track = track; _cars = cars; SetModel(); return(true); }
public PackServerDialog(ServerPresetObject server) { DataContext = new ViewModel(null, server); InitializeComponent(); Buttons = new[] { CreateExtraDialogButton("Pack", Model.PackCommand, true), CancelButton }; }
public AcServerPluginManagerSettings([NotNull] ServerPresetObject server) { ListeningPort = server.PluginUdpAddress?.Split(':', '/').ElementAtOrDefault(1).As <int?>() ?? throw new Exception("Plugin UDP address is not set"); RemotePort = server.PluginUdpPort ?? throw new Exception("Plugin UDP port is not set"); ConnectAutomatically = server.IsRunning; Capacity = server.Capacity; AdminPassword = server.AdminPassword; }
private void AllowedTyres_OnDataContextChanged(object sender, DependencyPropertyChangedEventArgs e) { if (_lastSubscribedTo != Model?.SelectedObject) { _lastSubscribedTo.UnsubscribeWeak(OnServerPropertyChanged); _lastSubscribedTo = Model?.SelectedObject; _lastSubscribedTo.SubscribeWeak(OnServerPropertyChanged); } SyncLegalTyres(); }
void ILoadableContent.Load() { _object = ServerPresetsManager.Instance.GetById(_id); if (_object == null) { return; } _track = _object.TrackId == null ? null : TracksManager.Instance.GetLayoutById(_object.TrackId, _object.TrackLayoutId); _cars = _object.CarIds.Select(x => CarsManager.Instance.GetById(x)).ToArray(); }
async Task ILoadableContent.LoadAsync(CancellationToken cancellationToken) { _object = await ServerPresetsManager.Instance.GetByIdAsync(_id); if (_object == null) { return; } _track = _object.TrackId == null ? null : await TracksManager.Instance.GetLayoutByIdAsync(_object.TrackId, _object.TrackLayoutId); _cars = (await _object.CarIds.Select(x => CarsManager.Instance.GetByIdAsync(x)).WhenAll(4)).ToArray(); }
private void EnsureSet() { var server = IsLoaded ? Model?.SelectedObject : null; var serverLog = server?.RunningLog; if (server != _previousServer) { if (_previousServer != null) { _previousServer.PropertyChanged -= OnServerChanged; } if (server != null) { server.PropertyChanged += OnServerChanged; } _previousServer = server; } if (serverLog != _previousServerLog) { if (_previousServerLog != null) { _previousServerLog.CollectionChanged -= OnLogChanged; } if (serverLog != null) { serverLog.CollectionChanged += OnLogChanged; Text.Document = new TextDocument(serverLog.JoinToString("\n")) { UndoStack = { SizeLimit = 0 } }; Text.ScrollToEnd(); } else { Text.Document = new TextDocument { UndoStack = { SizeLimit = 0 } }; } _previousServerLog = serverLog; } }
public ViewModel([CanBeNull] string serializedPreset, ServerPresetObject server) { Server = server; _saveable = new SaveHelper <SaveableData>("__PackServer", () => new SaveableData { Mode = Mode, IncludeExecutable = IncludeExecutable, PackIntoSingle = PackIntoSingle, }, o => { Mode = o.Mode; IncludeExecutable = o.IncludeExecutable; PackIntoSingle = o.PackIntoSingle; }); if (string.IsNullOrEmpty(serializedPreset)) { _saveable.Initialize(); } else { _saveable.Reset(); _saveable.FromSerializedString(serializedPreset); } }