예제 #1
0
    private string CurrentStateDialog()
    {
        myQuest = QuestComponent.GetQuestFromID(questID);
        if (myQuest == null)
        {
            return("There is no quest");
        }

        if (QuestComponent.IsCompleted(questID))
        {
            return(myQuest.QuestCompleteDescription);
        }
        else if (QuestComponent.IsCompleted(questIDRecuirement) == false && QuestComponent.IsCompleted(alternativeIDRequired))
        {
            return("You don't meet the requirements for the quest");
        }
        else if (started != true)
        {
            return(myQuest.QuestDescription);
        }
        else if (started == true)
        {
            return(myQuest.QuestActiveDescription);
        }
        return("");
    }
예제 #2
0
 private void MakeQuestAvalible(EventInfo eventinfo)
 {
     //Debug.Log("This is the current active status: " + enabled);
     if (QuestComponent.IsCompleted(alternativeIDRequired) && QuestComponent.IsCompleted(questIDRecuirement) && started != true)
     {
         lampRenderer.material = avalibleQuest;
     }
 }
예제 #3
0
 private void TriggerNextQuest(EventInfo eventInfo)
 {
     if (QuestComponent.IsCompleted(questIDRecuirement) == true || QuestComponent.IsCompleted(alternativeIDRequired) == false && started == false)
     {
         lampRenderer          = lamp.GetComponent <Renderer>();
         lampRenderer.material = avalibleQuest;
         Debug.Log("");//skriv ut ID på den questen som lyssnar på denna
     }
 }
예제 #4
0
 // Start is called before the first frame update
 void Start()
 {
     if (QuestComponent.IsCompleted(requiredQuestID))
     {
         gameObject.SetActive(false);
     }
     else
     {
         EventHandeler.Current.RegisterListener(EventHandeler.EVENT_TYPE.CompleteQuest, RemoveDoor);
     }
 }
예제 #5
0
    private void Awake()
    {
        if (enabled == false)
        {
            return;
        }
        EventHandeler.Current.RegisterListener(EventHandeler.EVENT_TYPE.QuestGoalReached, QuestCompleted);
        EventHandeler.Current.RegisterListener(EventHandeler.EVENT_TYPE.AvailableQuest, MakeQuestAvalible);
        //EventHandeler.Current.RegisterListener(EventHandeler.EVENT_TYPE.ActivateNextQuest, TriggerNextQuest);
        lampRenderer     = lamp.GetComponent <Renderer>();
        standardMaterial = lampRenderer.material;

        if (QuestComponent.IsCompleted(questIDRecuirement) && QuestComponent.IsCompleted(alternativeIDRequired))
        {
            lampRenderer.material = avalibleQuest;
        }
        if (nextQuestInLine != null)
        {
            nextQuestInLine.enabled = false;
        }
    }
예제 #6
0
    public void ControllInput()
    {
        if (enabled == true)
        {
            QuestDialogEventInfo questDialogEvent = new QuestDialogEventInfo {
                questText = CurrentStateDialog(), show = true
            };
            EventHandeler.Current.FireEvent(EventHandeler.EVENT_TYPE.QuestDialog, questDialogEvent);
        }

        if (QuestComponent.IsCompleted(questID))
        {
            TurnInQuest();
        }
        else if (QuestComponent.IsCompleted(questIDRecuirement) == false || QuestComponent.IsCompleted(alternativeIDRequired) == false && this.enabled == true)
        {
            return;
        }
        else if (started == false)
        {
            StartTheQuest();
        }
    }