IEnumerator AssignQuest() { yield return(new WaitForSeconds(3)); stonehengeQuest.enabled = true; playersQuestLog.AddQuestItem(stonehengeQuest); }
public override void OnUse() { if (!hasUsed) { hasUsed = true; quest.QuestGoal.ForEach(g => g.Init()); QuestList questLog = ObjectFinder.QuestLog; questLog.AddQuestItem(quest); quest.transform.SetParent(questLog.transform); InformQuestTurnInPoint(); } else { Debug.Log("You already used this item to start its quest. Item will dissapear upon completion"); } //The bird ate a bad mushroom and it killed him }
//Dialogue calls this because you must have a "conversation" (read some text) with any object before it assigns you a quest. public void EnableAndAssignMyQuest(bool assignsQuest) { if (assignsQuest && Quest != null) { Quest.enabled = true; AssignedQuest = true; //Debug.Log("Questgiver attempting to add quest to log"); playersQuestLog.AddQuestItem(Quest); Quest.transform.SetParent(playersQuestLog.transform); /*Only inform the quest turn in point to update itself if : * 1.) It isn't going to be destroyed immidiately afterwards...like the test bird * 2.) It has a Quest to assign (indicated by a "!") */ InformQuestTurnInPoint(); } else { //Debug.Log("I don't have a quest to assign you after speaking to me " + this); } }