// Called by other objects to indicate that an objective has changed
    // status
    public void UpdateObjectiveStatus(
        Quest quest, int objectiveNumber, Quest.Status status)
    {
        if (activeQuest == null)
        {
            Debug.LogError(
                "Tried to set an objective status, but no quest is active"
                );
            return;
        }

        if (activeQuest.questData != quest)
        {
            Debug.LogWarningFormat("Tried to set an objective status " +
                                   "for quest {0}, but this is not the active quest. " +
                                   "Ignoring.",
                                   quest.questName);

            return;
        }

        // Update the objective status
        activeQuest.objectiveStatuses[objectiveNumber] = status;

        // Update the display label
        UpdateObjectiveSummaryText();
    }
Exemplo n.º 2
0
 public void SaveQuest(int id, string questtag, Quest.Status status, int collect, int kills)
 {
     for (int i = 0; i < ID.Count; i++)
     {
         if (ID[i] == id)
         {
             if (QuestTag[i] == questtag)
             {
                 if (Status[i] != status)
                 {
                     Status[i] = status;
                     GetComponent <SaveSys>().Save();
                 }
                 return;
             }
         }
     }
     ID.Add(id);
     QuestTag.Add(questtag);
     Status.Add(status);
     if (collect > 0)
     {
         Collectables.Add(collect);
     }
     else
     {
         Collectables.Add(kills);
     }
     GetComponent <SaveSys>().Save();
 }
Exemplo n.º 3
0
 public SavedQuestData(int questID, int questOwner, Quest.Status questStatus, List <QuestObjective> objectives)
 {
     this.questID     = questID;
     this.questOwner  = questOwner;
     this.questStatus = questStatus;
     this.objectives  = objectives;
 }