コード例 #1
0
        internal QuestsViewModel(GameInformationViewModel rpParent)
        {
            var rQuestManager = KanColleGame.Current.Port.Quests;

            Executing = rpParent.Overview.ExecutingQuests = rQuestManager.Executing?.Select(r => new QuestViewModel(r)).ToList();
            Unexecuted = rQuestManager.Unexecuted?.Select(r => new QuestViewModel(r)).ToList();

            var rQuestManagerPCEL = PropertyChangedEventListener.FromSource(rQuestManager);
            rQuestManagerPCEL.Add(nameof(rQuestManager.IsLoaded), (s, e) => IsLoaded = true);
            rQuestManagerPCEL.Add(nameof(rQuestManager.Executing), (s, e) => Executing = rpParent.Overview.ExecutingQuests = rQuestManager.Executing.Select(r => new QuestViewModel(r)).ToList());
            rQuestManagerPCEL.Add(nameof(rQuestManager.Unexecuted), (s, e) => Unexecuted = rQuestManager.Unexecuted.Select(r => new QuestViewModel(r)).ToList());
        }
コード例 #2
0
        internal QuestsViewModel(GameInformationViewModel rpParent)
        {
            var rQuestManager = KanColleGame.Current.Port.Quests;

            Executing = rpParent.Overview.ExecutingQuests = rQuestManager.Executing?.Select(r => new QuestViewModel(r)).ToList();
            Unexecuted = rQuestManager.Unexecuted?.Select(r => new QuestViewModel(r)).ToList();

            var rPropertyChangedSource = Observable.FromEventPattern<PropertyChangedEventArgs>(rQuestManager, nameof(rQuestManager.PropertyChanged))
                .Select(r => r.EventArgs.PropertyName);
            rPropertyChangedSource.Where(r => r == nameof(rQuestManager.Executing))
                .Subscribe(_ => Executing = rpParent.Overview.ExecutingQuests = rQuestManager.Executing.Select(r => new QuestViewModel(r)).ToList());
            rPropertyChangedSource.Where(r => r == nameof(rQuestManager.Unexecuted))
                .Subscribe(_ => Unexecuted = rQuestManager.Unexecuted.Select(r => new QuestViewModel(r)).ToList());
        }
コード例 #3
0
        internal QuestsViewModel(GameInformationViewModel rpOwner)
        {
            r_Owner = rpOwner;

            var rQuestManager = KanColleGame.Current.Port.Quests;

            var rQuestManagerPCEL = PropertyChangedEventListener.FromSource(rQuestManager);

            rQuestManagerPCEL.Add(nameof(rQuestManager.IsLoaded), delegate
            {
                IsLoaded = true;
                OnPropertyChanged(nameof(IsLoaded));
            });

            rQuestManagerPCEL.Add(nameof(rQuestManager.Active), (s, e) => UpdateActiveQuests());
            UpdateActiveQuests();
        }
コード例 #4
0
        internal FleetsViewModel(GameInformationViewModel rpParent)
        {
            r_Parent = rpParent;

            KanColleGame.Current.Port.Fleets.FleetsUpdated += UpdateFleets;

            SessionService.Instance.Subscribe("api_req_hensei/change", r => SelectedFleet = Fleets[int.Parse(r.Parameters["api_id"]) - 1]);
            SessionService.Instance.Subscribe("api_req_hensei/preset_select", r => SelectedFleet = Fleets[int.Parse(r.Parameters["api_deck_id"]) - 1]);
            SessionService.Instance.Subscribe("api_req_kaisou/slotset", r =>
            {
                Ship rShip;
                if (!KanColleGame.Current.Port.Ships.TryGetValue(int.Parse(r.Parameters["api_id"]), out rShip))
                    return;

                if (rShip.OwnerFleet != null)
                    SelectedFleet = Fleets[rShip.OwnerFleet.ID - 1];
            });

            SessionService.Instance.Subscribe("api_req_map/start", r => SelectedFleet = Fleets[int.Parse(r.Parameters["api_deck_id"]) - 1]);
        }
コード例 #5
0
        internal FleetsViewModel(GameInformationViewModel rpParent)
        {
            r_Parent = rpParent;

            KanColleGame.Current.Port.Fleets.FleetsUpdated += UpdateFleets;

            ApiService.Subscribe("api_req_hensei/change", r => SelectedFleet        = Fleets[int.Parse(r.Parameters["api_id"]) - 1]);
            ApiService.Subscribe("api_req_hensei/preset_select", r => SelectedFleet = Fleets[int.Parse(r.Parameters["api_deck_id"]) - 1]);
            ApiService.Subscribe("api_req_kaisou/slotset", r =>
            {
                Ship rShip;
                if (!KanColleGame.Current.Port.Ships.TryGetValue(int.Parse(r.Parameters["api_id"]), out rShip))
                {
                    return;
                }

                if (rShip.OwnerFleet != null)
                {
                    SelectedFleet = Fleets[rShip.OwnerFleet.ID - 1];
                }
            });

            ApiService.Subscribe("api_req_map/start", r => SelectedFleet = Fleets[int.Parse(r.Parameters["api_deck_id"]) - 1]);
        }
コード例 #6
0
        internal FleetsViewModel(GameInformationViewModel rpParent)
        {
            r_Parent = rpParent;

            KanColleGame.Current.Port.Fleets.FleetsUpdated += UpdateFleets;
        }