Ejemplo n.º 1
0
        /// <summary>
        /// Gets the QuestMenuItems for a <see href="GossiGossipMenu">GossipMenu</see>
        /// </summary>
        /// <param name="chr">The client.</param>
        /// <returns></returns>
        public List <QuestMenuItem> GetQuestMenuItems(Character chr)
        {
            List <QuestMenuItem> questMenuItemList = new List <QuestMenuItem>();

            foreach (QuestTemplate questEnd in QuestEnds)
            {
                if (chr.QuestLog.GetQuestById(questEnd.Id) != null)
                {
                    questMenuItemList.Add(new QuestMenuItem(questEnd.Id, 4U, questEnd.Level,
                                                            questEnd.Titles.Localize(chr.Locale)));
                }
            }

            foreach (QuestTemplate questStart in QuestStarts)
            {
                QuestStatus startStatus = questStart.GetStartStatus(this, chr);
                if (startStatus.IsAvailable())
                {
                    questMenuItemList.Add(new QuestMenuItem(questStart.Id,
                                                            startStatus == QuestStatus.Available ? 2U : 4U, questStart.Level,
                                                            questStart.Titles.Localize(chr.Locale)));
                }
            }

            return(questMenuItemList);
        }