Exemplo n.º 1
0
        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)
                },
            });
        }
Exemplo n.º 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
                },
            });
        }
Exemplo n.º 3
0
        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;
                    }
                },
            });
        }
Exemplo n.º 4
0
 public ToolViewModel(Plugin plugin)
 {
     this.notifier = new BattleEndNotifier(plugin);
     this.Battle   = BattleViewModel.Current;
 }
Exemplo n.º 5
0
        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))
                }
            });
        }