void Start()
 {
     tempEvent   = new EventData();
     playerStats = GameObject.Find("Player").GetComponent <PlayerStats>();
     eventQueue  = GameObject.Find("EventDisplay").GetComponent <EventQueue>();
     QHud        = GameObject.Find("QuestDisplay").GetComponent <QuestHUD>();
 }
    private void Awake()
    {
        eventQueue   = GameObject.Find("EventDisplay").GetComponent <EventQueue>();
        questsHolder = GameObject.Find("QuestsHolder").GetComponent <QuestsHolder>();
        QHud         = GameObject.Find("QuestDisplay").GetComponent <QuestHUD>();
        ZF           = FindObjectOfType <Zone_Flags>();

        if (QuestName.Length > 27)
        {
            Debug.LogError("Either change QuestUI or Length of this QuestName. This will not look good in UI");
        }
    }
    public void AddQuest(Quest quest)
    {
        if (openQuests.Contains(quest))
        {
            return;
        }
        if (questHUDs.ContainsKey(quest.ID))
        {
            return;
        }

        if (HasCapacity() == false)
        {
            DebugLog.Print(DebugLog.LogType.Warning, "cannot add quest. exceed max num of quests.");
            return;
        }

        quest.OnCompleted -= OnCompletedHandler;
        quest.OnCompleted += OnCompletedHandler;

        quest.OnClosed -= OnClosedHandler;
        quest.OnClosed += OnClosedHandler;

        openQuests.Add(quest);

        GameObject newQuestHUD = Instantiate(QuestHUDPrefab.gameObject, Holder);
        QuestHUD   questHUD    = newQuestHUD.GetComponent <QuestHUD>();

        questHUDs.Add(quest.ID, questHUD);

        switch (quest.Type)
        {
        case Quest.QuestType.Collect:
            questHUD.Initialize(quest.name, quest.Item, quest.Num);
            break;

        case Quest.QuestType.Talk:
            questHUD.Initialize(quest.name, quest.ToCharacter);
            break;
        }
    }