using System.Collections.ObjectModel; using System.Reactive.Disposables; using System.Reactive.Linq; using DynamicData; using ReactiveUI; using ReactiveUI.SourceGenerators; using Splat; using StarsAssistant.Model; using StarsAssistant.Services; namespace StarsAssistant.ViewModels; public partial class BuColViewModel : ViewModelBase { private readonly ReadOnlyObservableCollection _playerPlanetsView; public ReadOnlyObservableCollection PlayerPlanets => _playerPlanetsView; [Reactive] private PlayerPlanetViewModel? _selectedPlanet; public BuColViewModel() { var planetManager = Locator.Current.GetService()!; planetManager.PlayerPlanetsSource .ObserveOn(RxApp.MainThreadScheduler) .Bind(out _playerPlanetsView) .DisposeMany() .Subscribe(); } }