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; }
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; }
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(); }
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; } } } } } }); }
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; } } } } } }); }
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; }
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; }