/// <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);
        }
예제 #2
0
 /// <summary>
 /// Sets the subtitle.
 /// </summary>
 /// <param name='subtitle'>
 /// Subtitle.
 /// </param>
 public override void SetSubtitle(Subtitle subtitle)
 {
     if ((subtitle != null) && !string.IsNullOrEmpty(subtitle.formattedText.text))
     {
         if (portraitImage != null)
         {
             portraitImage.sprite = UITools.CreateSprite(subtitle.GetSpeakerPortrait());
         }
         if (portraitName != null)
         {
             portraitName.text = subtitle.speakerInfo.Name;
         }
         if (line != null)
         {
             SetFormattedText(line, subtitle.formattedText);
         }
         Show();
         if (alwaysVisible && line != null)
         {
             var typewriter = line.GetComponent <UnityUITypewriterEffect>();
             if (typewriter != null)
             {
                 typewriter.OnEnable();
             }
         }
     }
     else
     {
         if ((line != null) && (subtitle != null))
         {
             SetFormattedText(line, subtitle.formattedText);
         }
         Hide();
     }
 }
예제 #3
0
 /// <summary>
 /// Sets the subtitle.
 /// </summary>
 /// <param name='subtitle'>
 /// Subtitle.
 /// </param>
 public override void SetSubtitle(Subtitle subtitle)
 {
     if ((subtitle != null) && !string.IsNullOrEmpty(subtitle.formattedText.text))
     {
         if (portraitImage != null)
         {
             portraitImage.sprite = UITools.CreateSprite(subtitle.GetSpeakerPortrait());
         }
         if (portraitName != null)
         {
             portraitName.text = subtitle.speakerInfo.Name;
         }
         if (line != null)
         {
             SetFormattedText(line, subtitle.formattedText);
         }
         Show();
     }
     else
     {
         if ((line != null) && (subtitle != null))
         {
             SetFormattedText(line, subtitle.formattedText);
         }
         Hide();
     }
 }
		/// <summary>
		/// Sets the subtitle.
		/// </summary>
		/// <param name='subtitle'>
		/// Subtitle.
		/// </param>
		public override void SetSubtitle(Subtitle subtitle) {
			if ((subtitle != null) && !string.IsNullOrEmpty(subtitle.formattedText.text)) {
				if (portraitImage != null) portraitImage.sprite = CreateSprite(subtitle.GetSpeakerPortrait());
				if (portraitName != null) portraitName.text = subtitle.speakerInfo.Name;
				if (line != null) SetFormattedText(line, subtitle.formattedText);
				Show();
			} else {
				if ((line != null) && (subtitle != null)) SetFormattedText(line, subtitle.formattedText);
				Hide();
			}
		}
예제 #5
0
 /// <summary>
 /// Sets the subtitle.
 /// </summary>
 /// <param name='subtitle'>
 /// Subtitle.
 /// </param>
 public override void SetSubtitle(Subtitle subtitle)
 {
     if ((subtitle != null) && !string.IsNullOrEmpty(subtitle.formattedText.text))
     {
         if (portraitImage != null)
         {
             portraitImage.sprite = UITools.CreateSprite(subtitle.GetSpeakerPortrait());
         }
         if (portraitName != null)
         {
             portraitName.text = subtitle.speakerInfo.Name;
             UITools.SendTextChangeMessage(portraitName);
         }
         if (line != null)
         {
             var typewriterEffect = line.GetComponent <UnityUITypewriterEffect>();
             if (typewriterEffect != null && typewriterEffect.enabled)
             {
                 typewriterEffect.Stop();
                 typewriterEffect.playOnEnable = false;
             }
             SetFormattedText(line, subtitle.formattedText);
             //---Was: if (typewriterEffect != null && typewriterEffect.enabled) typewriterEffect.OnEnable();
             //---Now manually start Play for more precise control.
             if (typewriterEffect != null && typewriterEffect.enabled)
             {
                 typewriterEffect.PlayText(subtitle.formattedText.text);
             }
         }
         Show();
         if (alwaysVisible && line != null)
         {
             var typewriterEffect = line.GetComponent <UnityUITypewriterEffect>();
             if (typewriterEffect != null)
             {
                 typewriterEffect.OnEnable();
             }
         }
     }
     else
     {
         if ((line != null) && (subtitle != null))
         {
             SetFormattedText(line, subtitle.formattedText);
         }
         Hide();
     }
 }
예제 #6
0
        /// <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;
        }
 /// <summary>
 /// Sets the subtitle.
 /// </summary>
 /// <param name='subtitle'>
 /// Subtitle.
 /// </param>
 public override void SetSubtitle(Subtitle subtitle)
 {
     if ((subtitle != null) && !string.IsNullOrEmpty(subtitle.formattedText.text))
     {
         if (portraitImage != null)
         {
             portraitImage.sprite = subtitle.GetSpeakerPortrait();
         }
         if (portraitName != null)
         {
             portraitName.text = subtitle.speakerInfo.Name;
             UITools.SendTextChangeMessage(portraitName);
         }
         if (line != null)
         {
             var typewriterEffect = line.GetComponent <UnityUITypewriterEffect>();
             if (typewriterEffect != null && typewriterEffect.enabled)
             {
                 typewriterEffect.Stop();
                 typewriterEffect.playOnEnable = false;
             }
             SetFormattedText(line, subtitle.formattedText);
             if (typewriterEffect != null && typewriterEffect.enabled)
             {
                 typewriterEffect.PlayText(subtitle.formattedText.text);
             }
         }
     }
     else
     {
         if ((line != null) && (subtitle != null))
         {
             SetFormattedText(line, subtitle.formattedText);
         }
     }
 }
예제 #8
0
 /// <summary>
 /// Sets the subtitle.
 /// </summary>
 /// <param name='subtitle'>
 /// Subtitle.
 /// </param>
 public override void SetSubtitle(Subtitle subtitle)
 {
     if ((subtitle != null) && !string.IsNullOrEmpty(subtitle.formattedText.text)) {
         if (portraitImage != null) portraitImage.sprite = UITools.CreateSprite(subtitle.GetSpeakerPortrait());
         if (portraitName != null) portraitName.text = subtitle.speakerInfo.Name;
         if (line != null) SetFormattedText(line, subtitle.formattedText);
         Show();
         if (alwaysVisible && line != null) {
             var typewriter = line.GetComponent<UnityUITypewriterEffect>();
             if (typewriter != null) typewriter.OnEnable();
         }
     } else {
         if ((line != null) && (subtitle != null)) SetFormattedText(line, subtitle.formattedText);
         Hide();
     }
 }