﻿
using System.Collections.Generic;
using System.Text;
using Febucci.UI;
using TMPro;
using UnityEngine;
using UnityEngine.Profiling;
using UtageExtensions;

namespace Utage
{
	//NovelTextのTextAnimator版
	[AddComponentMenu("Utage/TextAnimator/NovelTextForTextAnimator")]
	public class NovelTextForTextAnimator : TextMeshProNovelText
	{
		public TextAnimator TextAnimator { get { return this.GetComponentCache(ref textAnimator); } }
		[SerializeField] TextAnimator textAnimator;

		public override int MaxVisibleCharacters
		{
			get
			{
				return TextAnimator.maxVisibleCharacters;
			}
			set
			{
				if (TextAnimator.maxVisibleCharacters != value)
				{
					TextAnimator.maxVisibleCharacters = value;
					UpdateVisibleIndex();
				}
			}
		}

		void Start()
		{
			//Unityエディタ上でデフォルトで設定されているテキストが一瞬表示されてしまうので消す
			SetTextDirect("");
//			TextAnimator.SetText("",true);
		}

		protected override void ForceUpdateText(string textMeshProString,bool ignoreActiveState)
		{
			TextAnimator.SetText(textMeshProString,true);
		}
	}
}
