Commit 39372c3aa2e11b4f24e3049b1b4bffa29cf0943e

Authored by Mateus Lustosa
1 parent 86a015df

Fix iOS resizer; URL encode; Fix connection error message; Fix avatar z

Assets/Scenes/Main.unity
@@ -1236,6 +1236,7 @@ RectTransform: @@ -1236,6 +1236,7 @@ RectTransform:
1236 m_Children: 1236 m_Children:
1237 - {fileID: 1476138800} 1237 - {fileID: 1476138800}
1238 - {fileID: 1173561061} 1238 - {fileID: 1173561061}
  1239 + - {fileID: 1071047504}
1239 - {fileID: 1632068377} 1240 - {fileID: 1632068377}
1240 - {fileID: 1874017187} 1241 - {fileID: 1874017187}
1241 m_Father: {fileID: 202190019} 1242 m_Father: {fileID: 202190019}
@@ -3178,7 +3179,7 @@ BoxCollider: @@ -3178,7 +3179,7 @@ BoxCollider:
3178 m_IsTrigger: 0 3179 m_IsTrigger: 0
3179 m_Enabled: 1 3180 m_Enabled: 1
3180 serializedVersion: 2 3181 serializedVersion: 2
3181 - m_Size: {x: 6.828157, y: 7.3689804, z: 1} 3182 + m_Size: {x: 6.828157, y: 7.3689804, z: 6}
3182 m_Center: {x: -0.04474616, y: 3.5875206, z: -0.00000001458015} 3183 m_Center: {x: -0.04474616, y: 3.5875206, z: -0.00000001458015}
3183 --- !u!1 &554210566 3184 --- !u!1 &554210566
3184 GameObject: 3185 GameObject:
@@ -3775,7 +3776,7 @@ RectTransform: @@ -3775,7 +3776,7 @@ RectTransform:
3775 m_AnchorMin: {x: 0.1, y: 0.5} 3776 m_AnchorMin: {x: 0.1, y: 0.5}
3776 m_AnchorMax: {x: 0.5, y: 1} 3777 m_AnchorMax: {x: 0.5, y: 1}
3777 m_AnchoredPosition: {x: 0, y: 0} 3778 m_AnchoredPosition: {x: 0, y: 0}
3778 - m_SizeDelta: {x: 0, y: -32.424988} 3779 + m_SizeDelta: {x: 0, y: -92}
3779 m_Pivot: {x: 0.5, y: 1} 3780 m_Pivot: {x: 0.5, y: 1}
3780 --- !u!114 &613136922 3781 --- !u!114 &613136922
3781 MonoBehaviour: 3782 MonoBehaviour:
@@ -5083,8 +5084,8 @@ RectTransform: @@ -5083,8 +5084,8 @@ RectTransform:
5083 m_Children: [] 5084 m_Children: []
5084 m_Father: {fileID: 1585560343} 5085 m_Father: {fileID: 1585560343}
5085 m_RootOrder: 0 5086 m_RootOrder: 0
5086 - m_AnchorMin: {x: 0, y: 0.15}  
5087 - m_AnchorMax: {x: 0, y: 0.85} 5087 + m_AnchorMin: {x: -0.04, y: 0.15}
  5088 + m_AnchorMax: {x: -0.04, y: 0.85}
5088 m_AnchoredPosition: {x: 0, y: 0} 5089 m_AnchoredPosition: {x: 0, y: 0}
5089 m_SizeDelta: {x: 100, y: 0} 5090 m_SizeDelta: {x: 100, y: 0}
5090 m_Pivot: {x: 1, y: 0.5} 5091 m_Pivot: {x: 1, y: 0.5}
@@ -5155,7 +5156,7 @@ Prefab: @@ -5155,7 +5156,7 @@ Prefab:
5155 objectReference: {fileID: 0} 5156 objectReference: {fileID: 0}
5156 - target: {fileID: 400002, guid: 714c639770278b249bb7d0850bac50fc, type: 3} 5157 - target: {fileID: 400002, guid: 714c639770278b249bb7d0850bac50fc, type: 3}
5157 propertyPath: m_LocalPosition.z 5158 propertyPath: m_LocalPosition.z
5158 - value: 3.7 5159 + value: 4
5159 objectReference: {fileID: 0} 5160 objectReference: {fileID: 0}
5160 - target: {fileID: 400002, guid: 714c639770278b249bb7d0850bac50fc, type: 3} 5161 - target: {fileID: 400002, guid: 714c639770278b249bb7d0850bac50fc, type: 3}
5161 propertyPath: m_LocalRotation.x 5162 propertyPath: m_LocalRotation.x
@@ -5755,7 +5756,7 @@ GameObject: @@ -5755,7 +5756,7 @@ GameObject:
5755 m_Icon: {fileID: 0} 5756 m_Icon: {fileID: 0}
5756 m_NavMeshLayer: 0 5757 m_NavMeshLayer: 0
5757 m_StaticEditorFlags: 0 5758 m_StaticEditorFlags: 0
5758 - m_IsActive: 0 5759 + m_IsActive: 1
5759 --- !u!224 &970584909 5760 --- !u!224 &970584909
5760 RectTransform: 5761 RectTransform:
5761 m_ObjectHideFlags: 0 5762 m_ObjectHideFlags: 0
@@ -6629,6 +6630,80 @@ CanvasRenderer: @@ -6629,6 +6630,80 @@ CanvasRenderer:
6629 m_PrefabParentObject: {fileID: 0} 6630 m_PrefabParentObject: {fileID: 0}
6630 m_PrefabInternal: {fileID: 0} 6631 m_PrefabInternal: {fileID: 0}
6631 m_GameObject: {fileID: 1069760790} 6632 m_GameObject: {fileID: 1069760790}
  6633 +--- !u!1 &1071047503
  6634 +GameObject:
  6635 + m_ObjectHideFlags: 0
  6636 + m_PrefabParentObject: {fileID: 0}
  6637 + m_PrefabInternal: {fileID: 0}
  6638 + serializedVersion: 4
  6639 + m_Component:
  6640 + - 224: {fileID: 1071047504}
  6641 + - 222: {fileID: 1071047506}
  6642 + - 114: {fileID: 1071047505}
  6643 + m_Layer: 5
  6644 + m_Name: version
  6645 + m_TagString: Untagged
  6646 + m_Icon: {fileID: 0}
  6647 + m_NavMeshLayer: 0
  6648 + m_StaticEditorFlags: 0
  6649 + m_IsActive: 1
  6650 +--- !u!224 &1071047504
  6651 +RectTransform:
  6652 + m_ObjectHideFlags: 0
  6653 + m_PrefabParentObject: {fileID: 0}
  6654 + m_PrefabInternal: {fileID: 0}
  6655 + m_GameObject: {fileID: 1071047503}
  6656 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
  6657 + m_LocalPosition: {x: 0, y: 0, z: 0}
  6658 + m_LocalScale: {x: 1, y: 1, z: 1}
  6659 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
  6660 + m_Children: []
  6661 + m_Father: {fileID: 263018772}
  6662 + m_RootOrder: 2
  6663 + m_AnchorMin: {x: 0, y: 0.586}
  6664 + m_AnchorMax: {x: 1, y: 0.618}
  6665 + m_AnchoredPosition: {x: 0, y: 0}
  6666 + m_SizeDelta: {x: 0, y: 0}
  6667 + m_Pivot: {x: 0.5, y: 0.5}
  6668 +--- !u!114 &1071047505
  6669 +MonoBehaviour:
  6670 + m_ObjectHideFlags: 0
  6671 + m_PrefabParentObject: {fileID: 0}
  6672 + m_PrefabInternal: {fileID: 0}
  6673 + m_GameObject: {fileID: 1071047503}
  6674 + m_Enabled: 1
  6675 + m_EditorHideFlags: 0
  6676 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
  6677 + m_Name:
  6678 + m_EditorClassIdentifier:
  6679 + m_Material: {fileID: 0}
  6680 + m_Color: {r: 0, g: 0, b: 0, a: 0.78431374}
  6681 + m_RaycastTarget: 1
  6682 + m_OnCullStateChanged:
  6683 + m_PersistentCalls:
  6684 + m_Calls: []
  6685 + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
  6686 + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
  6687 + m_FontData:
  6688 + m_Font: {fileID: 12800000, guid: 1d71629ab414fbe4a9015401607e12a6, type: 3}
  6689 + m_FontSize: 14
  6690 + m_FontStyle: 0
  6691 + m_BestFit: 1
  6692 + m_MinSize: 10
  6693 + m_MaxSize: 40
  6694 + m_Alignment: 1
  6695 + m_AlignByGeometry: 0
  6696 + m_RichText: 1
  6697 + m_HorizontalOverflow: 0
  6698 + m_VerticalOverflow: 0
  6699 + m_LineSpacing: 1
  6700 + m_Text: Version 3.0.34
  6701 +--- !u!222 &1071047506
  6702 +CanvasRenderer:
  6703 + m_ObjectHideFlags: 0
  6704 + m_PrefabParentObject: {fileID: 0}
  6705 + m_PrefabInternal: {fileID: 0}
  6706 + m_GameObject: {fileID: 1071047503}
6632 --- !u!1 &1097871559 6707 --- !u!1 &1097871559
6633 GameObject: 6708 GameObject:
6634 m_ObjectHideFlags: 0 6709 m_ObjectHideFlags: 0
@@ -10850,7 +10925,7 @@ RectTransform: @@ -10850,7 +10925,7 @@ RectTransform:
10850 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 10925 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
10851 m_Children: [] 10926 m_Children: []
10852 m_Father: {fileID: 263018772} 10927 m_Father: {fileID: 263018772}
10853 - m_RootOrder: 2 10928 + m_RootOrder: 3
10854 m_AnchorMin: {x: 0.06, y: 0.46} 10929 m_AnchorMin: {x: 0.06, y: 0.46}
10855 m_AnchorMax: {x: 0.94, y: 0.58} 10930 m_AnchorMax: {x: 0.94, y: 0.58}
10856 m_AnchoredPosition: {x: 0, y: 0} 10931 m_AnchoredPosition: {x: 0, y: 0}
@@ -11031,8 +11106,8 @@ RectTransform: @@ -11031,8 +11106,8 @@ RectTransform:
11031 m_Children: [] 11106 m_Children: []
11032 m_Father: {fileID: 1585560343} 11107 m_Father: {fileID: 1585560343}
11033 m_RootOrder: 4 11108 m_RootOrder: 4
11034 - m_AnchorMin: {x: 1, y: 0.15}  
11035 - m_AnchorMax: {x: 1, y: 0.85} 11109 + m_AnchorMin: {x: 1.04, y: 0.15}
  11110 + m_AnchorMax: {x: 1.04, y: 0.85}
11036 m_AnchoredPosition: {x: 0, y: 0} 11111 m_AnchoredPosition: {x: 0, y: 0}
11037 m_SizeDelta: {x: 100, y: 0} 11112 m_SizeDelta: {x: 100, y: 0}
11038 m_Pivot: {x: 0, y: 0.5} 11113 m_Pivot: {x: 0, y: 0.5}
@@ -11275,7 +11350,7 @@ RectTransform: @@ -11275,7 +11350,7 @@ RectTransform:
11275 m_AnchorMin: {x: 0.5, y: 0.5} 11350 m_AnchorMin: {x: 0.5, y: 0.5}
11276 m_AnchorMax: {x: 0.9, y: 1} 11351 m_AnchorMax: {x: 0.9, y: 1}
11277 m_AnchoredPosition: {x: 0, y: 0} 11352 m_AnchoredPosition: {x: 0, y: 0}
11278 - m_SizeDelta: {x: 0, y: -32.424988} 11353 + m_SizeDelta: {x: 0, y: -92}
11279 m_Pivot: {x: 0.5, y: 1} 11354 m_Pivot: {x: 0.5, y: 1}
11280 --- !u!114 &1763761725 11355 --- !u!114 &1763761725
11281 MonoBehaviour: 11356 MonoBehaviour:
@@ -11889,7 +11964,7 @@ RectTransform: @@ -11889,7 +11964,7 @@ RectTransform:
11889 - {fileID: 948041468} 11964 - {fileID: 948041468}
11890 - {fileID: 670462553} 11965 - {fileID: 670462553}
11891 m_Father: {fileID: 263018772} 11966 m_Father: {fileID: 263018772}
11892 - m_RootOrder: 3 11967 + m_RootOrder: 4
11893 m_AnchorMin: {x: 0, y: 0.1} 11968 m_AnchorMin: {x: 0, y: 0.1}
11894 m_AnchorMax: {x: 1, y: 0.4} 11969 m_AnchorMax: {x: 1, y: 0.4}
11895 m_AnchoredPosition: {x: 0, y: 0} 11970 m_AnchoredPosition: {x: 0, y: 0}
Assets/Scripts/Player Manager/GenericPlayerManager.cs
@@ -19,6 +19,9 @@ @@ -19,6 +19,9 @@
19 * Quando não há acesso aos bundles dos sinais de pontuação, eles são ignorados. 19 * Quando não há acesso aos bundles dos sinais de pontuação, eles são ignorados.
20 * Ç adicionado como TYPE_WORD. 20 * Ç adicionado como TYPE_WORD.
21 * 21 *
  22 + * Versão 2.5
  23 + * - Espera de requisição http com timeout.
  24 + *
22 * Log directory: http://docs.unity3d.com/Manual/LogFiles.html 25 * Log directory: http://docs.unity3d.com/Manual/LogFiles.html
23 */ 26 */
24 27
@@ -58,7 +61,7 @@ public abstract class GenericPlayerManager : MonoBehaviour { @@ -58,7 +61,7 @@ public abstract class GenericPlayerManager : MonoBehaviour {
58 // Sinais ignorados na apresentação de legenda 61 // Sinais ignorados na apresentação de legenda
59 private HashSet<string> flags = new HashSet<string>(); 62 private HashSet<string> flags = new HashSet<string>();
60 63
61 - // True quando está na função LoadAndPlay 64 + // True quando está na função Loader
62 private volatile bool loading = false; 65 private volatile bool loading = false;
63 // True quando está reproduzindo qualquer animação 66 // True quando está reproduzindo qualquer animação
64 private volatile bool playing = false; 67 private volatile bool playing = false;
@@ -174,8 +177,8 @@ public abstract class GenericPlayerManager : MonoBehaviour { @@ -174,8 +177,8 @@ public abstract class GenericPlayerManager : MonoBehaviour {
174 /* Para carregamento e animações */ 177 /* Para carregamento e animações */
175 public void stopAll() 178 public void stopAll()
176 { 179 {
177 - StopCoroutine("loadAndPlay");  
178 - this.randomAnimations.unlockFor("loadAndPlay"); 180 + StopCoroutine("Loader");
  181 + this.randomAnimations.unlockFor("Loader");
179 loading = false; 182 loading = false;
180 183
181 stopAnimations(); 184 stopAnimations();
@@ -184,8 +187,8 @@ public abstract class GenericPlayerManager : MonoBehaviour { @@ -184,8 +187,8 @@ public abstract class GenericPlayerManager : MonoBehaviour {
184 /* Para animações */ 187 /* Para animações */
185 public void stopAnimations() 188 public void stopAnimations()
186 { 189 {
187 - StopCoroutine("handleStates");  
188 - this.randomAnimations.unlockFor("handleStates"); 190 + StopCoroutine("AnimationsHandler");
  191 + this.randomAnimations.unlockFor("AnimationsHandler");
189 this.subtitles.setText(""); 192 this.subtitles.setText("");
190 193
191 lock (this.animQueue) { this.animQueue.Clear(); } 194 lock (this.animQueue) { this.animQueue.Clear(); }
@@ -301,54 +304,32 @@ public abstract class GenericPlayerManager : MonoBehaviour { @@ -301,54 +304,32 @@ public abstract class GenericPlayerManager : MonoBehaviour {
301 setPauseState( ! this.paused); 304 setPauseState( ! this.paused);
302 } 305 }
303 306
304 - private System.Object LOCKER_PLAY = new System.Object();  
305 -  
306 /* Play if anything loading or playing */ 307 /* Play if anything loading or playing */
307 public bool playIfEmpty(string gloss) 308 public bool playIfEmpty(string gloss)
308 { 309 {
309 - lock (LOCKER_PLAY)  
310 - {  
311 - if (this.loading || this.playing)  
312 - return false;  
313 -  
314 - StartCoroutine("loadAndPlay", gloss);  
315 - } 310 + if (this.loading || this.playing)
  311 + return false;
316 312
  313 + StartCoroutine("Loader", gloss);
317 return true; 314 return true;
318 } 315 }
319 316
320 - /* Enqueue animations for playing */  
321 - public void playQueued(string gloss)  
322 - {  
323 - lock (LOCKER_PLAY)  
324 - {  
325 - StartCoroutine("loadAndPlay", gloss);  
326 - }  
327 - }  
328 -  
329 /* Stop all and play */ 317 /* Stop all and play */
330 public void playNow(string gloss) 318 public void playNow(string gloss)
331 { 319 {
332 - lock (LOCKER_PLAY)  
333 - {  
334 - stopAll();  
335 - StartCoroutine("loadAndPlay", gloss);  
336 - } 320 + stopAll();
  321 + StartCoroutine("Loader", gloss);
337 } 322 }
338 323
339 /* Reproduz animação de intervalo */ 324 /* Reproduz animação de intervalo */
340 public bool playIntervalAnimation(string name) 325 public bool playIntervalAnimation(string name)
341 { 326 {
342 - if ( ! Monitor.TryEnter(LOCKER_PLAY)) 327 + if (this.loading || this.playing)
343 return false; 328 return false;
344 -  
345 - lock (LOCKER_PLAY)  
346 - {  
347 - playDefaultAnimation(true);  
348 - this.intervalAnimationState = COMPONENT_ANIMATION.CrossFadeQueued(name, fadeLength, QueueMode.CompleteOthers);  
349 - playDefaultAnimation(false);  
350 - }  
351 - 329 +
  330 + playDefaultAnimation(true);
  331 + this.intervalAnimationState = COMPONENT_ANIMATION.CrossFadeQueued(name, fadeLength, QueueMode.CompleteOthers);
  332 + playDefaultAnimation(false);
352 return true; 333 return true;
353 } 334 }
354 335
@@ -477,253 +458,238 @@ public abstract class GenericPlayerManager : MonoBehaviour { @@ -477,253 +458,238 @@ public abstract class GenericPlayerManager : MonoBehaviour {
477 } 458 }
478 } 459 }
479 460
480 - private System.Object LOCKER_LOADING = new System.Object();  
481 -  
482 - public void clearLoadedBundles()  
483 - {  
484 - this.loadedAssetBundles.Clear(); 461 + public void clearLoadedBundles() {
  462 + this.loadedAssetBundles.Clear();
485 } 463 }
486 464
487 /* Carrega animações e reproduz */ 465 /* Carrega animações e reproduz */
488 - private IEnumerator loadAndPlay(string gloss) 466 + private IEnumerator Loader(string gloss)
489 { 467 {
490 - lock (LOCKER_LOADING)  
491 - {  
492 - this.randomAnimations.lockFor("loadAndPlay");  
493 - this.loading = true;  
494 - // onPlayingStateChange(); 468 + this.loading = true;
  469 + this.randomAnimations.lockFor("Loader");
  470 + // onPlayingStateChange();
495 471
496 - string lastAnimationSubtitle = "";  
497 - bool spelled = false; 472 + string lastAnimationSubtitle = "";
  473 + bool spelled = false;
498 474
499 - if ( ! this.playing)  
500 - StartCoroutine("handleStates"); 475 + if ( ! this.playing)
  476 + StartCoroutine("AnimationsHandler");
501 477
502 - String[] stringPos = gloss.Split(' '); 478 + String[] stringPos = gloss.Split(' ');
503 479
504 - Queue<ToPlay> toPlayQueue = new Queue<ToPlay>();  
505 - int wordsCount = 0;  
506 - toPlayQueue.Enqueue(new ToPlay(Subtitle.TYPE_NONE, DEFAULT_ANIMATION, "", this)); 480 + Queue<ToPlay> toPlayQueue = new Queue<ToPlay>();
  481 + int wordsCount = 0;
  482 + toPlayQueue.Enqueue(new ToPlay(Subtitle.TYPE_NONE, DEFAULT_ANIMATION, "", this));
507 483
508 - /*WWW checkConnectionRequest = getCheckConnectionRequest();  
509 - bool connected = false; 484 + /*WWW checkConnectionRequest = getCheckConnectionRequest();
  485 + bool connected = false;
510 486
511 - while ( ! checkConnectionRequest.isDone)  
512 - yield return checkConnectionRequest; 487 + while ( ! checkConnectionRequest.isDone)
  488 + yield return checkConnectionRequest;
513 489
514 - if (checkConnectionRequest.responseHeaders.Count > 0)  
515 - {  
516 - PlayerLogger.Log(checkConnectionRequest.responseHeaders["STATUS"]);  
517 - connected = checkConnectionRequest.responseHeaders["STATUS"].Contains("404");  
518 - }  
519 - else PlayerLogger.Log("No response headers.");*/ 490 + if (checkConnectionRequest.responseHeaders.Count > 0)
  491 + {
  492 + PlayerLogger.Log(checkConnectionRequest.responseHeaders["STATUS"]);
  493 + connected = checkConnectionRequest.responseHeaders["STATUS"].Contains("404");
  494 + }
  495 + else PlayerLogger.Log("No response headers.");*/
520 496
521 - bool connected = true;  
522 - bool playingStarted = false; 497 + bool connected = true;
  498 + bool playingStarted = false;
523 499
524 - foreach (string aniName in stringPos)  
525 - {  
526 - wordsCount++;  
527 - if (String.IsNullOrEmpty(aniName)) continue; 500 + foreach (string aniName in stringPos)
  501 + {
  502 + wordsCount++;
  503 + if (String.IsNullOrEmpty(aniName)) continue;
528 504
529 - bool nonexistent = nonexistentAssetBundles.Contains(aniName);  
530 - bool loaded = loadedAssetBundles.Contains(aniName); 505 + bool nonexistent = nonexistentAssetBundles.Contains(aniName);
  506 + bool loaded = loadedAssetBundles.Contains(aniName);
531 507
532 - if ( ! nonexistent && ! loaded && connected)  
533 - {  
534 - WWW bundleRequest = loadAssetBundle(aniName);  
535 - yield return WaitForResponse(bundleRequest); 508 + if ( ! nonexistent && ! loaded && connected)
  509 + {
  510 + WWW bundleRequest = loadAssetBundle(aniName);
  511 + yield return WaitForResponse(bundleRequest);
536 512
537 - PlayerLogger.Log("GPM", "lAP", "Bundle request done (" + aniName + ")."); 513 + PlayerLogger.Log("GPM", "L", "Bundle request done (" + aniName + ").");
538 514
539 - if (bundleRequest.isDone && bundleRequest.error == null) 515 + if (bundleRequest.isDone && bundleRequest.error == null)
  516 + {
  517 + AssetBundle bundle = bundleRequest.assetBundle;
  518 +
  519 + if (bundle != null && !String.IsNullOrEmpty(bundle.mainAsset.name))
540 { 520 {
541 - AssetBundle bundle = bundleRequest.assetBundle; 521 + AnimationClip aniClip = bundle.mainAsset as AnimationClip;
  522 + bundle.Unload(false);
542 523
543 - if (bundle != null && !String.IsNullOrEmpty(bundle.mainAsset.name)) 524 + if (aniClip)
544 { 525 {
545 - AnimationClip aniClip = bundle.mainAsset as AnimationClip;  
546 - bundle.Unload(false);  
547 -  
548 - if (aniClip)  
549 - {  
550 - COMPONENT_ANIMATION.AddClip(aniClip, aniName);  
551 - if (playingStarted) yield return new WaitForEndOfFrame(); 526 + COMPONENT_ANIMATION.AddClip(aniClip, aniName);
  527 + if (playingStarted) yield return new WaitForEndOfFrame();
552 528
553 - loadedAssetBundles.Add(aniName);  
554 - loaded = true; 529 + loadedAssetBundles.Add(aniName);
  530 + loaded = true;
555 531
556 - PlayerLogger.Log("GPM", "lAP", "Bundle \"" + aniName + "\" loaded!");  
557 - }  
558 - else PlayerLogger.Log("GPM", "lAP", "Sign \"" + aniName + "\" wasn't loaded successfuly."); 532 + PlayerLogger.Log("GPM", "L", "Bundle \"" + aniName + "\" loaded!");
559 } 533 }
560 - else PlayerLogger.Log("GPM", "lAP", "Bundle \"" + aniName + "\" wasn't loaded successfuly.");  
561 -  
562 - if ( ! loaded) nonexistentAssetBundles.Add(aniName); 534 + else PlayerLogger.Log("GPM", "L", "Sign \"" + aniName + "\" wasn't loaded successfuly.");
563 } 535 }
564 - else  
565 - {  
566 - PlayerLogger.Log("GPM", "lAP", "Connection error.");  
567 - onConnectionError(gloss, aniName);  
568 - }  
569 - } 536 + else PlayerLogger.Log("GPM", "L", "Bundle \"" + aniName + "\" wasn't loaded successfuly.");
570 537
571 - // Reproduz palavra  
572 - if (loaded)  
573 - {  
574 - if (spelled)  
575 - {  
576 - // Default  
577 - toPlayQueue.Enqueue(new ToPlay(Subtitle.TYPE_NONE, DEFAULT_ANIMATION, lastAnimationSubtitle, this));  
578 - spelled = false;  
579 - } 538 + if ( ! loaded) nonexistentAssetBundles.Add(aniName);
  539 + }
  540 + else
  541 + {
  542 + PlayerLogger.Log("GPM", "L", "Connection error.");
  543 + onConnectionError(gloss, aniName);
  544 + }
  545 + }
580 546
581 - if (this.flags.Contains(aniName) || this.intervalAnimations.Contains(aniName))  
582 - {  
583 - lastAnimationSubtitle = "";  
584 - toPlayQueue.Enqueue(new ToPlay(Subtitle.TYPE_WORD, aniName, "", this));  
585 - }  
586 - else  
587 - {  
588 - lastAnimationSubtitle = aniName;  
589 - toPlayQueue.Enqueue(new ToPlay(Subtitle.TYPE_WORD, aniName, this));  
590 - } 547 + // Reproduz palavra
  548 + if (loaded)
  549 + {
  550 + if (spelled)
  551 + {
  552 + // Default
  553 + toPlayQueue.Enqueue(new ToPlay(Subtitle.TYPE_NONE, DEFAULT_ANIMATION, lastAnimationSubtitle, this));
  554 + spelled = false;
591 } 555 }
592 556
593 - // Soletra palavra 557 + if (this.flags.Contains(aniName) || this.intervalAnimations.Contains(aniName))
  558 + {
  559 + lastAnimationSubtitle = "";
  560 + toPlayQueue.Enqueue(new ToPlay(Subtitle.TYPE_WORD, aniName, "", this));
  561 + }
594 else 562 else
595 { 563 {
596 - PlayerLogger.Log("GPM", "lAP", "To spell: " + aniName); 564 + lastAnimationSubtitle = aniName;
  565 + toPlayQueue.Enqueue(new ToPlay(Subtitle.TYPE_WORD, aniName, this));
  566 + }
  567 + }
597 568
598 - if (this.flags.Contains(aniName) || this.intervalAnimations.Contains(aniName))  
599 - { 569 + // Soletra palavra
  570 + else
  571 + {
  572 + PlayerLogger.Log("GPM", "L", "To spell: " + aniName);
  573 +
  574 + if (this.flags.Contains(aniName) || this.intervalAnimations.Contains(aniName))
  575 + {
  576 + toPlayQueue.Enqueue(new ToPlay(Subtitle.TYPE_NONE, DEFAULT_ANIMATION_MIDDLE, "", 1.6F));
  577 + spelled = false;
  578 + }
  579 + else
  580 + {
  581 + // Se já houve o soletramento de alguma palavra, reproduz animação default
  582 + if (spelled)
600 toPlayQueue.Enqueue(new ToPlay(Subtitle.TYPE_NONE, DEFAULT_ANIMATION_MIDDLE, "", 1.6F)); 583 toPlayQueue.Enqueue(new ToPlay(Subtitle.TYPE_NONE, DEFAULT_ANIMATION_MIDDLE, "", 1.6F));
601 - spelled = false;  
602 - }  
603 else 584 else
604 - {  
605 - // Se já houve o soletramento de alguma palavra, reproduz animação default  
606 - if (spelled)  
607 - toPlayQueue.Enqueue(new ToPlay(Subtitle.TYPE_NONE, DEFAULT_ANIMATION_MIDDLE, "", 1.6F));  
608 - else  
609 - spelled = true; 585 + spelled = true;
610 586
611 - lastAnimationSubtitle = spellWord(toPlayQueue, aniName);  
612 - } 587 + lastAnimationSubtitle = spellWord(toPlayQueue, aniName);
613 } 588 }
  589 + }
614 590
615 - if (toPlayQueue.Count > 4 || wordsCount == stringPos.Length) {  
616 - playingStarted = true; 591 + if (toPlayQueue.Count > 4 || wordsCount == stringPos.Length) {
  592 + playingStarted = true;
617 593
618 - while (toPlayQueue.Count > 0)  
619 - {  
620 - toPlayQueue.Dequeue().play(this);  
621 - yield return new WaitForEndOfFrame();  
622 - } 594 + while (toPlayQueue.Count > 0)
  595 + {
  596 + toPlayQueue.Dequeue().play(this);
  597 + yield return new WaitForEndOfFrame();
623 } 598 }
624 -  
625 - if (playingStarted) yield return new WaitForEndOfFrame();  
626 } 599 }
627 600
628 - // Default  
629 - playAnimation(Subtitle.TYPE_NONE, DEFAULT_ANIMATION, ""); 601 + if (playingStarted) yield return new WaitForEndOfFrame();
  602 + }
630 603
631 - this.loading = false;  
632 - // onPlayingStateChange();  
633 - this.randomAnimations.unlockFor("loadAndPlay");  
634 - }  
635 - } 604 + // Default
  605 + playAnimation(Subtitle.TYPE_NONE, DEFAULT_ANIMATION, "");
636 606
637 - private System.Object LOCKER_PLAYING = new System.Object(); 607 + // onPlayingStateChange();
  608 + this.randomAnimations.unlockFor("Loader");
  609 + this.loading = false;
  610 + }
638 611
639 /* Sincroniza as legendas com as animações. */ 612 /* Sincroniza as legendas com as animações. */
640 - IEnumerator handleStates() 613 + IEnumerator AnimationsHandler()
641 { 614 {
642 - lock (LOCKER_PLAYING)  
643 - {  
644 - this.randomAnimations.lockFor("handleStates");  
645 - this.playing = true;  
646 - onPlayingStateChange(); 615 + this.playing = true;
  616 + this.randomAnimations.lockFor("AnimationsHandler");
  617 + onPlayingStateChange();
647 618
648 - bool isNotEmpty;  
649 - lock (this.animQueue) { isNotEmpty = this.animQueue.Count > 0; } 619 + bool isNotEmpty = this.animQueue.Count > 0;
650 620
651 - // Animação anterior a atual  
652 - AnimationReference endedAnimation = null; 621 + // Animação anterior a atual
  622 + AnimationReference endedAnimation = null;
653 623
654 - // Enquanto estiver executando a corotina "loadAndPlay"  
655 - // ou existir animações na fila de reprodução  
656 - while (loading || isNotEmpty) 624 + // Enquanto estiver executando a corotina "Loader"
  625 + // ou existir animações na fila de reprodução
  626 + while (loading || isNotEmpty)
  627 + {
  628 + // Se não houver animações na fila, espera
  629 + if (isNotEmpty)
657 { 630 {
658 - // Se não houver animações na fila, espera  
659 - if (isNotEmpty) 631 + // Pega primeira animação
  632 + AnimationReference reference;
  633 + lock (this.animQueue) { reference = this.animQueue.Peek(); }
  634 +
  635 + // Se estiver sendo reproduzida
  636 + if (COMPONENT_ANIMATION.IsPlaying(reference.name))
660 { 637 {
661 - // Pega primeira animação  
662 - AnimationReference reference;  
663 - lock (this.animQueue) { reference = this.animQueue.Peek(); } 638 + this.subtitles.setText(reference.subtitle);
664 639
665 - // Se estiver sendo reproduzida  
666 - if (COMPONENT_ANIMATION.IsPlaying(reference.name)) 640 + // Animação seguinte
  641 + AnimationReference next = null;
  642 + lock (this.animQueue)
667 { 643 {
668 - this.subtitles.setText(reference.subtitle); 644 + this.animationPlaying = this.animQueue.Dequeue();
669 645
670 - // Animação seguinte  
671 - AnimationReference next = null;  
672 - lock (this.animQueue)  
673 - {  
674 - this.animationPlaying = this.animQueue.Dequeue();  
675 -  
676 - if (this.animQueue.Count > 0)  
677 - next = this.animQueue.Peek();  
678 - } 646 + if (this.animQueue.Count > 0)
  647 + next = this.animQueue.Peek();
  648 + }
679 649
680 - while (true) 650 + while (true)
  651 + {
  652 + // Se a próxima animação estiver sendo reproduzida (no fade)
  653 + if (next != null && COMPONENT_ANIMATION.IsPlaying(next.name))
681 { 654 {
682 - // Se a próxima animação estiver sendo reproduzida (no fade)  
683 - if (next != null && COMPONENT_ANIMATION.IsPlaying(next.name))  
684 - {  
685 - // Se a animação anterior a atual não tiver acabado,  
686 - // espera acabar e só então conta o tempo  
687 - if (endedAnimation != null)  
688 - while (COMPONENT_ANIMATION.IsPlaying(endedAnimation.name))  
689 - yield return null;  
690 -  
691 - // Tempo para pular para a legenda da próxima animação  
692 - yield return new WaitForSeconds(0.4F);  
693 -  
694 - // Deprecated  
695 - // yield return WaitForContinuousMillis.Wait(this, 300);  
696 -  
697 - endedAnimation = reference;  
698 - break;  
699 - }  
700 -  
701 - else if (COMPONENT_ANIMATION.IsPlaying(reference.name))  
702 - yield return null;  
703 -  
704 - else break; 655 + // Se a animação anterior a atual não tiver acabado,
  656 + // espera acabar e só então conta o tempo
  657 + if (endedAnimation != null)
  658 + while (COMPONENT_ANIMATION.IsPlaying(endedAnimation.name))
  659 + yield return null;
  660 +
  661 + // Tempo para pular para a legenda da próxima animação
  662 + yield return new WaitForSeconds(0.4F);
  663 +
  664 + endedAnimation = reference;
  665 + break;
705 } 666 }
706 667
707 - reference = null; 668 + else if (COMPONENT_ANIMATION.IsPlaying(reference.name))
  669 + yield return null;
  670 +
  671 + else break;
708 } 672 }
709 673
710 - // Se a animação não tiver sido liberada e seu AnimationState for nulo,  
711 - // a animação será liberada  
712 - if (reference != null && reference.state == null)  
713 - lock (this.animQueue) { this.animQueue.Dequeue(); }  
714 - else  
715 - yield return null; 674 + reference = null;
716 } 675 }
717 - else yield return null;  
718 676
719 - lock (this.animQueue) { isNotEmpty = this.animQueue.Count > 0; } 677 + // Se a animação não tiver sido liberada e seu AnimationState for nulo,
  678 + // a animação será liberada
  679 + if (reference != null && reference.state == null)
  680 + this.animQueue.Dequeue();
  681 + else
  682 + yield return null;
720 } 683 }
  684 + else yield return null;
721 685
722 - this.subtitles.setText("");  
723 -  
724 - resetStates();  
725 - this.randomAnimations.unlockFor("handleStates"); 686 + isNotEmpty = this.animQueue.Count > 0;
726 } 687 }
  688 +
  689 + this.subtitles.setText("");
  690 +
  691 + resetStates();
  692 + this.randomAnimations.unlockFor("AnimationsHandler");
727 } 693 }
728 694
729 public void resetStates() 695 public void resetStates()
Assets/Scripts/PlayerManager.cs
@@ -120,8 +120,10 @@ public class PlayerManager : GenericPlayerManager { @@ -120,8 +120,10 @@ public class PlayerManager : GenericPlayerManager {
120 120
121 protected override WWW loadAssetBundle(string aniName) 121 protected override WWW loadAssetBundle(string aniName)
122 { 122 {
123 - PlayerLogger.Log("PM", "lAB", "Requesting bundle: " + BASE_URL + regionPath + aniName);  
124 - return WWW.LoadFromCacheOrDownload(BASE_URL + regionPath + aniName, this.regionHash); 123 + string address = BASE_URL + regionPath + WWW.EscapeURL(aniName);
  124 +
  125 + PlayerLogger.Log("PM", "lAB", "Requesting bundle: " + address);
  126 + return WWW.LoadFromCacheOrDownload(address, this.regionHash);
125 } 127 }
126 128
127 private System.Object LOCKER_STATE = new System.Object(); 129 private System.Object LOCKER_STATE = new System.Object();
@@ -137,9 +139,11 @@ public class PlayerManager : GenericPlayerManager { @@ -137,9 +139,11 @@ public class PlayerManager : GenericPlayerManager {
137 { 139 {
138 if (gloss.Equals(this.dictWord)) 140 if (gloss.Equals(this.dictWord))
139 { 141 {
140 - base.stopAll(); 142 + this.dictWord = "";
141 this.screenManager.showConnectionErrorDialog( 143 this.screenManager.showConnectionErrorDialog(
142 PlayerManager.ERROR_STATUS_MESSAGE.INTERNET_CONNECTION_FAILURE); 144 PlayerManager.ERROR_STATUS_MESSAGE.INTERNET_CONNECTION_FAILURE);
  145 +
  146 + base.stopAll();
143 } 147 }
144 } 148 }
145 149
@@ -224,8 +228,8 @@ public class PlayerManager : GenericPlayerManager { @@ -224,8 +228,8 @@ public class PlayerManager : GenericPlayerManager {
224 timer += Time.deltaTime; 228 timer += Time.deltaTime;
225 yield return null; 229 yield return null;
226 #elif UNITY_IOS 230 #elif UNITY_IOS
227 - timer += 0.1f;  
228 - yield return new WaitForSeconds(0.1f); 231 + timer += 0.1f;
  232 + yield return new WaitForSeconds(0.1f);
229 #endif 233 #endif
230 } 234 }
231 235
Assets/Scripts/UI/InputResizer.cs
@@ -1,39 +0,0 @@ @@ -1,39 +0,0 @@
1 -using UnityEngine;  
2 -using UnityEngine.UI;  
3 -  
4 -public class InputResizer : MonoBehaviour {  
5 -  
6 - protected void Start()  
7 - {  
8 - Text text = gameObject.GetComponent<Text>();  
9 -  
10 - if (Screen.dpi < 140)  
11 - {  
12 - text.fontSize = 20;  
13 - }  
14 -  
15 - // 240  
16 - else if (Screen.dpi < 280)  
17 - {  
18 - text.fontSize = 32;  
19 - }  
20 -  
21 - // 320  
22 - else if (Screen.dpi < 400)  
23 - {  
24 - text.fontSize = 44;  
25 - }  
26 -  
27 - // 480  
28 - else if (Screen.dpi < 500)  
29 - {  
30 - text.fontSize = 56;  
31 - }  
32 -  
33 - else  
34 - {  
35 - text.fontSize = 56;  
36 - }  
37 - }  
38 -  
39 -}  
Assets/Scripts/UI/InputResizer.cs.meta
@@ -1,12 +0,0 @@ @@ -1,12 +0,0 @@
1 -fileFormatVersion: 2  
2 -guid: f8db495bb0057e14eb35ef4f2df7910e  
3 -timeCreated: 1475710064  
4 -licenseType: Pro  
5 -MonoImporter:  
6 - serializedVersion: 2  
7 - defaultReferences: []  
8 - executionOrder: 0  
9 - icon: {instanceID: 0}  
10 - userData:  
11 - assetBundleName:  
12 - assetBundleVariant:  
Assets/Scripts/UI/Resizers/BarResizer.cs
@@ -12,25 +12,25 @@ public class BarResizer : MonoBehaviour { @@ -12,25 +12,25 @@ public class BarResizer : MonoBehaviour {
12 #if UNITY_IOS 12 #if UNITY_IOS
13 this.microButton.SetActive(false); 13 this.microButton.SetActive(false);
14 14
15 - if (Screen.dpi < 140)  
16 - this.barBottomLayout.spacing = 42; 15 + if (Screen.width < 400)
  16 + this.barBottomLayout.spacing = 8;
17 17
18 // 240 18 // 240
19 - else if (Screen.dpi < 280)  
20 - this.barBottomLayout.spacing = 72; 19 + else if (Screen.width < 500)
  20 + this.barBottomLayout.spacing = 116;
21 21
22 // 320 22 // 320
23 - else if (Screen.dpi < 400)  
24 - this.barBottomLayout.spacing = 108; 23 + else if (Screen.width < 620)
  24 + this.barBottomLayout.spacing = 142;
25 25
26 // 480 26 // 480
27 - else if (Screen.dpi < 500)  
28 - this.barBottomLayout.spacing = 158; 27 + else if (Screen.width < 840)
  28 + this.barBottomLayout.spacing = 190;
29 29
30 else 30 else
31 - this.barBottomLayout.spacing = 108; 31 + this.barBottomLayout.spacing = 210;
32 #else 32 #else
33 - if (Screen.dpi < 140) 33 + if (Screen.dpi < 140)
34 this.barBottomLayout.spacing = 48; 34 this.barBottomLayout.spacing = 48;
35 35
36 // 240 36 // 240
Assets/Scripts/UI/Resizers/InputResizer.cs 0 → 100644
@@ -0,0 +1,39 @@ @@ -0,0 +1,39 @@
  1 +using UnityEngine;
  2 +using UnityEngine.UI;
  3 +
  4 +public class InputResizer : MonoBehaviour {
  5 +
  6 + protected void Start()
  7 + {
  8 + Text text = gameObject.GetComponent<Text>();
  9 +
  10 + if (Screen.dpi < 140)
  11 + {
  12 + text.fontSize = 20;
  13 + }
  14 +
  15 + // 240
  16 + else if (Screen.dpi < 280)
  17 + {
  18 + text.fontSize = 32;
  19 + }
  20 +
  21 + // 320
  22 + else if (Screen.dpi < 400)
  23 + {
  24 + text.fontSize = 44;
  25 + }
  26 +
  27 + // 480
  28 + else if (Screen.dpi < 500)
  29 + {
  30 + text.fontSize = 56;
  31 + }
  32 +
  33 + else
  34 + {
  35 + text.fontSize = 56;
  36 + }
  37 + }
  38 +
  39 +}
Assets/Scripts/UI/Resizers/InputResizer.cs.meta 0 → 100644
@@ -0,0 +1,12 @@ @@ -0,0 +1,12 @@
  1 +fileFormatVersion: 2
  2 +guid: f8db495bb0057e14eb35ef4f2df7910e
  3 +timeCreated: 1475710064
  4 +licenseType: Pro
  5 +MonoImporter:
  6 + serializedVersion: 2
  7 + defaultReferences: []
  8 + executionOrder: 0
  9 + icon: {instanceID: 0}
  10 + userData:
  11 + assetBundleName:
  12 + assetBundleVariant:
Assets/Scripts/UI/SlidingHidder.cs
@@ -12,7 +12,7 @@ namespace LAViD.VLibras.UI { @@ -12,7 +12,7 @@ namespace LAViD.VLibras.UI {
12 public float speed = 1f; 12 public float speed = 1f;
13 public bool disableWhenHidden = true; 13 public bool disableWhenHidden = true;
14 14
15 - private Transform transform; 15 + private Transform thisTransform;
16 private Vector2 hiddenPosition; 16 private Vector2 hiddenPosition;
17 private Vector2 visiblePosition; 17 private Vector2 visiblePosition;
18 18
@@ -27,23 +27,23 @@ namespace LAViD.VLibras.UI { @@ -27,23 +27,23 @@ namespace LAViD.VLibras.UI {
27 27
28 void Start() 28 void Start()
29 { 29 {
30 - this.transform = this.gameObject.transform; 30 + this.thisTransform = this.gameObject.transform;
31 this.speed = Screen.width * this.speed; 31 this.speed = Screen.width * this.speed;
32 Rect obj = this.gameObject.GetComponent<RectTransform>().rect; 32 Rect obj = this.gameObject.GetComponent<RectTransform>().rect;
33 33
34 - this.visiblePosition = transform.position;  
35 - this.hiddenPosition = transform.position; 34 + this.visiblePosition = thisTransform.position;
  35 + this.hiddenPosition = thisTransform.position;
36 36
37 if (this.slideOnX) this.hiddenPosition.x += toLeft ? -obj.width : obj.width; 37 if (this.slideOnX) this.hiddenPosition.x += toLeft ? -obj.width : obj.width;
38 //if (this.slideOnY) this.hiddenPosition.y += toTop ? -obj.height: obj.height; 38 //if (this.slideOnY) this.hiddenPosition.y += toTop ? -obj.height: obj.height;
39 39
40 - this.transform.position = base.isVisible() ? this.visiblePosition : this.hiddenPosition; 40 + this.thisTransform.position = base.isVisible() ? this.visiblePosition : this.hiddenPosition;
41 this.gameObject.SetActive(base.isVisible()); 41 this.gameObject.SetActive(base.isVisible());
42 } 42 }
43 43
44 void Update() 44 void Update()
45 { 45 {
46 - Vector2 position = transform.position; 46 + Vector2 position = thisTransform.position;
47 Vector2 objective = base.isVisible() ? this.visiblePosition : this.hiddenPosition; 47 Vector2 objective = base.isVisible() ? this.visiblePosition : this.hiddenPosition;
48 bool changed = true; 48 bool changed = true;
49 49
@@ -62,7 +62,7 @@ namespace LAViD.VLibras.UI { @@ -62,7 +62,7 @@ namespace LAViD.VLibras.UI {
62 62
63 if (changed) 63 if (changed)
64 { 64 {
65 - this.transform.position = position; 65 + this.thisTransform.position = position;
66 this.gameObject.SetActive( ! this.disableWhenHidden 66 this.gameObject.SetActive( ! this.disableWhenHidden
67 || (position.x != this.hiddenPosition.x /*|| position.y != hiddenPosition.y*/) 67 || (position.x != this.hiddenPosition.x /*|| position.y != hiddenPosition.y*/)
68 ); 68 );