Exemplo n.º 1
0
        private void CheckQuestTriggers()
        {
            Debug.Log("Checking quest triggers!!");
            LocationList curLocation = locationManager.GetCurrentLocation();
            int          i           = 0;

            foreach (var check in questActionChecks)
            {
                if (!check.hasTriggered && check.location == curLocation && questList.HasQuest(check.quest) &&
                    questList.HasObjectiveCompleted(check.quest, check.objective) == check.isOnCompletion)
                {
                    if (check.buttonTrigger != null)
                    {
                        QuestTrigger trigger = check.buttonTrigger.gameObject.AddComponent <QuestTrigger>();
                        trigger.SetQuest(check.quest);
                        trigger.SetObjectiveIndex(check.objective);
                        int index = i;
                        check.buttonTrigger.onClick.AddListener(() => {
                            trigger.CompleteObjective();
                            MarkAsTriggered(index);
                        });
                    }
                    else
                    {
                        conversant.StartDialogue(check.dialogue);
                        activeCheck = check;
                    }
                }
                i++;
            }
        }
Exemplo n.º 2
0
 public void MarkAsTriggered()
 {
     if (activeCheck != null)
     {
         activeCheck.hasTriggered = true;
     }
     activeCheck = null;
 }