public virtual void AbandonQuest(Quest quest) { if (quest == null || !quest.isAbandonable) { return; } if (quest.rememberIfAbandoned) { quest.SetState(QuestState.Abandoned); } else { DeleteQuest(quest.id); } QuestMachineMessages.QuestAbandoned(this, quest.id); if (questJournalUI != null) { questJournalUI.SelectQuest(null); } RepaintUIs(); }