Subtitle.cs
3.23 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
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 += "<b><color=white>" + word[0] + "</color></b>";
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 += "<b><color=white>" + word[i] + "</color></b>";
if (i == index) last = i;
}
else
{
subtitle += word[i];
last = i;
}
}
return subtitle;
}
}