59 lines
1.3 KiB
C#
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
|
|
}
|