using UnityEngine.UI;
public class Subtitle {
public const short TYPE_NONE = -1;
public const short TYPE_WORD = 0;
public const short TYPE_LETTER = 1;
public const short TYPE_NUMBER = 2;
protected DefaultSignSpeed defaultWordSpeed = new DefaultSignSpeed();
protected DefaultSignSpeed defaultFirstLetterSpeed = new DefaultSignSpeed();
protected DefaultSignSpeed defaultLetterSpeed = new DefaultSignSpeed();
protected DefaultSignSpeed defaultNumberSpeed = new DefaultSignSpeed();
private float sliderPosition = DefaultSignSpeed.DEFAULT;
private float wordSpeed = DefaultSignSpeed.DEFAULT;
private float letterSpeed = DefaultSignSpeed.DEFAULT;
private float numberSpeed = DefaultSignSpeed.DEFAULT;
public Text SUBTITLES;
public Subtitle(Text subtitles)
{
this.SUBTITLES = subtitles;
}
public DefaultSignSpeed DefaultWordSpeed {
get { return this.defaultWordSpeed; }
set {
this.defaultWordSpeed = value;
this.wordSpeed = value.Speed;
}
}
public DefaultSignSpeed DefaultFirstLetterSpeed {
get { return this.defaultFirstLetterSpeed; }
set { this.defaultFirstLetterSpeed = value; }
}
public DefaultSignSpeed DefaultLetterSpeed {
get { return this.defaultLetterSpeed; }
set {
this.defaultLetterSpeed = value;
this.letterSpeed = value.Speed;
}
}
public DefaultSignSpeed DefaultNumberSpeed {
get { return this.defaultNumberSpeed; }
set {
this.defaultNumberSpeed = value;
this.numberSpeed = value.Speed;
}
}
public float WordSpeed {
get { return this.wordSpeed; }
set { this.wordSpeed = value; }
}
public float LetterSpeed {
get { return this.letterSpeed; }
set { this.letterSpeed = value; }
}
public float NumberSpeed {
get { return this.numberSpeed; }
set { this.numberSpeed = value; }
}
public float SliderPosition {
get { return this.sliderPosition; }
set { this.sliderPosition = value; }
}
public void updateWordSpeed(float sliderPosition) {
this.WordSpeed = this.DefaultWordSpeed.getProportional(sliderPosition);
}
public void updateWordSpeed() {
this.WordSpeed = this.DefaultWordSpeed.getProportional(this.SliderPosition);
}
public void updateLetterSpeed(float sliderPosition) {
this.LetterSpeed = this.DefaultLetterSpeed.getProportional(sliderPosition);
}
public void updateLetterSpeed() {
this.LetterSpeed = this.DefaultLetterSpeed.getProportional(this.SliderPosition);
}
public void updateNumberSpeed(float sliderPosition) {
this.NumberSpeed = this.DefaultNumberSpeed.getProportional(sliderPosition);
}
public void updateNumberSpeed() {
this.NumberSpeed = this.DefaultNumberSpeed.getProportional(this.SliderPosition);
}
/*
* Destaca caractere de uma string.
*/
public static string highlight(string word, int index)
{
string subtitle = "";
int last = 0;
if (index == 0)
subtitle += "" + word[0] + "";
else
subtitle += word[0];
for (int i = 1; i < word.Length; i++)
{
if ((word[i] >= 65 && word[i] <= 90) || (word[i] >= 48 && word[i] <= 57))
subtitle += "-";
if (i == index || (last == index && word[i] == word[last]))
{
subtitle += "" + word[i] + "";
if (i == index) last = i;
}
else
{
subtitle += word[i];
last = i;
}
}
return subtitle;
}
}