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); }