Example #1
0
        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));
        }
Example #2
0
        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);
        }
Example #3
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));
            });
        }
        ///<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;
            }
        }