public ToolViewModel(Plugin plugin) { this.notifier = new BattleEndNotifier(plugin); this._FirstFleet = new FleetViewModel("自艦隊"); this._SecondFleet = new FleetViewModel("護衛艦隊"); this._Enemies = new FleetViewModel("敵艦隊"); this.CompositeDisposable.Add(new PropertyChangedEventListener(this.BattleData) { { () => this.BattleData.Name, (_, __) => this.RaisePropertyChanged(() => this.BattleName) }, { () => this.BattleData.UpdatedTime, (_, __) => this.RaisePropertyChanged(() => this.UpdatedTime) }, { () => this.BattleData.BattleSituation, (_, __) => this.RaisePropertyChanged(() => this.BattleSituation) }, { () => this.BattleData.FriendAirSupremacy, (_, __) => this.RaisePropertyChanged(() => this.FriendAirSupremacy) }, { () => this.BattleData.AirCombatResults, (_, __) => { this.RaisePropertyChanged(() => this.AirCombatResults); this.FirstFleet.AirCombatResults = this.AirCombatResults.Select(x => new AirCombatResultViewModel(x, FleetType.First)).ToArray(); this.SecondFleet.AirCombatResults = this.AirCombatResults.Select(x => new AirCombatResultViewModel(x, FleetType.Second)).ToArray(); this.Enemies.AirCombatResults = this.AirCombatResults.Select(x => new AirCombatResultViewModel(x, FleetType.Enemy)).ToArray(); } }, { () => this.BattleData.DropShipName, (_, __) => this.RaisePropertyChanged(() => this.DropShipName) }, { () => this.BattleData.FirstFleet, (_, __) => this.FirstFleet.Fleet = this.BattleData.FirstFleet }, { () => this.BattleData.SecondFleet, (_, __) => this.SecondFleet.Fleet = this.BattleData.SecondFleet }, { () => this.BattleData.Enemies, (_, __) => this.Enemies.Fleet = this.BattleData.Enemies }, }); }
public ToolViewModel(Plugin plugin) { this.notifier = new BattleEndNotifier(plugin); this.Battle = BattleViewModel.Current; }