public void ApplyQuestChain(QuestInstance chain) { m_QuestInstance = chain; if (QuestManager.PostedQuests.Contains(m_QuestInstance)) { m_QuestMode = QuestDetailsWindowMode.POSTED_REVIEW; } else if (QuestManager.Requests.Contains(m_QuestInstance)) { m_QuestMode = QuestDetailsWindowMode.SETUP; } else { m_QuestMode = QuestDetailsWindowMode.ACTIVE_REVIEW; } m_QuestInstance.OnDaysLeftUpdate += UpdateText; UpdateText(); }
public void OpenWindow(QuestInstance quest, QuestDetailsWindowMode mode) { WindowMode = mode; if (quest == CurrentQuest) { gameObject.SetActive(!gameObject.activeSelf); } else { gameObject.SetActive(true); } CurrentQuest = quest; Reset(); switch (mode) { case QuestDetailsWindowMode.SETUP: closeButton.gameObject.SetActive(true); skipButton.gameObject.SetActive(false); cancelButton.gameObject.SetActive(false); acceptButton.gameObject.SetActive(false); completeButton.gameObject.SetActive(false); postButton.gameObject.SetActive(true); RefreshItemRewardDropdown(); SetNoHero(); CheckPostButtonStatus(); break; case QuestDetailsWindowMode.HERO_SELECT: closeButton.gameObject.SetActive(false); skipButton.gameObject.SetActive(true); cancelButton.gameObject.SetActive(true); acceptButton.gameObject.SetActive(true); completeButton.gameObject.SetActive(false); postButton.gameObject.SetActive(false); break; case QuestDetailsWindowMode.POSTED_REVIEW: closeButton.gameObject.SetActive(true); skipButton.gameObject.SetActive(false); cancelButton.gameObject.SetActive(true); acceptButton.gameObject.SetActive(false); completeButton.gameObject.SetActive(false); postButton.gameObject.SetActive(false); SetNoHero(); break; case QuestDetailsWindowMode.ACTIVE_REVIEW: closeButton.gameObject.SetActive(true); skipButton.gameObject.SetActive(false); cancelButton.gameObject.SetActive(true); acceptButton.gameObject.SetActive(false); completeButton.gameObject.SetActive(false); postButton.gameObject.SetActive(false); FindActiveHero(); break; case QuestDetailsWindowMode.COMPLETED: closeButton.gameObject.SetActive(false); skipButton.gameObject.SetActive(false); cancelButton.gameObject.SetActive(false); acceptButton.gameObject.SetActive(false); completeButton.gameObject.SetActive(true); postButton.gameObject.SetActive(false); FindActiveHero(); break; } questTitle.text = "<b><u>" + CurrentQuest.QuestSource.RequestTitle + "</u>\n<size=18>" + CurrentQuest.QuestTypeDisplay + " - </b><i>" + CurrentQuest.DurationInDays + " Day" + (CurrentQuest.DurationInDays > 1 ? "s" : "") + " duration</i></size>"; difficultyText.text = "" + CurrentQuest.DifficultyLevel; handlerGoldReward.text = CurrentQuest.HandlerGoldRewardEstimate; handlerItemRewardParent.SetActive(CurrentQuest.HandlerItemReward != null); handlerRewardItemInstance.SetItem(CurrentQuest.HandlerItemReward != null ? CurrentQuest.HandlerItemReward.Item : (GameItem)null); handlerAdditionalRewardParent.SetActive(CurrentQuest.AdditionalReward != null); handlerAdditionalReward.text = CurrentQuest.AdditionalReward != null ? CurrentQuest.AdditionalReward.DisplayValue : "-"; foreach (QuestDetailsHero heroSection in m_HeroSections) { heroSection.Reload(); } }