Ejemplo n.º 1
0
    public void LoadQuestGiver(int index)
    {
        QuestGiver[] questGivers = FindObjectsOfType <QuestGiver>();

        List <QuestGiverData> questGiverDatas = saveData.GameDatas[index].QuestGiverDatas;

        foreach (QuestGiverData questGiverData in questGiverDatas)
        {
            QuestGiver questGiver = Array.Find(questGivers, x => x.Name == questGiverData.QuestGiverName);

            foreach (string completedQuestName in questGiverData.CompletedQuestNames)
            {
                questGiver.CompleteQuest(questGiver.GetQuest(completedQuestName));
            }
        }
    }
Ejemplo n.º 2
0
    public void CompleteQuest()
    {
        if (selectedQuest.IsComplete)
        {
            foreach (CollectObjective collectObjective in selectedQuest.CollectObjectives)
            {
                Inventory.Instance.itemCountChangedEvent -= collectObjective.UpdateItemCount;
                collectObjective.Complete();
            }

            foreach (KillObjective collectObjective in selectedQuest.KillObjectives)
            {
                GameManager.Instance.EnemyOnDeadEvent -= collectObjective.UpdateKillCount;
            }

            Player.Instance.AddExp(EXPManager.CalculateEXP(selectedQuest));

            selectedQuestGiver.CompleteQuest(selectedQuest);

            Questlog.Instance.RemoveQuest(selectedQuest);

            Back();
        }
    }
Ejemplo n.º 3
0
 public void Complete()
 {
     questGiver.CompleteQuest();
 }
Ejemplo n.º 4
0
 public void QuestCompleted()
 {
     questGiver.CompleteQuest(currentQuest);
 }