/// <summary> /// Sets the content of the panel. Assumes the panel is already open. /// </summary> public virtual void SetContent(Subtitle subtitle) { if (subtitle == null) { return; } currentSubtitle = subtitle; if (!onlyShowNPCPortraits || subtitle.speakerInfo.isNPC) { if (portraitImage != null) { portraitImage.sprite = UITools.CreateSprite(subtitle.GetSpeakerPortrait()); } portraitName.text = subtitle.speakerInfo.Name; UITools.SendTextChangeMessage(portraitName); } TypewriterUtility.StopTyping(subtitleText); var previousText = accumulateText ? m_accumulatedText : string.Empty; SetFormattedText(subtitleText, previousText, subtitle.formattedText); if (accumulateText) { m_accumulatedText = subtitleText.text + "\n"; } TypewriterUtility.StartTyping(subtitleText, subtitleText.text, previousText.Length); }
/// <summary> /// Sets the content of the panel. Assumes the panel is already open. /// </summary> public virtual void SetContent(Subtitle subtitle) { if (subtitle == null) { return; } currentSubtitle = subtitle; CheckSubtitleAnimator(subtitle); if (!onlyShowNPCPortraits || subtitle.speakerInfo.isNPC) { if (portraitImage != null) { var sprite = subtitle.GetSpeakerPortrait(); portraitImage.sprite = sprite; Tools.SetGameObjectActive(portraitImage, sprite != null); } portraitActorName = subtitle.speakerInfo.nameInDatabase; portraitName.text = subtitle.speakerInfo.Name; UITools.SendTextChangeMessage(portraitName); } TypewriterUtility.StopTyping(subtitleText); var previousText = accumulateText ? m_accumulatedText : string.Empty; var previousChars = accumulateText ? UITools.StripRPGMakerCodes(Tools.StripTextMeshProTags(Tools.StripRichTextCodes(previousText))).Length : 0; SetFormattedText(subtitleText, previousText, subtitle.formattedText); if (accumulateText) { m_accumulatedText = subtitleText.text + "\n"; } if (delayTypewriterUntilOpen && !hasFocus) { StartCoroutine(StartTypingWhenFocused(subtitleText, subtitleText.text, previousChars)); } else { TypewriterUtility.StartTyping(subtitleText, subtitleText.text, previousChars); } frameLastSetContent = Time.frameCount; }