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; } }