Files
JJBB/Assets/Project/Script/SceneMovie/UIMovie.cs
2024-08-23 15:49:34 +08:00

59 lines
1.3 KiB
C#

using UnityEngine;
using UnityEngine.UI;
using System.Collections;
using System.Collections.Generic;
public class UIMovie : MonoBehaviour
{
public Text _TalkText;
public float _TalkTime = 2.0f;
public List<string> _TalkingStr = new List<string>();
public float _TalkingIdx = -1;
public void Update()
{
UpdateTalking();
}
#region
private int _LastTalkingIdx = -1;
public void UpdateTalking()
{
if (_LastTalkingIdx != _TalkingIdx)
{
if(_TalkingIdx >= 0 && _TalkingIdx < _TalkingStr.Count)
SetTalkText(_TalkingStr[(int)_TalkingIdx]);
_LastTalkingIdx = (int)_TalkingIdx;
}
}
public void SetTalkText(string talkStr)
{
StopAllCoroutines();
int talkIdx = -1;
string talkText = talkStr;
if (int.TryParse(talkStr, out talkIdx))
{
talkText = GCGame.Table.StrDictionary.GetClientDictionaryString("#{" + talkIdx + "}");
}
if(_TalkText!=null)
_TalkText.text = talkText;
if (!string.IsNullOrEmpty(talkStr))
{
StartCoroutine(SetTextEmpty());
}
}
public IEnumerator SetTextEmpty()
{
yield return new WaitForSeconds(_TalkTime);
if(_TalkText!=null)
_TalkText.text = "";
}
#endregion
}