void questUIPrompt(NPCManager.QuestInfo info) { info.completed = false; NPCManager.QuestInfo q = new NPCManager.QuestInfo(); PlayerMovement.canMove = false; questUI.SetActive(true); Title = GameObject.FindGameObjectWithTag("QuestTitle").GetComponent <TextMeshProUGUI>(); Detail = GameObject.FindGameObjectWithTag("QuestDetail").GetComponent <TextMeshProUGUI>(); Reward = GameObject.FindGameObjectWithTag("QuestReward").GetComponent <TextMeshProUGUI>(); q = info; Title.text = q.name; Detail.text = q.detail; Reward.text = "Reward " + q.reward + " gold"; if (Accepted) { q.accepted = true; acceptedQuestLists.Add(q); Accepted = false; currentQuest = null; questUI.SetActive(false); PlayerMovement.canMove = true; } }
void Update() { if (currentQuest != null) { questUIPrompt(currentQuest); } if (currentTrader != null) { tradeUIPrompt(currentTrader); } if (interactable && Input.GetKeyDown(KeyCode.Mouse0) && npcmanager.currentNpc != null) { resetIndicator(); if (npcmanager.returnNPCType(npcmanager.currentNpc.NPC, 0)) { currentQuest = (NPCManager.QuestInfo)npcmanager.returnNPCData(npcmanager.currentNpc.NPC, 0); questUIPrompt(currentQuest); } else if (npcmanager.returnNPCType(npcmanager.currentNpc.NPC, 1)) { questStatusCheck((NPCManager.QuestInfo)npcmanager.returnNPCData(npcmanager.currentNpc.NPC, 1)); } else if (npcmanager.returnNPCType(npcmanager.currentNpc.NPC, 2)) { currentTrader = (NPCManager.Trader)npcmanager.returnNPCData(npcmanager.currentNpc.NPC, 2); traderInfo = currentTrader; tradeUIPrompt(currentTrader); } //local data record if (!recorded) { if (npcmanager.currentNpc.npcType == "Human") { GetComponent <gsheet_data>().sendData(3, 1); } else if (npcmanager.currentNpc.npcType == "Animal") { GetComponent <gsheet_data>().sendData(4, 1); } //local data record DataRecord.AddEvents(9, npcmanager.currentNpc.NPC.name); recorded = true; } } if (npcmanager.currentNpc == null) { recorded = false; } showQuestIndicator(); }
void questStatusCheck(NPCManager.QuestInfo q) { int count = 0; if (q != null) { foreach (NPCManager.NPCItem i in q.requirement) { if (i.collected >= i.amount) { count++; } } if (count == q.requirementCount) { resetIndicator(); QuestLog log = new QuestLog(); q.completed = true; log.questID = q.id; log.questName = q.name; log.questDetail = q.detail; log.reward = q.reward; log.completed = q.completed; StartCoroutine(q.DelayReset(2f)); completedQuestLists.Add(log); acceptedQuestLists.Remove(q); questUICompletion.SetActive(true); //questUICompletion.GetComponentInChildren<Text>().text = "Quest Completed ! \n" + "Rewarded " + log.reward + " Gold"; //local data record DataRecord.AddEvents(10, q.name + " Quest"); StartCoroutine(closeUI(2f)); } } }
public void decline() { if (currentTrader != null) { //local data record DataRecord.AddEvents(8, "Trader " + currentTrader.name + "'s Trade"); currentTrader.accepted = false; } //local data record if (currentQuest != null) { DataRecord.AddEvents(8, currentQuest.name + " Quest"); } Accepted = false; questUI.SetActive(false); tradeUI.SetActive(false); currentQuest = null; currentTrader = null; traderInfo = null; PlayerMovement.canMove = true; }