Esempio n. 1
0
        public void AddQuest(Quest quest)
        {
            QuestStatus qs = new QuestStatus(quest);

            statuses.Add(qs);
            OnQuestListUpdated?.Invoke();
        }
 private bool HasObjective(QuestStatus status)
 {
     foreach (var objective in status.GetQuest().GetObjectives())
     {
         if (objective.reference == objectiveName)
         {
             return(true);
         }
     }
     return(false);
 }
Esempio n. 3
0
        public void AddQuest(Quest quest)
        {
            if (HasQuest(quest))
            {
                return;
            }

            QuestStatus newStatus = new QuestStatus(quest);

            statuses.Add(newStatus);
            onQuestListUpdated?.Invoke();
        }
Esempio n. 4
0
 public void AddQuest(Quest quest)
 {
     if (!HasQuest(quest))
     {
         QuestStatus newStatus = new QuestStatus(quest);
         statuses.Add(newStatus);
         CheckIfSomeObjectiveIsComplete(quest);
         if (onUpdate != null)
         {
             onUpdate();
         }
     }
 }
Esempio n. 5
0
        public void CompleteObjective(Quest quest, string objective)
        {
            QuestStatus status = GetQuestStatus(quest);

            status.CompleteObjective(objective);
            if (status.IsComplete())
            {
                GiveReward(quest);
            }
            if (onUpdate != null)
            {
                onUpdate();
            }
        }
Esempio n. 6
0
        public void AddQuest(Quest quest)
        {
            if (HasQuest(quest))
            {
                return;
            }
            QuestStatus newStatus = new QuestStatus(quest);

            statuses.Add(newStatus);
            if (onUpdate != null)
            {
                onUpdate();
            }
        }
Esempio n. 7
0
        public void CompleteObjective(Quest quest, string objective)
        {
            QuestStatus status = GetQuestStatus(quest);

            if (status != null)
            {
                status.CompleteObjective(objective);
                if (status.IsComplete())
                {
                    GiveReward(quest);
                }

                onQuestListUpdated?.Invoke();
            }
        }
Esempio n. 8
0
        public void ClearQuest(Quest quest, string objectiveRef)
        {
            QuestStatus status = FindQuest(quest);

            if (status != null)
            {
                status.ClearObjective(objectiveRef);
                if (status.IsComplete())
                {
                    GiveReward(quest);
                }

                _onQuestUpdate?.Invoke();
            }
        }
Esempio n. 9
0
        public void RestoreState(object state)
        {
            List <object> stateList = state as List <object>;

            if (stateList == null)
            {
                return;
            }

            statuses.Clear();
            foreach (object objectState in stateList)
            {
                QuestStatus status = new QuestStatus(objectState);
                statuses.Add(status);
            }
        }