/// <inheritdoc/> public Quest StartQuest(Quest quest) { Quest questInstance = quest.Instantiate(); m_QuestInstanceRegistry.Register(questInstance); QuestNode startNode = questInstance.startNode; IReadOnlyList <QuestCondition> conditions = startNode.conditions; for (int i = 0; i < conditions.Count; i++) { m_DiContainer.Inject(conditions[i]); } IReadOnlyList <QuestTrigger> successTriggers = startNode.successTriggers; for (int i = 0; i < successTriggers.Count; i++) { m_DiContainer.Inject(successTriggers[i]); } IReadOnlyList <QuestTrigger> failedTriggers = startNode.failedTriggers; for (int i = 0; i < failedTriggers.Count; i++) { m_DiContainer.Inject(failedTriggers[i]); } foreach (QuestCounter counter in questInstance.counters) { m_DiContainer.Inject(counter); } questInstance.SetState(QuestState.Active); return(questInstance); }
public virtual void Initialize(Quest quest, QuestNode questNode) { this.quest = quest; this.questNode = questNode; }
public override void Initialize(Quest quest, QuestNode node) { base.Initialize(quest, node); m_Counter = quest.GetCounterById(m_CounterId); m_RequiredCount = quest.GetCounterById(m_RequiredCountId); }