コード例 #1
0
        public static QuestSystemAdvancedGump DisplayTo(CommandEventArgs args)
        {
            Mobile user = args.Mobile;

            if (user == null || user.Deleted || !user.Player || user.NetState == null)
            {
                return(null);
            }

            if (args.Arguments[0] != null)
            {
                Quest = QuestIO.GetQuestById(int.Parse(args.Arguments[0]));

                if (Quest != null)
                {
                    user.CloseGump <QuestSystemAdvancedGump>();

                    var gump = new QuestSystemAdvancedGump(user);

                    user.SendGump(gump);

                    return(gump);
                }
            }

            return(null);
        }
コード例 #2
0
        private static void ParseQuestList(Mobile from, List <DynamicJson> quests, JsonSerializerOptions options)
        {
            var watch    = Stopwatch.StartNew();
            var failures = new List <string>();


            for (int i = 0; i < quests.Count; i++)
            {
                var json = quests[i];


                json.GetProperty("ID", options, out int id);
                json.GetProperty("Title", options, out string title);
                json.GetProperty("Description", options, out string description);
                json.GetProperty("Rewards", options, out List <RewardDefinition> rewards);
                json.GetProperty("XP", options, out int xp);
                json.GetProperty("IsQuestChainElement", options, out bool isquestchainelement);
                json.GetProperty("ParentQuestID", options, out int parentquestid);
                json.GetProperty("QuestTaskList", options, out List <QuestTaskDefinition> questtasklist);

                var questdefinition = new QuestDefinition()
                {
                    ID                  = id,
                    Title               = title,
                    Description         = description,
                    Rewards             = rewards,
                    XP                  = xp,
                    IsQuestChainElement = isquestchainelement,
                    ParentQuestID       = parentquestid,
                    QuestTaskList       = questtasklist
                };

                Quests.Add(questdefinition);
            }
        }