Exemplo n.º 1
0
        public ToolsViewModel(FleetsViewModel fleets)
        {
            this.Tools        = new List <ToolViewModel>(PluginService.Current.Get <ITool>().Select(x => new ToolViewModel(x)));
            this.SelectedTool = this.Tools.FirstOrDefault();

            this.Fleets = fleets;
        }
Exemplo n.º 2
0
        public QuestsViewModel(FleetsViewModel fleets)
        {
            this.TabItems = new List <KeyNameTabItemViewModel>
            {
                new KeyNameTabItemViewModel("All", "전체"),
                new KeyNameTabItemViewModel("Current", "진행중"),
                new KeyNameTabItemViewModel("Daily", "일일"),
                new KeyNameTabItemViewModel("Weekly", "주간"),
                new KeyNameTabItemViewModel("Monthly", "월간"),
                new KeyNameTabItemViewModel("Once", "일회성"),
                new KeyNameTabItemViewModel("Others", "그 외")
            };
            this.SelectedItem = this.TabItems.FirstOrDefault(x => x.Name == "진행중");


            var categoryTable = new Dictionary <string, string>
            {
                { "Composition", "편성" },
                { "Sortie", "출격" },
                { "Sortie2", "출격" },
                { "Practice", "연습" },
                { "Expeditions", "원정" },
                { "Supply", "보급" },
                { "Building", "공창" },
                { "Remodelling", "근개수" },
            };

            var list       = new List <QuestCategoryViewModel>();
            var categories = Enum.GetNames(typeof(QuestCategory));

            list.Add(new QuestCategoryViewModel("All", CategoryToColor(QuestCategory.Other), "전체"));

            foreach (var item in categories)
            {
                var t = (QuestCategory)Enum.Parse(typeof(QuestCategory), item);
                list.Add(new QuestCategoryViewModel(item, CategoryToColor(t), categoryTable.ContainsKey(item) ? categoryTable[item] : ""));
            }
            list = list.Distinct(x => x.Display).ToList();

            this.QuestCategories       = list;
            this.QuestCategorySelected = this.QuestCategories.FirstOrDefault();


            var quests = KanColleClient.Current.Homeport.Quests;

            this.CompositeDisposable.Add(new PropertyChangedEventListener(quests)
            {
                { nameof(quests.All), (sender, args) => this.UpdateQuest(quests) },
            });

            // set Quest Tarcker
            questTracker = new TrackManager();
            questTracker.QuestsEventChanged += (s, e) => this.UpdateQuest(quests);


            KanColleSettings.ShowQuestBadge.ValueChanged += (s, e) => this.UpdateBadge();
            this.UpdateQuest(quests);

            this.Fleets = fleets;
        }
Exemplo n.º 3
0
        public MainContentViewModel()
        {
            this.Admiral   = new AdmiralViewModel();
            this.Materials = new MaterialsViewModel();
            this.Ships     = new ShipsViewModel();
            this.SlotItems = new SlotItemsViewModel();

            var fleets = new FleetsViewModel();

            this.TabItems = new List <TabItemViewModel>
            {
                fleets,
                new RepairyardViewModel(),
                new DockyardViewModel(),
                new QuestsViewModel(),
                new ExpeditionsViewModel(fleets),
            };
            this.SystemTabItems = new List <TabItemViewModel>
            {
                new SettingsViewModel(),
            };
            this.SelectedItem = this.TabItems.FirstOrDefault();

            this.Volume = new VolumeViewModel();
        }
Exemplo n.º 4
0
        public ExpeditionsViewModel(FleetsViewModel fleets)
        {
            this.Fleets = fleets;

            this.Fleets.CompositeDisposable.Add(new PropertyChangedEventListener(this.Fleets)
            {
                { nameof(this.Fleets.Fleets), (sender, args) =>
                  {
                      foreach (var x in this.Fleets.Fleets)
                      {
                          var fleetId = x.Id - 1;
                          if (fleetId == 0)
                          {
                              continue;            // 1 함대
                          }
                          x.PropertyChanged += (s, e) =>
                          {
                              if (e.PropertyName == nameof(x.ExpeditionId))
                              {
                                  switch (fleetId)
                                  {
                                  case 1:
                                      Models.Settings.ExpeditionSettings.ExpeditionId1.Value = this.Fleets.Fleets[1].ExpeditionId;
                                      break;

                                  case 2:
                                      Models.Settings.ExpeditionSettings.ExpeditionId2.Value = this.Fleets.Fleets[2].ExpeditionId;
                                      break;

                                  case 3:
                                      Models.Settings.ExpeditionSettings.ExpeditionId3.Value = this.Fleets.Fleets[3].ExpeditionId;
                                      break;
                                  }
                                  Properties.Settings.Default.Save();
                              }
                          };

                          if (!x.Expedition.IsInExecution)
                          {
                              switch (fleetId)
                              {
                              case 1:
                                  x.ExpeditionId = Models.Settings.ExpeditionSettings.ExpeditionId1;
                                  break;

                              case 2:
                                  x.ExpeditionId = Models.Settings.ExpeditionSettings.ExpeditionId2;
                                  break;

                              case 3:
                                  x.ExpeditionId = Models.Settings.ExpeditionSettings.ExpeditionId3;
                                  break;
                              }
                          }
                      }
                  } }
            });
        }
Exemplo n.º 5
0
        public ExpeditionsViewModel(FleetsViewModel fleets)
        {
            this.Fleets = fleets;

            KanColleSettings.ShowExpeditionBadge.ValueChanged += (s, e) => this.UpdateBadge();
            this.UpdateBadge();

            this.Fleets.CompositeDisposable.Add(new PropertyChangedEventListener(this.Fleets)
            {
                { nameof(this.Fleets.Fleets), (sender, args) =>
                  {
                      var ExpeditionFleets = this.Fleets.Fleets.Where(x => x.Id != 1);
                      foreach (var x in ExpeditionFleets)
                      {
                          var fleetId = x.Id - 1;
                          x.Expedition.CompositeDisposable.Add(new PropertyChangedEventListener(x.Expedition)
                            {
                                { nameof(x.Expedition.Returned), (s, e) => this.UpdateBadge() }
                            });

                          x.CompositeDisposable.Add(new PropertyChangedEventListener(x)
                            {
                                { nameof(x.ExpeditionId), (s, e) => {
                                      switch (fleetId)
                                      {
                                      case 1: Models.Settings.ExpeditionSettings.ExpeditionId1.Value = x.ExpeditionId; break;

                                      case 2: Models.Settings.ExpeditionSettings.ExpeditionId2.Value = x.ExpeditionId; break;

                                      case 3: Models.Settings.ExpeditionSettings.ExpeditionId3.Value = x.ExpeditionId; break;
                                      }
                                      Properties.Settings.Default.Save();
                                  } }
                            });

                          if (!x.Expedition.IsInExecution)
                          {
                              switch (fleetId)
                              {
                              case 1: x.ExpeditionId = Models.Settings.ExpeditionSettings.ExpeditionId1; break;

                              case 2: x.ExpeditionId = Models.Settings.ExpeditionSettings.ExpeditionId2; break;

                              case 3: x.ExpeditionId = Models.Settings.ExpeditionSettings.ExpeditionId3; break;
                              }
                          }
                      }
                  } }
            });
        }
Exemplo n.º 6
0
        public ShipyardViewModel(FleetsViewModel fleets)
        {
            this.CreatedSlotItem = new CreatedSlotItemViewModel();

            this.CompositeDisposable.Add(new PropertyChangedEventListener(KanColleClient.Current.Homeport.Repairyard)
            {
                { nameof(Repairyard.Docks), (sender, args) => this.UpdateRepairingDocks() },
            });
            this.UpdateRepairingDocks();

            this.CompositeDisposable.Add(new PropertyChangedEventListener(KanColleClient.Current.Homeport.Dockyard)
            {
                { nameof(Dockyard.Docks), (sender, args) => this.UpdateBuildingDocks() },
                { nameof(Dockyard.CreatedSlotItem), (sender, args) => this.UpdateSlotItem() },
            });
            this.UpdateBuildingDocks();

            this.Fleets = fleets;
        }
Exemplo n.º 7
0
        internal GameInformationViewModel(MainWindowViewModel rpOwner)
        {
            Owner = rpOwner;

            Fleets = new FleetsViewModel(this);

            TabItems = new ObservableCollection <object>()
            {
                (Overview = new OverviewViewModel()),
                (Sortie = new SortieViewModel()),
                (Quests = new QuestsViewModel(this)),
                (Tools = new ToolsViewModel(this)),
            };

            SelectedItem = TabItems.FirstOrDefault();

            IsBrowserAvailable = !BrowserService.Instance.NoInstalledLayoutEngines;
            PropertyChangedEventListener.FromSource(BrowserService.Instance).Add(nameof(BrowserService.Instance.NoInstalledLayoutEngines), delegate
            {
                IsBrowserAvailable = !BrowserService.Instance.NoInstalledLayoutEngines;
                OnPropertyChanged(nameof(IsBrowserAvailable));
            });
        }
 public ExpeditionsViewModel(FleetsViewModel fleets)
 {
     this.Name   = Properties.Resources.ViewModels_Expeditions;
     this.Fleets = fleets;
 }
 public ExpeditionsViewModel(FleetsViewModel fleets)
 {
     this.Fleets = fleets;
 }