public virtual Quest AddQuest(Quest quest)
        {
            if (quest == null)
            {
                return(null);
            }
            if (deletedStaticQuests.Contains(StringField.GetStringValue(quest.id)))
            {
                return(null);
            }
            var instance = quest.isAsset ? quest.Clone() : quest;

            if (instance == null)
            {
                return(null);
            }
            questList.Add(instance);
            QuestMachine.RegisterQuestInstance(instance);
            RegisterForQuestEvents(instance);
            instance.RuntimeStartup();
            return(instance);
        }