public ActionResult Quests() { QuestsViewModel model = new QuestsViewModel(); User user = db.Users.Find(User.Identity.GetUserId <int>()); var x = 0; foreach (var quest in user.Quests) { model.Quests.Add(quest); foreach (var task in quest.Tasks) { model.Tasks.Add(new Tuple <int, Task>(x, task)); } x++; } foreach (var grupo in user.Grupos) { foreach (var quest in grupo.Quests) { model.Quests.Add(quest); foreach (var task in quest.Tasks) { model.Tasks.Add(new Tuple <int, Task>(x, task)); } x++; } } return(View(model)); }
public QuestDefinition ChooseQuest() { var picker = new QuestPickerWindow(); var model = new QuestsViewModel(QuestsProvider); picker.DataContext = model; var result = picker.ShowDialogCenteredToMouse(); if (result.HasValue && result.Value && model.ChosenItem != null) { return(model.ChosenItem); } return(null); }
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)); }); }
///<inheritdoc/> protected override void FillViewHolder(ActiveQuestViewHolder holder, Quest questData, int position) { holder.Collapse(); holder.Title.Text = questData.Title; holder.Description.Text = questData.Description; if (questData.Deadline != null) { holder.TimeLeft.Text = FormLeftTime(questData.Deadline.Value); } holder.Progress.Progress = QuestsViewModel.CountProgress(position); holder.ChildrenButton.Enabled = !questData.IsLeaf; holder.ItemPosition = position; switch (questData.State) { case State.Done: holder.Title.SetTextColor(Color.Green); HandleButtonsForDone(holder, questData); break; case State.Failed: holder.Title.SetTextColor(Color.Red); HandleButtonsForFailed(holder, questData); break; case State.Idle: holder.Title.SetTextColor(Color.Gray); HandleButtonsForIdle(holder, questData); break; case State.Progress: holder.Title.SetTextColor(Color.Orange); HandleButtonsForProgress(holder, questData); break; } }