bind fleet summaries, fixup fleet post processing
This commit is contained in:
@ -2,6 +2,7 @@ using System.Collections.ObjectModel;
|
||||
using System.Reactive.Disposables;
|
||||
using System.Reactive.Linq;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using DynamicData;
|
||||
using ReactiveUI;
|
||||
using ReactiveUI.SourceGenerators;
|
||||
using StarsAssistant.Services;
|
||||
@ -55,8 +56,24 @@ public partial class PlayerPlanetViewModel : ViewModelBase
|
||||
.Select(remMines => Math.Max(0, GameEngine.MaxOperableMinesForPlayer(_populationTarget, Value) - Mines))
|
||||
.ToProperty(this, vm => vm.RemainingMines);
|
||||
|
||||
FleetManager fm = Locator.Current.GetService<FleetManager>()!;
|
||||
|
||||
var fleetSummaryChanges = fm.FleetSummaries
|
||||
.Connect()
|
||||
.Watch(Name)
|
||||
.Log(this, "fleetSummaryChange", change => $"{Name}: {change.Reason}: {change.Previous} => {change.Current}")
|
||||
;
|
||||
|
||||
_populationEnRouteHelper = fleetSummaryChanges
|
||||
.Select(change => change.Reason != ChangeReason.Remove ? change.Current.TotalColonists : 0)
|
||||
.Log(this, "PopulationEnRoute", pop => $"{Name}: {pop}")
|
||||
.ToProperty(this, vm => vm.PopulationEnRoute)
|
||||
;
|
||||
|
||||
this.WhenActivated((CompositeDisposable disposables) =>
|
||||
{
|
||||
disposables.Add(_populationEnRouteHelper);
|
||||
|
||||
// /* handle activation */
|
||||
// Disposable
|
||||
// .Create(() => { /* handle deactivation */ })
|
||||
@ -185,6 +202,9 @@ public partial class PlayerPlanetViewModel : ViewModelBase
|
||||
[ObservableAsProperty]
|
||||
private int _remainingMines;
|
||||
|
||||
[ObservableAsProperty]
|
||||
private int _populationEnRoute;
|
||||
|
||||
#endregion
|
||||
|
||||
#region Helper functions
|
||||
|
Reference in New Issue
Block a user