public void Setup(JournalEntryInfo info) { if (info.type == Data.JournalEntryType.story) { storyParent.ActivateSelf(); storyImage.overrideSprite = resourceService.GetSprite(info.Data); sideParent.DeactivateSelf(); } else if (info.type == Data.JournalEntryType.side) { storyParent.DeactivateSelf(); sideParent.ActivateSelf(); sideImage.overrideSprite = resourceService.GetSprite(info.Data); } else { storyParent.DeactivateSelf(); sideParent.DeactivateSelf(); } }
public void Setup(JournalEntryInfo info) { if (info == null) { Debug.Log($"Entry info is null".Colored(ColorType.red)); Clear(); return; } nameText.text = resourceService.GetString(info.Data.nameId); startText.text = resourceService.GetString(info.Data.startTextId); hintText.text = resourceService.GetString(info.Data.hintTextId); pictureView.Setup(info); if (info.IsEndTextOpened && info.Data.hasEndText) { endText.text = resourceService.GetString(info.Data.endTextId); } else { endText.text = string.Empty; } storyProgressParent.DeactivateSelf(); if (!info.IsEndTextOpened) { QuestData questData = resourceService.GetQuest(info.Data); if (questData != null && questData.type == Data.QuestType.story) { var questInfo = engine.GetService <IQuestService>().GetInfo(questData); if (questInfo != null) { if (questInfo.state == QuestState.started) { storyProgressParent.ActivateSelf(); int currentCounter = ravenhillGameModeService.searchCounter; int conditionCount = questData.GetSearchCounterConditionValue(); storyProgress.SetValue(0, Mathf.Clamp01((float)currentCounter / (float)conditionCount)); endText.text = string.Empty; } } } } var journalService = engine.GetService <IJournalService>(); if (journalService.IsLast(info)) { nextButton.DeactivateSelf(); } else { nextButton.ActivateSelf(); nextButton.SetListener(() => { var nextInfo = journalService.GetNext(info); if (nextInfo != null) { Setup(nextInfo); } }, engine.GetService <IAudioService>()); } if (journalService.IsFirst(info)) { prevButton.DeactivateSelf(); } else { prevButton.ActivateSelf(); prevButton.SetListener(() => { JournalEntryInfo prevInfo = journalService.GetPrev(info); if (prevInfo != null) { Setup(prevInfo); } }, engine.GetService <IAudioService>()); } }