Commit 719babec26703efc8761deb976c4e8ece58a635b
1 parent
9597262e
Exists in
master
and in
6 other branches
Arquivo sinais.txt em .9/anims; Scroll para o topo quando a pesquisa é alterada;
Showing
5 changed files
with
73 additions
and
69 deletions
Show diff stats
Assets/Resources/sinais.txt
1 | - | |
2 | -% | |
3 | 1 | , |
4 | 2 | 0 |
5 | 3 | 1 |
... | ... | @@ -2351,16 +2349,6 @@ CUSTEAR |
2351 | 2349 | CUSTOSO |
2352 | 2350 | CUTANEO |
2353 | 2351 | CUTUCAR |
2354 | -Cotovelo | |
2355 | -Cozinheira | |
2356 | -Cpf | |
2357 | -Crer | |
2358 | -Crianca | |
2359 | -Cueca | |
2360 | -Cuidadoso | |
2361 | -Cumprimentos | |
2362 | -Cunhada | |
2363 | -Curitiba | |
2364 | 2352 | DÓLAR |
2365 | 2353 | D |
2366 | 2354 | DA |
... | ... | @@ -2848,7 +2836,7 @@ DIGITADOR |
2848 | 2836 | DIGITAL |
2849 | 2837 | DIGITALIZADA |
2850 | 2838 | DIGITALIZADO |
2851 | -DIGITAR 23-Sep-2015 17:56 61K | |
2839 | +DIGITAR | |
2852 | 2840 | DIGITO |
2853 | 2841 | DIGNIDADE |
2854 | 2842 | DIGNO |
... | ... | @@ -3054,18 +3042,18 @@ DURO |
3054 | 3042 | DUVIDA |
3055 | 3043 | DUVIDOSO |
3056 | 3044 | DVD |
3057 | -Dama | |
3058 | -Decidir | |
3059 | -Dedo | |
3060 | -Default Take | |
3061 | -Descer | |
3062 | -Diminuir | |
3063 | -Diretor | |
3064 | -Disputar | |
3065 | -Distrito-federal | |
3066 | -Dividir | |
3067 | -Divorciar | |
3068 | -Domino | |
3045 | +DAMA | |
3046 | +DECIDIR | |
3047 | +DEDO | |
3048 | +DEFAULT TAKE | |
3049 | +DESCER | |
3050 | +DIMINUIR | |
3051 | +DIRETOR | |
3052 | +DISPUTAR | |
3053 | +DISTRITO-FEDERAL | |
3054 | +DIVIDIR | |
3055 | +DIVORCIAR | |
3056 | +DOMINO | |
3069 | 3057 | E |
3070 | 3058 | EBRIO |
3071 | 3059 | ECOLOGIA |
... | ... | @@ -5249,7 +5237,7 @@ LACRIMEJANTE |
5249 | 5237 | LACRIMEJAR |
5250 | 5238 | LACTEO |
5251 | 5239 | LACTOSE |
5252 | -LADO24-Sep-2015 09:59 19K | |
5240 | +LADO | |
5253 | 5241 | LADRAR |
5254 | 5242 | LADRILHO |
5255 | 5243 | LAGARTA | ... | ... |
Assets/Scripts/Animation List/ListManager.cs
... | ... | @@ -61,18 +61,20 @@ public class ListManager : MonoBehaviour { |
61 | 61 | |
62 | 62 | public IEnumerator load() |
63 | 63 | { |
64 | - string[] lines; | |
65 | - WWW www = new WWW("http://vlibras.lavid.ufpb.br/sinais.txt"); | |
64 | + WWW www = new WWW("http://150.165.205.9/anims/sinais.txt"); | |
66 | 65 | yield return www; |
67 | 66 | |
68 | - if (www.error != null) | |
67 | + string[] lines = new string[0]; | |
68 | + | |
69 | + if (string.IsNullOrEmpty(www.error)) | |
69 | 70 | { |
70 | - TextAsset file = Resources.Load("sinais") as TextAsset; | |
71 | - lines = file.text.Split("\n"[0]); | |
71 | + lines = System.Text.Encoding.UTF8.GetString(www.bytes, 0, www.bytes.Length).Split('\n'); | |
72 | 72 | } |
73 | 73 | else |
74 | 74 | { |
75 | - lines = www.text.Split("\n"[0]); | |
75 | + TextAsset file = Resources.Load("sinais") as TextAsset; | |
76 | + lines = System.Text.Encoding.UTF8.GetString(file.bytes, 0, file.bytes.Length).Split('\n'); | |
77 | + // lines = file.text.Split("\n"[0]); | |
76 | 78 | } |
77 | 79 | |
78 | 80 | this.trie = new TrieST<string>(); |
... | ... | @@ -109,6 +111,7 @@ public class ListManager : MonoBehaviour { |
109 | 111 | Destroy(go); |
110 | 112 | |
111 | 113 | populateList(); |
114 | + this.scrollView.verticalNormalizedPosition = 1F; | |
112 | 115 | } |
113 | 116 | |
114 | 117 | private void populateList() | ... | ... |
Assets/Scripts/Animation List/TrieST.cs
... | ... | @@ -52,7 +52,6 @@ public class TrieST<Value> |
52 | 52 | |
53 | 53 | private Node put(Node x, String key, String val, int d) |
54 | 54 | { |
55 | - | |
56 | 55 | if (x == null) x = new Node(); |
57 | 56 | if (d == key.Length) |
58 | 57 | { |
... | ... | @@ -60,10 +59,16 @@ public class TrieST<Value> |
60 | 59 | x.val = val; |
61 | 60 | return x; |
62 | 61 | } |
63 | - int c = indexes[key[d]]; | |
64 | - x.next[c] = put(x.next[c], key, val, d + 1); | |
65 | - return x; | |
66 | 62 | |
63 | + try { | |
64 | + int c = indexes[key[d]]; | |
65 | + x.next[c] = put(x.next[c], key, val, d + 1); | |
66 | + } | |
67 | + catch (IndexOutOfRangeException) { | |
68 | + Debug.Log("Error at TrieST.put: { key: " + key + "; index: " + d + "; value: " + ((int) key[d]) + " }"); | |
69 | + } | |
70 | + | |
71 | + return x; | |
67 | 72 | } |
68 | 73 | |
69 | 74 | public Queue<String> keys() | ... | ... |
Assets/Scripts/Player Manager/GenericPlayerManager.cs
1 | 1 | /** Gerenciador genérico e principal dos players. |
2 | 2 | * |
3 | - * Versão: 2.1 | |
3 | + * Versão 2.1 | |
4 | 4 | * - Acompanhamento da legenda |
5 | - * Corrigido problema na soletração quando a velocidade ultrapassava ~1 | |
5 | + * Corrigido problema na soletração quando a velocidade ultrapassava ~1. | |
6 | + * | |
7 | + * Versão 2.2 | |
8 | + * - Acompanhamento da legenda | |
9 | + * Corrigido problema na soletração quando o estado muda para pausado. | |
6 | 10 | */ |
7 | 11 | |
8 | 12 | //Log Dir http://docs.unity3d.com/Manual/LogFiles.html |
... | ... | @@ -479,8 +483,10 @@ public abstract class GenericPlayerManager : MonoBehaviour { |
479 | 483 | |
480 | 484 | loadedAssetBundles.Add(aniName); |
481 | 485 | loaded = true; |
486 | + | |
487 | + Debug.Log("Bundle \"" + aniName + "\" loaded!"); | |
482 | 488 | } |
483 | - else UnityEngine.Debug.Log ("Sinal \"" + aniName + "\" não carregado corretamente."); | |
489 | + else UnityEngine.Debug.Log ("Sinal \"" + aniName + "\" foi não carregado corretamente."); | |
484 | 490 | } |
485 | 491 | } |
486 | 492 | else onConnectionError(gloss, aniName); |
... | ... | @@ -522,18 +528,19 @@ public abstract class GenericPlayerManager : MonoBehaviour { |
522 | 528 | |
523 | 529 | if (this.flags.Contains(aniName) || this.intervalAnimations.Contains(aniName)) |
524 | 530 | { |
525 | - //playAnimation(Subtitle.TYPE_NONE, DEFAULT_ANIMATION, "", 1.6F); | |
526 | 531 | toPlayQueue.Enqueue(new ToPlay(Subtitle.TYPE_NONE, DEFAULT_ANIMATION_MIDDLE, "", 1.6F)); |
527 | - continue; | |
532 | + spelled = false; | |
528 | 533 | } |
529 | - | |
530 | - // Se já houve o soletramento de alguma palavra, reproduz animação default | |
531 | - if (spelled) | |
532 | - toPlayQueue.Enqueue(new ToPlay(Subtitle.TYPE_NONE, DEFAULT_ANIMATION_MIDDLE, lastAnimationSubtitle, 1.6F)); | |
533 | 534 | else |
534 | - spelled = true; | |
535 | + { | |
536 | + // Se já houve o soletramento de alguma palavra, reproduz animação default | |
537 | + if (spelled) | |
538 | + toPlayQueue.Enqueue(new ToPlay(Subtitle.TYPE_NONE, DEFAULT_ANIMATION_MIDDLE, "", 1.6F)); | |
539 | + else | |
540 | + spelled = true; | |
535 | 541 | |
536 | - lastAnimationSubtitle = spellWord(toPlayQueue, aniName); | |
542 | + lastAnimationSubtitle = spellWord(toPlayQueue, aniName); | |
543 | + } | |
537 | 544 | } |
538 | 545 | |
539 | 546 | if (toPlayQueue.Count > 4 || wordsCount == stringPos.Length) | ... | ... |
Assets/Scripts/Player Manager/RandomAnimations.cs
... | ... | @@ -60,36 +60,37 @@ public class RandomAnimations : MonoBehaviour { |
60 | 60 | { |
61 | 61 | while (true) |
62 | 62 | { |
63 | - while (this.playerManager.isPlayingIntervalAnimation()) | |
64 | - yield return new WaitForSeconds(1); | |
63 | + // Espera enquanto estiver reproduzindo animações de intervalo | |
64 | + do { yield return null; } | |
65 | + while (this.playerManager.isPlayingIntervalAnimation()); | |
65 | 66 | |
66 | - bool isNotBlocked; | |
67 | - lock (this.blockingObjects) { | |
68 | - isNotBlocked = this.blockingObjects.Count == 0; | |
69 | - } | |
70 | - | |
71 | - if (isNotBlocked) | |
67 | + // Se houver bloqueio, espera acabar | |
68 | + while (true) | |
72 | 69 | { |
73 | - yield return new WaitForSeconds(this.time); | |
74 | - | |
75 | 70 | lock (this.blockingObjects) { |
76 | - if (this.blockingObjects.Count > 0) | |
77 | - continue; | |
71 | + if (this.blockingObjects.Count == 0) | |
72 | + break; | |
78 | 73 | } |
79 | 74 | |
80 | - int index = sortIndex(); | |
75 | + yield return null; | |
76 | + } | |
81 | 77 | |
82 | - if (index != -1) | |
83 | - { | |
84 | - if (index == this.lastIndex) | |
85 | - index = sortIndex(); | |
78 | + // Espera time | |
79 | + yield return new WaitForSeconds(this.time); | |
86 | 80 | |
87 | - //this.playerManager.play(this.names[index], true, false, true); | |
88 | - this.playerManager.playIntervalAnimation(this.names[index]); | |
89 | - } | |
81 | + // Se houver bloqueio, volta a esperar | |
82 | + lock (this.blockingObjects) { | |
83 | + if (this.blockingObjects.Count > 0) | |
84 | + continue; | |
90 | 85 | } |
91 | - | |
92 | - yield return null; | |
86 | + | |
87 | + int index = sortIndex(); | |
88 | + | |
89 | + if (index != -1 && index == this.lastIndex) | |
90 | + index = sortIndex(); | |
91 | + | |
92 | + if (index != -1) | |
93 | + this.playerManager.playIntervalAnimation(this.names[index]); | |
93 | 94 | } |
94 | 95 | } |
95 | 96 | ... | ... |