public QuestData MakeQuest(SavableQuest quest) { foreach (var _quest in listQuest) { if (_quest.questName == quest.questName) { return(_quest); } } return(null); }
public SavableQuest ToSavableData() { SavableQuest toSave = new SavableQuest(); toSave.questName = data.questName; toSave.currentStepIndex = currentStepIndex; toSave.steps = new List <SavableStep>(); for (int i = 0; i < stepList.Count; i++) { SavableStep step = new SavableStep(); step.stepIndex = i; step.collected = stepList[i].collected; step.killed = stepList[i].killed; step.isDone = stepList[i].isDone; toSave.steps.Add(step); } return(toSave); }
public void Init(SavableQuest quest) { data = QuestFactory.Instance.MakeQuest(quest); currentStepIndex = quest.currentStepIndex; stepList.Capacity = data.steps.Length; for (int i = 0; i < data.steps.Length; i++) { QuestStep newStep = new QuestStep(); if (i + 1 < data.steps.Length) { newStep.Init(data.steps[i], quest.steps.Find((step) => step.stepIndex == i), NextStep); } else { newStep.Init(data.steps[i], quest.steps.Find((step) => step.stepIndex == i), OnFinish); } stepList.Add(newStep); } }