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
                },
            });
        }
Beispiel #2
0
        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._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))
                }
            });
        }