void Update()
{
if (mLabel == null)
{
mLabel = GetComponent<UILabel>();
}
if( mOffset < mText.Length )
{
if (mNextChar < RealTime.time)
{
float delay = 1f / charsPerSecond;
char c = mText[mOffset];
if (c == '.' || c == '\n' || c == '!' || c == '?') delay *= 4f;
if (c == '[')
{
if (mText[mOffset + 1] == '-')
mOffset += 2;
else
mOffset += 7;
}
mNextChar = RealTime.time + delay;
mLabel.text = mText.Substring(0, ++mOffset);
}
}
else
{
if( null != CallWhenFinished )
{
CallWhenFinished();
CallWhenFinished = null;
}
this.enabled = false;
}
}