Ejemplo n.º 1
0
        private void CreateQuests()
        {
            List <Quest> questsOrdered = QuestManager.instance.GetQuests.OrderBy(x => x.questName).ToList();

            for (int i = 0; i < questsOrdered.Count; i++)
            {
                Quest quest = questsOrdered[i];
                QuestManager.QuestData questData = QuestManager.instance.GetQuestDataByID(quest.questID);
                GameObject             item      = questLogItem;

                if (i >= 1)
                {
                    item = Instantiate(questLogItem, questLogItem.transform.parent);
                }

                questIDToLogItemDictionary.Add(quest.questID, item);
                questIDToLogDataDictionary.Add(quest.questID, QuestManager.instance.GetQuestLogEntry(quest, ""));

                QuestState questState = questData.currentQuestState;
                RefreshSpecificQuestColour(item.GetComponentInChildren <TextMeshProUGUI> (), quest);
                item.GetComponentInChildren <Button> ().onClick.AddListener(() => { OpenQuestDisplayPanel(quest); });
            }

            if (questsOrdered.Count <= 0)
            {
                questLogItem.SetActive(false);
            }
        }
Ejemplo n.º 2
0
        private void RefreshSpecificQuestColour(TextMeshProUGUI textMesh, Quest quest)
        {
            string colour = "";

            QuestManager.QuestData data = QuestManager.instance.GetQuestDataByID(quest.questID);

            switch (QuestManager.instance.GetQuestDataByID(quest.questID).currentQuestState)
            {
            case QuestState.NotStarted:
                colour = "red";
                break;

            case QuestState.InProgress:
                colour = "yellow";
                break;

            case QuestState.Completed:
                colour = "green";
                break;

            case QuestState.Failed:
                colour = "gray";
                break;

            default:
                break;
            }

            textMesh.text = string.Format("<color={0}>{1}</color>", colour, quest.questName);
        }