Example #1
0
        private void PaintSelectedQuest()
        {
            int      questStage = GameState.Instance.CampaignState.GetQuestStage(SelectedQuest);
            QuestDef qd         = QuestModel.GetDef(SelectedQuest);

            if (qd == null)
            {
                SelectedTitle.text       = SelectedQuest;
                SelectedDescription.text = "{missing def}";
            }
            else
            {
                SelectedTitle.text       = qd.NiceName;
                SelectedDescription.text = Sub.Macro(qd.Description);
                Texture2D tex = CoreUtils.LoadResource <Texture2D>("UI/Icons/" + qd.Image);
                if (tex != null)
                {
                    SelectedImage.texture = tex;
                }
                string stageText = qd.GetStageText(questStage);
                if (stageText != null)
                {
                    SelectedStageDescription.text = Sub.Macro(stageText);
                }
            }
        }
Example #2
0
        private void PaintList()
        {
            foreach (Transform t in ScrollContent)
            {
                Destroy(t.gameObject);
            }
            ScrollContent.DetachChildren();

            var quests = GameState.Instance.CampaignState.GetAllQuests();

            foreach (var quest in quests)
            {
                if (quest.Value == 0)
                {
                    continue;
                }

                string questName = quest.Key;
                var    qd        = QuestModel.GetDef(quest.Key);
                if (qd != null && !string.IsNullOrEmpty(qd.NiceName))
                {
                    questName = qd.NiceName;
                }
                GameObject itemGO = Instantiate <GameObject>(ItemTemplatePrefab, ScrollContent);
                itemGO.GetComponentInChildren <Text>().text = questName;
                if (quest.Value < 0)
                {
                    itemGO.GetComponentInChildren <Text>().color = Color.red;
                }
                Button b    = itemGO.GetComponent <Button>();
                string lexS = quest.Key;                                    //captured quest name
                b.onClick.AddListener(delegate { OnQuestSelected(lexS); }); //scoping is weird here
            }
        }