//create a single ui element for one quest private GameObject CreateQuestDisplay(Quests.C_QuestState questState) { GameObject go = null; switch (questState.activeState) { case Quests.E_QuestActiveState.none: if (UI_OpenTemplate == null) { Debug.LogError("The parameter 'UI_OpenTemplate' for the script Quest_UIList was not configured at " + gameObject.name + ". Element will not be displayed."); return(null); } go = (GameObject)Instantiate(UI_OpenTemplate); break; case Quests.E_QuestActiveState.active: if (UI_ActiveTemplate == null) { Debug.LogError("The parameter 'UI_ActiveTemplate' for the script Quest_UIList was not configured at " + gameObject.name + ". Element will not be displayed."); return(null); } go = (GameObject)Instantiate(UI_ActiveTemplate); break; case Quests.E_QuestActiveState.finished: if (UI_CompletedTemplate == null) { Debug.LogError("The parameter 'UI_CompletedTemplate' for the script Quest_UIList was not configured at " + gameObject.name + ". Element will not be displayed."); return(null); } go = (GameObject)Instantiate(UI_CompletedTemplate); break; } if (go == null) { Debug.LogError("The element for displaying a quest couldn't be created."); return(null); } go.transform.SetParent(gameObject.transform, false); Quest_UIItem uiItem = go.GetComponent <Quest_UIItem>(); if (uiItem == null) { Debug.LogWarning("The Prefab for quest UI-items should have a 'Quest_UIItem' script. This script was not found. Skipping display."); return(null); } else { uiItem.SetQuestState(questState); listElements.Add(go); return(go); } }
//Set a quest state public void SetQuestState(Quests.C_QuestState questState) { _questState = questState; if (_questState != null) { if (questImage != null) { questImage.sprite = _questState.quest.image; } if (questTitle != null) { questTitle.text = TranslationManager.translateIfAvail(_questState.quest.questTitle); } if (descriptionText != null) { descriptionText.text = TranslationManager.translateIfAvail(_questState.quest.description); } if (fullfillmentToggle != null) { bool isFinished = false; if (_questState.activeState == Quests.E_QuestActiveState.finished) { isFinished = true; } fullfillmentToggle.isOn = isFinished; } if (rewardImage != null) { rewardImage.sprite = questState.quest.rewardImage; } if (rewardText != null) { rewardText.text = TranslationManager.translateIfAvail(_questState.quest.rewardText); } } }