public ToolViewModel(BattleData data, BattleEndNotifier notifier) { this.notifier = notifier; this.Data = data; this.CompositeDisposable.Add(new PropertyChangedEventListener(this.Data) { { () => this.Data.UpdatedTime, (_, __) => this.RaisePropertyChanged(() => this.UpdatedTime) }, { () => this.Data.FirstFleet, (_, __) => this.FirstFleet = new FleetViewModel("自艦隊", this.Data.FirstFleet) }, { () => this.Data.SecondFleet, (_, __) => this.SecondFleet = new FleetViewModel("護衛艦隊", this.Data.SecondFleet) }, { () => this.Data.Enemies, (_, __) => this.Enemies = new FleetViewModel("敵艦隊", this.Data.Enemies) }, }); }
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 BattleView() { InitializeComponent(); this.CompositeDisposable = new MultipleDisposable(); this.BattleData = new BattleData(); notifier = new BattleEndNotifier(); this.CompositeDisposable.Add(new PropertyChangedEventListener(this.BattleData) { { nameof(this.BattleData.CellData), (_, __) => this.battleTopView.ApplyCell(this.BattleData.CellData) }, { nameof(this.BattleData.Name), (_, __) => this.battleTopView.BattleType = this.BattleData.Name }, { nameof(this.BattleData.UpdatedTime), (_, __) => this.battleTopView.UpdatedTime = this.BattleData.UpdatedTime }, { nameof(this.BattleData.BattleSituation), (_, __) => this.battleTopView.BattleSituation = this.BattleData.BattleSituation }, { nameof(this.BattleData.FriendAirSupremacy), (_, __) => this.battleTopView.AirSupremacy = this.BattleData.FriendAirSupremacy }, { nameof(this.BattleData.DropShipName), (_, __) => this.battleTopView.DropShipName = this.BattleData.DropShipName }, { nameof(this.BattleData.RankResult), (_, __) => this.battleTopView.ResultRank = this.BattleData.RankResult }, { nameof(this.BattleData.AirRankResult), (_, __) => this.battleTopView.AirResultRank = this.BattleData.AirRankResult }, { nameof(this.BattleData.FlareUsed), (_, __) => this.battleTopView.FlareUsed = this.BattleData.FlareUsed }, { nameof(this.BattleData.NightReconScouted), (_, __) => this.battleTopView.NightReconScouted = this.BattleData.NightReconScouted }, { nameof(this.BattleData.AntiAirFired), (_, __) => this.battleTopView.AntiAirFired = this.BattleData.AntiAirFired }, { nameof(this.BattleData.SupportUsed), (_, __) => this.battleTopView.SupportUsed = this.BattleData.SupportUsed }, { nameof(this.BattleData.FirstFleet), (_, __) => this.FirstFleet.FleetData = this.BattleData.FirstFleet }, { nameof(this.BattleData.SecondFleet), (_, __) => this.SecondFleet.FleetData = this.BattleData.SecondFleet }, { nameof(this.BattleData.SecondEnemies), (_, __) => this.SecondEnemies.FleetData = this.BattleData.SecondEnemies }, { nameof(this.BattleData.Enemies), (_, __) => this.Enemies.FleetData = this.BattleData.Enemies }, { nameof(this.BattleData.AirCombatResults), (_, __) => { this.FirstFleet.AirCombatResults = this.BattleData?.AirCombatResults; this.SecondFleet.AirCombatResults = this.BattleData?.AirCombatResults; this.SecondEnemies.AirCombatResults = this.BattleData?.AirCombatResults; this.Enemies.AirCombatResults = this.BattleData?.AirCombatResults; } }, }); }
public ToolViewModel(Plugin plugin) { this.notifier = new BattleEndNotifier(plugin); this.Battle = BattleViewModel.Current; }
public ToolViewModel(Plugin plugin) { this.notifier = new BattleEndNotifier(plugin); this._FirstFleet = new FleetViewModel("기본함대"); this._SecondFleet = new FleetViewModel("호위함대"); this._SecondEnemies = new FleetViewModel("적호위함대"); this._Enemies = new FleetViewModel("적함대"); this.CompositeDisposable.Add(new PropertyChangedEventListener(this.BattleData) { { nameof(this.BattleData.Cells), (_, __) => this.RaisePropertyChanged(() => this.Cells) }, { nameof(this.BattleData.CurrentMap), (_, __) => this.RaisePropertyChanged(() => this.CurrentMap) }, { nameof(this.BattleData.Name), (_, __) => this.RaisePropertyChanged(nameof(this.BattleName)) }, { nameof(this.BattleData.UpdatedTime), (_, __) => this.RaisePropertyChanged(() => this.UpdatedTime) }, { nameof(this.BattleData.BattleSituation), (_, __) => this.RaisePropertyChanged(() => this.BattleSituation) }, { nameof(this.BattleData.FriendAirSupremacy), (_, __) => this.RaisePropertyChanged(() => this.FriendAirSupremacy) }, { nameof(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.SecondEnemies.AirCombatResults = this.AirCombatResults.Select(x => new AirCombatResultViewModel(x, FleetType.SecondEnemy)).ToArray(); this.Enemies.AirCombatResults = this.AirCombatResults.Select(x => new AirCombatResultViewModel(x, FleetType.Enemy)).ToArray(); } }, { nameof(this.BattleData.DropShipName), (_, __) => this.RaisePropertyChanged(() => this.DropShipName) }, { nameof(this.BattleData.FirstFleet), (_, __) => this.FirstFleet.Fleet = this.BattleData.FirstFleet }, { nameof(this.BattleData.SecondFleet), (_, __) => this.SecondFleet.Fleet = this.BattleData.SecondFleet }, { nameof(this.BattleData.SecondEnemies), (_, __) => this.SecondEnemies.Fleet = this.BattleData.SecondEnemies }, { nameof(this.BattleData.Enemies), (_, __) => this.Enemies.Fleet = this.BattleData.Enemies }, { nameof(this.BattleData.RankResult), (_, __) => { this.RaisePropertyChanged(nameof(this.RankResult)); this.RaisePropertyChanged(nameof(this.AirRankAvailable)); } }, { nameof(this.BattleData.AirRankResult), (_, __) => this.RaisePropertyChanged(nameof(this.AirRankResult)) }, { nameof(this.BattleData.FlareUsed), (_, __) => this.RaisePropertyChanged(nameof(this.FlareUsed)) }, { nameof(this.BattleData.NightReconScouted), (_, __) => this.RaisePropertyChanged(nameof(this.NightReconScouted)) }, { nameof(this.BattleData.AntiAirFired), (_, __) => this.RaisePropertyChanged(nameof(this.AntiAirFired)) }, { nameof(this.BattleData.SupportUsed), (_, __) => this.RaisePropertyChanged(nameof(this.SupportUsed)) }, { nameof(this.BattleData.MechanismOn), (_, __) => this.RaisePropertyChanged(nameof(this.MechanismOn)) }, { nameof(this.BattleData.MapExtended), (_, __) => this.RaisePropertyChanged(nameof(this.MapExtended)) } }); }