Commit bc31cbb5e574af6938737bb223cff6ad7151fff6

Authored by Icaro Magalhaes
1 parent f14f5412

Creates logger; Fix avatar rotation when hidden; Increases panels speed; Fix tra…

…nslate scrren input; Adds bundle version as hash of state; Process invalid characters; Adds frame wait on each loaded animation; Adds back button functionality on panels
Assets/InputResizer.cs 0 → 100644
... ... @@ -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/InputResizer.cs.meta 0 → 100644
... ... @@ -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/Logger.cs 0 → 100644
... ... @@ -0,0 +1,25 @@
  1 +using UnityEngine;
  2 +using System.Collections;
  3 +using UnityEngine.UI;
  4 +
  5 +public class Logger : MonoBehaviour {
  6 +
  7 + public static Logger instance;
  8 +
  9 + private Text textObj;
  10 +
  11 + void Start ()
  12 + {
  13 + Logger.instance = this;
  14 + this.textObj = this.gameObject.GetComponent<Text>();
  15 + }
  16 +
  17 + public static void Log(string text)
  18 + {
  19 + if (Logger.instance != null)
  20 + Logger.instance.textObj.text = text + "\n" + Logger.instance.textObj.text;
  21 +
  22 + Debug.Log(text);
  23 + }
  24 +
  25 +}
... ...
Assets/Logger.cs.meta 0 → 100644
... ... @@ -0,0 +1,12 @@
  1 +fileFormatVersion: 2
  2 +guid: a9cc0ccbda0accb4ea816c19265b622f
  3 +timeCreated: 1475670486
  4 +licenseType: Pro
  5 +MonoImporter:
  6 + serializedVersion: 2
  7 + defaultReferences: []
  8 + executionOrder: 0
  9 + icon: {instanceID: 0}
  10 + userData:
  11 + assetBundleName:
  12 + assetBundleVariant:
... ...
Assets/Plugins/Android/AndroidManifest.xml
1 1 <?xml version="1.0" encoding="utf-8"?>
2   -<manifest xmlns:android="http://schemas.android.com/apk/res/android"
  2 +<manifest
  3 + xmlns:android="http://schemas.android.com/apk/res/android"
3 4 package="com.lavid.vlibras"
4 5 android:versionCode="1"
5 6 android:versionName="1.0">
... ... @@ -7,7 +8,8 @@
7 8 <application
8 9 android:icon="@drawable/app_icon"
9 10 android:label="@string/app_name"
10   - android:screenOrientation="portrait">
  11 + android:screenOrientation="portrait"
  12 + android:theme="@android:style/Theme.NoTitleBar.Fullscreen">
11 13 <activity android:name=".MainActivity"
12 14 android:label="@string/app_name"
13 15 android:screenOrientation="portrait"
... ...
Assets/Prefabs/RegionListItemBUG.prefab
... ... @@ -1,395 +0,0 @@
1   -%YAML 1.1
2   -%TAG !u! tag:unity3d.com,2011:
3   ---- !u!1001 &100100000
4   -Prefab:
5   - m_ObjectHideFlags: 1
6   - serializedVersion: 2
7   - m_Modification:
8   - m_TransformParent: {fileID: 0}
9   - m_Modifications: []
10   - m_RemovedComponents: []
11   - m_ParentPrefab: {fileID: 0}
12   - m_RootGameObject: {fileID: 1000011522370366}
13   - m_IsPrefabParent: 1
14   ---- !u!1 &1000010373742128
15   -GameObject:
16   - m_ObjectHideFlags: 1
17   - m_PrefabParentObject: {fileID: 0}
18   - m_PrefabInternal: {fileID: 100100000}
19   - serializedVersion: 4
20   - m_Component:
21   - - 224: {fileID: 224000012481284384}
22   - - 222: {fileID: 222000011952333186}
23   - - 114: {fileID: 114000012897102590}
24   - m_Layer: 5
25   - m_Name: background
26   - m_TagString: Untagged
27   - m_Icon: {fileID: 0}
28   - m_NavMeshLayer: 0
29   - m_StaticEditorFlags: 0
30   - m_IsActive: 1
31   ---- !u!1 &1000011436348046
32   -GameObject:
33   - m_ObjectHideFlags: 0
34   - m_PrefabParentObject: {fileID: 0}
35   - m_PrefabInternal: {fileID: 100100000}
36   - serializedVersion: 4
37   - m_Component:
38   - - 224: {fileID: 224000012255163678}
39   - - 114: {fileID: 114000010304865468}
40   - - 222: {fileID: 222000011868680972}
41   - m_Layer: 5
42   - m_Name: toggle
43   - m_TagString: Untagged
44   - m_Icon: {fileID: 0}
45   - m_NavMeshLayer: 0
46   - m_StaticEditorFlags: 0
47   - m_IsActive: 1
48   ---- !u!1 &1000011522370366
49   -GameObject:
50   - m_ObjectHideFlags: 0
51   - m_PrefabParentObject: {fileID: 0}
52   - m_PrefabInternal: {fileID: 100100000}
53   - serializedVersion: 4
54   - m_Component:
55   - - 224: {fileID: 224000013941800638}
56   - - 222: {fileID: 222000011392641288}
57   - - 114: {fileID: 114000010093475658}
58   - - 114: {fileID: 114000014268622316}
59   - m_Layer: 5
60   - m_Name: RegionListItemBUG
61   - m_TagString: clone
62   - m_Icon: {fileID: 0}
63   - m_NavMeshLayer: 0
64   - m_StaticEditorFlags: 0
65   - m_IsActive: 1
66   ---- !u!1 &1000013374507892
67   -GameObject:
68   - m_ObjectHideFlags: 1
69   - m_PrefabParentObject: {fileID: 0}
70   - m_PrefabInternal: {fileID: 100100000}
71   - serializedVersion: 4
72   - m_Component:
73   - - 224: {fileID: 224000012350489634}
74   - - 222: {fileID: 222000011686311944}
75   - - 114: {fileID: 114000013633524306}
76   - m_Layer: 5
77   - m_Name: label
78   - m_TagString: Untagged
79   - m_Icon: {fileID: 0}
80   - m_NavMeshLayer: 0
81   - m_StaticEditorFlags: 0
82   - m_IsActive: 1
83   ---- !u!1 &1000014261141774
84   -GameObject:
85   - m_ObjectHideFlags: 1
86   - m_PrefabParentObject: {fileID: 0}
87   - m_PrefabInternal: {fileID: 100100000}
88   - serializedVersion: 4
89   - m_Component:
90   - - 224: {fileID: 224000012725977924}
91   - - 222: {fileID: 222000013791928604}
92   - - 114: {fileID: 114000010846658588}
93   - m_Layer: 5
94   - m_Name: checkmark
95   - m_TagString: Untagged
96   - m_Icon: {fileID: 0}
97   - m_NavMeshLayer: 0
98   - m_StaticEditorFlags: 0
99   - m_IsActive: 1
100   ---- !u!114 &114000010093475658
101   -MonoBehaviour:
102   - m_ObjectHideFlags: 1
103   - m_PrefabParentObject: {fileID: 0}
104   - m_PrefabInternal: {fileID: 100100000}
105   - m_GameObject: {fileID: 1000011522370366}
106   - m_Enabled: 1
107   - m_EditorHideFlags: 0
108   - m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
109   - m_Name:
110   - m_EditorClassIdentifier:
111   - m_IgnoreLayout: 0
112   - m_MinWidth: -1
113   - m_MinHeight: 84
114   - m_PreferredWidth: -1
115   - m_PreferredHeight: -1
116   - m_FlexibleWidth: -1
117   - m_FlexibleHeight: -1
118   ---- !u!114 &114000010304865468
119   -MonoBehaviour:
120   - m_ObjectHideFlags: 1
121   - m_PrefabParentObject: {fileID: 0}
122   - m_PrefabInternal: {fileID: 100100000}
123   - m_GameObject: {fileID: 1000011436348046}
124   - m_Enabled: 1
125   - m_EditorHideFlags: 0
126   - m_Script: {fileID: 2109663825, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
127   - m_Name:
128   - m_EditorClassIdentifier:
129   - m_Navigation:
130   - m_Mode: 3
131   - m_SelectOnUp: {fileID: 0}
132   - m_SelectOnDown: {fileID: 0}
133   - m_SelectOnLeft: {fileID: 0}
134   - m_SelectOnRight: {fileID: 0}
135   - m_Transition: 1
136   - m_Colors:
137   - m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
138   - m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
139   - m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
140   - m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
141   - m_ColorMultiplier: 1
142   - m_FadeDuration: 0.1
143   - m_SpriteState:
144   - m_HighlightedSprite: {fileID: 0}
145   - m_PressedSprite: {fileID: 0}
146   - m_DisabledSprite: {fileID: 0}
147   - m_AnimationTriggers:
148   - m_NormalTrigger: Normal
149   - m_HighlightedTrigger: Highlighted
150   - m_PressedTrigger: Pressed
151   - m_DisabledTrigger: Disabled
152   - m_Interactable: 1
153   - m_TargetGraphic: {fileID: 114000012897102590}
154   - toggleTransition: 1
155   - graphic: {fileID: 114000010846658588}
156   - m_Group: {fileID: 0}
157   - onValueChanged:
158   - m_PersistentCalls:
159   - m_Calls:
160   - - m_Target: {fileID: 0}
161   - m_MethodName:
162   - m_Mode: 1
163   - m_Arguments:
164   - m_ObjectArgument: {fileID: 0}
165   - m_ObjectArgumentAssemblyTypeName:
166   - m_IntArgument: 0
167   - m_FloatArgument: 0
168   - m_StringArgument:
169   - m_BoolArgument: 0
170   - m_CallState: 2
171   - m_TypeName: UnityEngine.UI.Toggle+ToggleEvent, UnityEngine.UI, Version=1.0.0.0,
172   - Culture=neutral, PublicKeyToken=null
173   - m_IsOn: 0
174   ---- !u!114 &114000010846658588
175   -MonoBehaviour:
176   - m_ObjectHideFlags: 1
177   - m_PrefabParentObject: {fileID: 0}
178   - m_PrefabInternal: {fileID: 100100000}
179   - m_GameObject: {fileID: 1000014261141774}
180   - m_Enabled: 1
181   - m_EditorHideFlags: 0
182   - m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
183   - m_Name:
184   - m_EditorClassIdentifier:
185   - m_Material: {fileID: 0}
186   - m_Color: {r: 1, g: 1, b: 1, a: 1}
187   - m_RaycastTarget: 1
188   - m_OnCullStateChanged:
189   - m_PersistentCalls:
190   - m_Calls: []
191   - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
192   - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
193   - m_Sprite: {fileID: 21300000, guid: 027c7230cdcce254eb1615c2708a1609, type: 3}
194   - m_Type: 0
195   - m_PreserveAspect: 0
196   - m_FillCenter: 1
197   - m_FillMethod: 4
198   - m_FillAmount: 1
199   - m_FillClockwise: 1
200   - m_FillOrigin: 0
201   ---- !u!114 &114000012897102590
202   -MonoBehaviour:
203   - m_ObjectHideFlags: 1
204   - m_PrefabParentObject: {fileID: 0}
205   - m_PrefabInternal: {fileID: 100100000}
206   - m_GameObject: {fileID: 1000010373742128}
207   - m_Enabled: 1
208   - m_EditorHideFlags: 0
209   - m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
210   - m_Name:
211   - m_EditorClassIdentifier:
212   - m_Material: {fileID: 0}
213   - m_Color: {r: 0, g: 0.7931032, b: 1, a: 1}
214   - m_RaycastTarget: 1
215   - m_OnCullStateChanged:
216   - m_PersistentCalls:
217   - m_Calls: []
218   - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
219   - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
220   - m_Sprite: {fileID: 21300000, guid: d210b63ba2d5c22499f56e30b3ff5402, type: 3}
221   - m_Type: 0
222   - m_PreserveAspect: 1
223   - m_FillCenter: 1
224   - m_FillMethod: 4
225   - m_FillAmount: 1
226   - m_FillClockwise: 1
227   - m_FillOrigin: 0
228   ---- !u!114 &114000013633524306
229   -MonoBehaviour:
230   - m_ObjectHideFlags: 1
231   - m_PrefabParentObject: {fileID: 0}
232   - m_PrefabInternal: {fileID: 100100000}
233   - m_GameObject: {fileID: 1000013374507892}
234   - m_Enabled: 1
235   - m_EditorHideFlags: 0
236   - m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
237   - m_Name:
238   - m_EditorClassIdentifier:
239   - m_Material: {fileID: 0}
240   - m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
241   - m_RaycastTarget: 1
242   - m_OnCullStateChanged:
243   - m_PersistentCalls:
244   - m_Calls: []
245   - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
246   - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
247   - m_FontData:
248   - m_Font: {fileID: 12800000, guid: 1d71629ab414fbe4a9015401607e12a6, type: 3}
249   - m_FontSize: 15
250   - m_FontStyle: 0
251   - m_BestFit: 1
252   - m_MinSize: 1
253   - m_MaxSize: 40
254   - m_Alignment: 3
255   - m_AlignByGeometry: 0
256   - m_RichText: 1
257   - m_HorizontalOverflow: 0
258   - m_VerticalOverflow: 0
259   - m_LineSpacing: 1
260   - m_Text: "Padr\xE3o Nacional"
261   ---- !u!114 &114000014268622316
262   -MonoBehaviour:
263   - m_ObjectHideFlags: 1
264   - m_PrefabParentObject: {fileID: 0}
265   - m_PrefabInternal: {fileID: 100100000}
266   - m_GameObject: {fileID: 1000011522370366}
267   - m_Enabled: 1
268   - m_EditorHideFlags: 0
269   - m_Script: {fileID: 11500000, guid: 716de37bfea3f0543877f7c94f4409e9, type: 3}
270   - m_Name:
271   - m_EditorClassIdentifier:
272   ---- !u!222 &222000011392641288
273   -CanvasRenderer:
274   - m_ObjectHideFlags: 1
275   - m_PrefabParentObject: {fileID: 0}
276   - m_PrefabInternal: {fileID: 100100000}
277   - m_GameObject: {fileID: 1000011522370366}
278   ---- !u!222 &222000011686311944
279   -CanvasRenderer:
280   - m_ObjectHideFlags: 1
281   - m_PrefabParentObject: {fileID: 0}
282   - m_PrefabInternal: {fileID: 100100000}
283   - m_GameObject: {fileID: 1000013374507892}
284   ---- !u!222 &222000011868680972
285   -CanvasRenderer:
286   - m_ObjectHideFlags: 1
287   - m_PrefabParentObject: {fileID: 0}
288   - m_PrefabInternal: {fileID: 100100000}
289   - m_GameObject: {fileID: 1000011436348046}
290   ---- !u!222 &222000011952333186
291   -CanvasRenderer:
292   - m_ObjectHideFlags: 1
293   - m_PrefabParentObject: {fileID: 0}
294   - m_PrefabInternal: {fileID: 100100000}
295   - m_GameObject: {fileID: 1000010373742128}
296   ---- !u!222 &222000013791928604
297   -CanvasRenderer:
298   - m_ObjectHideFlags: 1
299   - m_PrefabParentObject: {fileID: 0}
300   - m_PrefabInternal: {fileID: 100100000}
301   - m_GameObject: {fileID: 1000014261141774}
302   ---- !u!224 &224000012255163678
303   -RectTransform:
304   - m_ObjectHideFlags: 1
305   - m_PrefabParentObject: {fileID: 0}
306   - m_PrefabInternal: {fileID: 100100000}
307   - m_GameObject: {fileID: 1000011436348046}
308   - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
309   - m_LocalPosition: {x: 0, y: 0, z: 0}
310   - m_LocalScale: {x: 1, y: 1, z: 1}
311   - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
312   - m_Children:
313   - - {fileID: 224000012481284384}
314   - - {fileID: 224000012350489634}
315   - m_Father: {fileID: 224000013941800638}
316   - m_RootOrder: 0
317   - m_AnchorMin: {x: 0, y: 0}
318   - m_AnchorMax: {x: 1, y: 1}
319   - m_AnchoredPosition: {x: 0, y: 0}
320   - m_SizeDelta: {x: 0, y: 0}
321   - m_Pivot: {x: 0.5, y: 0.5}
322   ---- !u!224 &224000012350489634
323   -RectTransform:
324   - m_ObjectHideFlags: 1
325   - m_PrefabParentObject: {fileID: 0}
326   - m_PrefabInternal: {fileID: 100100000}
327   - m_GameObject: {fileID: 1000013374507892}
328   - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
329   - m_LocalPosition: {x: 0, y: 0, z: 0}
330   - m_LocalScale: {x: 1, y: 1, z: 1}
331   - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
332   - m_Children: []
333   - m_Father: {fileID: 224000012255163678}
334   - m_RootOrder: 1
335   - m_AnchorMin: {x: 0.11, y: 0.1}
336   - m_AnchorMax: {x: 1, y: 0.9}
337   - m_AnchoredPosition: {x: 0, y: 0}
338   - m_SizeDelta: {x: 0, y: 0}
339   - m_Pivot: {x: 0.5, y: 0.5}
340   ---- !u!224 &224000012481284384
341   -RectTransform:
342   - m_ObjectHideFlags: 1
343   - m_PrefabParentObject: {fileID: 0}
344   - m_PrefabInternal: {fileID: 100100000}
345   - m_GameObject: {fileID: 1000010373742128}
346   - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
347   - m_LocalPosition: {x: 0, y: 0, z: 0}
348   - m_LocalScale: {x: 1, y: 1, z: 1}
349   - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
350   - m_Children:
351   - - {fileID: 224000012725977924}
352   - m_Father: {fileID: 224000012255163678}
353   - m_RootOrder: 0
354   - m_AnchorMin: {x: 0.01, y: 0}
355   - m_AnchorMax: {x: 0.07, y: 1}
356   - m_AnchoredPosition: {x: 0, y: 0}
357   - m_SizeDelta: {x: 0, y: 0}
358   - m_Pivot: {x: 0, y: 0.5}
359   ---- !u!224 &224000012725977924
360   -RectTransform:
361   - m_ObjectHideFlags: 1
362   - m_PrefabParentObject: {fileID: 0}
363   - m_PrefabInternal: {fileID: 100100000}
364   - m_GameObject: {fileID: 1000014261141774}
365   - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
366   - m_LocalPosition: {x: 0, y: 0, z: 0}
367   - m_LocalScale: {x: 1, y: 1, z: 1}
368   - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
369   - m_Children: []
370   - m_Father: {fileID: 224000012481284384}
371   - m_RootOrder: 0
372   - m_AnchorMin: {x: 0.5, y: 0.5}
373   - m_AnchorMax: {x: 0.5, y: 0.5}
374   - m_AnchoredPosition: {x: 0, y: 0}
375   - m_SizeDelta: {x: 20, y: 20}
376   - m_Pivot: {x: 0.5, y: 0.5}
377   ---- !u!224 &224000013941800638
378   -RectTransform:
379   - m_ObjectHideFlags: 1
380   - m_PrefabParentObject: {fileID: 0}
381   - m_PrefabInternal: {fileID: 100100000}
382   - m_GameObject: {fileID: 1000011522370366}
383   - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
384   - m_LocalPosition: {x: 0, y: 0, z: 0}
385   - m_LocalScale: {x: 1, y: 1, z: 1}
386   - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
387   - m_Children:
388   - - {fileID: 224000012255163678}
389   - m_Father: {fileID: 0}
390   - m_RootOrder: 0
391   - m_AnchorMin: {x: 0, y: 0}
392   - m_AnchorMax: {x: 0, y: 0}
393   - m_AnchoredPosition: {x: 0, y: 0}
394   - m_SizeDelta: {x: 0, y: 0}
395   - m_Pivot: {x: 0.5, y: 0.5}
Assets/Prefabs/RegionListItemBUG.prefab.meta
... ... @@ -1,8 +0,0 @@
1   -fileFormatVersion: 2
2   -guid: f08bb9ca6880da94983c46c6cbed592c
3   -timeCreated: 1475170318
4   -licenseType: Free
5   -NativeFormatImporter:
6   - userData:
7   - assetBundleName:
8   - assetBundleVariant:
Assets/Region.cs
... ... @@ -4,7 +4,6 @@ using System.Collections;
4 4 public class Region : MonoBehaviour {
5 5  
6 6 public GameObject checkmark;
7   - private bool active = false;
8 7 private string path = "";
9 8  
10 9 public string Path
... ...
Assets/RegionSelector.cs
... ... @@ -9,39 +9,40 @@ public class RegionSelector : MonoBehaviour {
9 9 private readonly Dictionary<string, string> regions = new Dictionary<string, string> {
10 10  
11 11 { "Padrão Nacional", "" },
12   - { "Acre", "/AC" },
13   - { "Alagoas", "/AL" },
14   - { "Amapá", "/AP" },
15   - { "Amazonas", "/AM" },
16   - { "Bahia", "/BA" },
17   - { "Ceará", "/CE" },
18   - { "Distrito Federal", "/DF" },
19   - { "Espírito Santo", "/ES" },
20   - { "Goiás", "/GO" },
21   - { "Maranhão", "/MA" },
22   - { "Mato Grosso", "/MT" },
23   - { "Mato Grosso do Sul", "/MS" },
24   - { "Minas Gerais", "/MG" },
25   - { "Pará", "/PA" },
26   - { "Paraíba", "/PB" },
27   - { "Paraná", "/PR"},
28   - { "Pernambuco", "/PE" },
29   - { "Piauí", "/PI" },
30   - { "Rio de Janeiro", "/RJ" },
31   - { "Rio Grande do Norte", "/RN" },
32   - { "Rio Grande do Sul", "/RS" },
33   - { "Rondônia", "/RO" },
34   - { "Roraima", "/RR" },
35   - { "Santa Catarina", "/SC" },
36   - { "São Paulo", "/SP" },
37   - { "Sergipe", "/SE" },
38   - { "Tocantins", "/TO" }
  12 + { "Acre", "AC/" },
  13 + { "Alagoas", "AL/" },
  14 + { "Amapá", "AP/" },
  15 + { "Amazonas", "AM/" },
  16 + { "Bahia", "BA/" },
  17 + { "Ceará", "CE/" },
  18 + { "Distrito Federal", "DF/" },
  19 + { "Espírito Santo", "ES/" },
  20 + { "Goiás", "GO/" },
  21 + { "Maranhão", "MA/" },
  22 + { "Mato Grosso", "MT/" },
  23 + { "Mato Grosso do Sul", "MS/" },
  24 + { "Minas Gerais", "MG/" },
  25 + { "Pará", "PA/" },
  26 + { "Paraíba", "PB/" },
  27 + { "Paraná", "PR/"},
  28 + { "Pernambuco", "PE/" },
  29 + { "Piauí", "PI/" },
  30 + { "Rio de Janeiro", "RJ/" },
  31 + { "Rio Grande do Norte", "RN/" },
  32 + { "Rio Grande do Sul", "RS/" },
  33 + { "Rondônia", "RO/" },
  34 + { "Roraima", "RR/" },
  35 + { "Santa Catarina", "SC/" },
  36 + { "São Paulo", "SP/" },
  37 + { "Sergipe", "SE/" },
  38 + { "Tocantins", "TO/" }
39 39  
40 40 };
41 41  
42 42 public PlayerManager manager;
43 43 public GameObject list;
44 44 public GameObject SampleItem;
  45 + public Text label;
45 46  
46 47 private Region activeItem = null;
47 48 private Region selectedItem = null;
... ... @@ -62,7 +63,6 @@ public class RegionSelector : MonoBehaviour {
62 63  
63 64 if (this.activeItem == null)
64 65 {
65   - Debug.Log("Selecting " + item);
66 66 this.activeItem = region;
67 67 this.selectedItem = region;
68 68 region.select(true);
... ... @@ -86,6 +86,16 @@ public class RegionSelector : MonoBehaviour {
86 86 {
87 87 this.activeItem = this.selectedItem;
88 88 this.manager.setRegion(this.activeItem.Path);
  89 + this.manager.clearLoadedBundles();
  90 +
  91 + if (selectedItem.Path == "")
  92 + {
  93 + this.label.text = "BR";
  94 + }else
  95 + {
  96 + this.label.text = selectedItem.Path.Replace('/', ' ');
  97 +
  98 + }
89 99 }
90 100  
91 101 }
... ...
Assets/Scenes/Main.unity
... ... @@ -1032,7 +1032,7 @@ RectTransform:
1032 1032 - {fileID: 1935189154}
1033 1033 - {fileID: 951727302}
1034 1034 m_Father: {fileID: 1414104007}
1035   - m_RootOrder: 3
  1035 + m_RootOrder: 4
1036 1036 m_AnchorMin: {x: 0, y: 0}
1037 1037 m_AnchorMax: {x: 1, y: 1}
1038 1038 m_AnchoredPosition: {x: 0, y: 0}
... ... @@ -1415,9 +1415,7 @@ MonoBehaviour:
1415 1415 visible: 0
1416 1416 slideOnX: 1
1417 1417 toLeft: 1
1418   - slideOnY: 0
1419   - toTop: 0
1420   - speed: 52
  1418 + speed: 0.15
1421 1419 disableWhenHidden: 1
1422 1420 --- !u!114 &265917592
1423 1421 MonoBehaviour:
... ... @@ -1891,10 +1889,10 @@ RectTransform:
1891 1889 m_Children: []
1892 1890 m_Father: {fileID: 1763219242}
1893 1891 m_RootOrder: 1
1894   - m_AnchorMin: {x: 0, y: 0.31}
1895   - m_AnchorMax: {x: 1, y: 0.69}
  1892 + m_AnchorMin: {x: 0.16, y: 0.31}
  1893 + m_AnchorMax: {x: 0.84, y: 0.69}
1896 1894 m_AnchoredPosition: {x: 0, y: 0}
1897   - m_SizeDelta: {x: -108, y: 0}
  1895 + m_SizeDelta: {x: 0, y: 0}
1898 1896 m_Pivot: {x: 0.5, y: 0.5}
1899 1897 --- !u!114 &376314168
1900 1898 MonoBehaviour:
... ... @@ -1925,7 +1923,7 @@ MonoBehaviour:
1925 1923 m_Alignment: 4
1926 1924 m_AlignByGeometry: 0
1927 1925 m_RichText: 0
1928   - m_HorizontalOverflow: 0
  1926 + m_HorizontalOverflow: 1
1929 1927 m_VerticalOverflow: 0
1930 1928 m_LineSpacing: 1
1931 1929 m_Text: "Configura\xE7\xF5es"
... ... @@ -2362,6 +2360,73 @@ CanvasRenderer:
2362 2360 type: 2}
2363 2361 m_PrefabInternal: {fileID: 0}
2364 2362 m_GameObject: {fileID: 440527253}
  2363 +--- !u!1 &452885187
  2364 +GameObject:
  2365 + m_ObjectHideFlags: 0
  2366 + m_PrefabParentObject: {fileID: 0}
  2367 + m_PrefabInternal: {fileID: 0}
  2368 + serializedVersion: 4
  2369 + m_Component:
  2370 + - 224: {fileID: 452885188}
  2371 + - 222: {fileID: 452885190}
  2372 + - 114: {fileID: 452885189}
  2373 + m_Layer: 5
  2374 + m_Name: background
  2375 + m_TagString: Untagged
  2376 + m_Icon: {fileID: 0}
  2377 + m_NavMeshLayer: 0
  2378 + m_StaticEditorFlags: 0
  2379 + m_IsActive: 1
  2380 +--- !u!224 &452885188
  2381 +RectTransform:
  2382 + m_ObjectHideFlags: 0
  2383 + m_PrefabParentObject: {fileID: 0}
  2384 + m_PrefabInternal: {fileID: 0}
  2385 + m_GameObject: {fileID: 452885187}
  2386 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
  2387 + m_LocalPosition: {x: 0, y: 0, z: 0}
  2388 + m_LocalScale: {x: 1, y: 1, z: 1}
  2389 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
  2390 + m_Children: []
  2391 + m_Father: {fileID: 870029354}
  2392 + m_RootOrder: 0
  2393 + m_AnchorMin: {x: 0, y: -0.5}
  2394 + m_AnchorMax: {x: 1, y: 1.5}
  2395 + m_AnchoredPosition: {x: 0, y: 0}
  2396 + m_SizeDelta: {x: 0, y: 0}
  2397 + m_Pivot: {x: 0.5, y: 0.5}
  2398 +--- !u!114 &452885189
  2399 +MonoBehaviour:
  2400 + m_ObjectHideFlags: 0
  2401 + m_PrefabParentObject: {fileID: 0}
  2402 + m_PrefabInternal: {fileID: 0}
  2403 + m_GameObject: {fileID: 452885187}
  2404 + m_Enabled: 1
  2405 + m_EditorHideFlags: 0
  2406 + m_Script: {fileID: -98529514, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
  2407 + m_Name:
  2408 + m_EditorClassIdentifier:
  2409 + m_Material: {fileID: 0}
  2410 + m_Color: {r: 1, g: 1, b: 1, a: 0}
  2411 + m_RaycastTarget: 1
  2412 + m_OnCullStateChanged:
  2413 + m_PersistentCalls:
  2414 + m_Calls: []
  2415 + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
  2416 + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
  2417 + m_Texture: {fileID: 0}
  2418 + m_UVRect:
  2419 + serializedVersion: 2
  2420 + x: 0
  2421 + y: 0
  2422 + width: 1
  2423 + height: 1
  2424 +--- !u!222 &452885190
  2425 +CanvasRenderer:
  2426 + m_ObjectHideFlags: 0
  2427 + m_PrefabParentObject: {fileID: 0}
  2428 + m_PrefabInternal: {fileID: 0}
  2429 + m_GameObject: {fileID: 452885187}
2365 2430 --- !u!1 &457437673
2366 2431 GameObject:
2367 2432 m_ObjectHideFlags: 0
... ... @@ -2418,8 +2483,8 @@ MonoBehaviour:
2418 2483 m_Transition: 1
2419 2484 m_Colors:
2420 2485 m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
2421   - m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
2422   - m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
  2486 + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 0.353}
  2487 + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.453}
2423 2488 m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
2424 2489 m_ColorMultiplier: 1
2425 2490 m_FadeDuration: 0.1
... ... @@ -2433,31 +2498,20 @@ MonoBehaviour:
2433 2498 m_PressedTrigger: Pressed
2434 2499 m_DisabledTrigger: Disabled
2435 2500 m_Interactable: 1
2436   - m_TargetGraphic: {fileID: 0}
  2501 + m_TargetGraphic: {fileID: 452885189}
2437 2502 m_OnClick:
2438 2503 m_PersistentCalls:
2439 2504 m_Calls:
2440   - - m_Target: {fileID: 265917591}
2441   - m_MethodName: setVisible
2442   - m_Mode: 6
2443   - m_Arguments:
2444   - m_ObjectArgument: {fileID: 0}
2445   - m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
2446   - m_IntArgument: 0
2447   - m_FloatArgument: 0
2448   - m_StringArgument:
2449   - m_BoolArgument: 0
2450   - m_CallState: 2
2451   - - m_Target: {fileID: 1826236683}
2452   - m_MethodName: fade
2453   - m_Mode: 6
  2505 + - m_Target: {fileID: 2131993094}
  2506 + m_MethodName: closeSettingsPanel
  2507 + m_Mode: 1
2454 2508 m_Arguments:
2455 2509 m_ObjectArgument: {fileID: 0}
2456 2510 m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
2457 2511 m_IntArgument: 0
2458 2512 m_FloatArgument: 0
2459 2513 m_StringArgument:
2460   - m_BoolArgument: 0
  2514 + m_BoolArgument: 1
2461 2515 m_CallState: 2
2462 2516 m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
2463 2517 Culture=neutral, PublicKeyToken=null
... ... @@ -3052,53 +3106,53 @@ Animation:
3052 3106 m_GameObject: {fileID: 535548070}
3053 3107 m_Enabled: 1
3054 3108 serializedVersion: 3
3055   - m_Animation: {fileID: 7400000, guid: 51db1b84405e8df46945a2444bc2f5ca, type: 2}
  3109 + m_Animation: {fileID: 7400000, guid: 2411a6d385ad1a44ba0d38dba4ab34bd, type: 2}
3056 3110 m_Animations:
3057   - - {fileID: 7400000, guid: 815604012efc9a749a0f6ce23370945b, type: 2}
3058   - - {fileID: 7400000, guid: 909aa371266394f4ba7d293a01eaf06d, type: 2}
3059   - - {fileID: 7400000, guid: db7d27d1975560b41926077b900162b2, type: 2}
3060   - - {fileID: 7400000, guid: f25f075210a14cc429cea16706e7e593, type: 2}
3061   - - {fileID: 7400000, guid: c93c8d73f523b2a4b8b2c153f9117c57, type: 2}
3062   - - {fileID: 7400000, guid: 51db1b84405e8df46945a2444bc2f5ca, type: 2}
3063   - - {fileID: 7400000, guid: 694e9835c00a4264f98a06b4a7c03e7e, type: 2}
3064   - - {fileID: 7400000, guid: ed58a7550e488424bbf636153c9ba873, type: 2}
3065   - - {fileID: 7400000, guid: 453795a5a58dd3e499c6f39ee800a651, type: 2}
3066   - - {fileID: 7400000, guid: 1e3921c5606a9f14fab885646f3024b4, type: 2}
3067   - - {fileID: 7400000, guid: d7c82c265ba37004fa224beb16b6eb6a, type: 2}
3068   - - {fileID: 7400000, guid: 33d88aa6127ef4544b1464efb1a4b8b4, type: 2}
3069   - - {fileID: 7400000, guid: bac84647ceba43c449facd3739af9532, type: 2}
3070   - - {fileID: 7400000, guid: bb47b057b99c58744a1f4c6426e54bf0, type: 2}
3071   - - {fileID: 7400000, guid: 519d6257975db7242adfcc77eda840ce, type: 2}
3072   - - {fileID: 7400000, guid: 39aef458d59efdc4eabe7bf8fe84aa3d, type: 2}
3073   - - {fileID: 7400000, guid: d69acb984db4ec240811f153c3681e77, type: 2}
3074   - - {fileID: 7400000, guid: ff6f47a8b8a373249973461d314804c3, type: 2}
3075   - - {fileID: 7400000, guid: c59e54a9316310d4986932585b259cfa, type: 2}
3076   - - {fileID: 7400000, guid: 95b8dd0a735a8da4eb4317afd7b1360e, type: 2}
3077   - - {fileID: 7400000, guid: 7d0e3d3a88ed1474fb2715ff40dd2d3f, type: 2}
3078   - - {fileID: 7400000, guid: 84d7a3bab2c1f454ea34f3bfc0c88e20, type: 2}
3079   - - {fileID: 7400000, guid: da800fbac3523964ab14795c2d42078f, type: 2}
3080   - - {fileID: 7400000, guid: 39d12ceaff558884fbb687f8cf4b72cd, type: 2}
3081   - - {fileID: 7400000, guid: d73e0bfa4521def48b7fe69e30a97060, type: 2}
3082   - - {fileID: 7400000, guid: 58b1302b52b594947ae8f789a949c9c1, type: 2}
3083   - - {fileID: 7400000, guid: 15108c4b33ff3a44ba20c42e6ec5ade5, type: 2}
3084   - - {fileID: 7400000, guid: 2332735bc385f3b4aba797b26dc7515c, type: 2}
3085   - - {fileID: 7400000, guid: e5de295b0d539b94188fa1cc463ac351, type: 2}
3086   - - {fileID: 7400000, guid: 79851aeb181d51841b407feec3b40ab1, type: 2}
3087   - - {fileID: 7400000, guid: 4854da5cea686064cb1f86a1f02fc84c, type: 2}
3088   - - {fileID: 7400000, guid: 91de266c975472840a84e4e5ca8f426d, type: 2}
3089   - - {fileID: 7400000, guid: 946297ac02c155f4bb656f25b8dc4167, type: 2}
3090   - - {fileID: 7400000, guid: 3c90722d008ebdd46a9c786d9c6ef666, type: 2}
3091   - - {fileID: 7400000, guid: 4135a09db8e2f254e9ee229c9e49a6f6, type: 2}
3092   - - {fileID: 7400000, guid: b42189bd74abd034dbd4b4326e3d2da2, type: 2}
3093   - - {fileID: 7400000, guid: 2dfa71ed53334ab4f80f5fe29765d273, type: 2}
3094   - - {fileID: 7400000, guid: 179c974ec8dee0b43a087e7b88147a0d, type: 2}
3095   - - {fileID: 7400000, guid: 171564cea512d41439a87ed1a0f78b25, type: 2}
3096   - - {fileID: 7400000, guid: ca6d65de3ae2e4e418a53a80eb8b6bc2, type: 2}
3097   - - {fileID: 7400000, guid: d2b4405ffb25d3f448440bb652f442bd, type: 2}
3098   - - {fileID: 7400000, guid: 2eec476f24a99b44c8c47d356dbe0a46, type: 2}
3099   - - {fileID: 7400000, guid: 6fa1f48f9df657b4ab514a872880bd51, type: 2}
3100   - - {fileID: 7400000, guid: d8cf82af413d0774b850f67555bcae35, type: 2}
3101   - - {fileID: 7400000, guid: 6c036cdff369fb241a283d124626e635, type: 2}
  3111 + - {fileID: 7400000, guid: ddcd1981236a36348bc816e65c1678d1, type: 2}
  3112 + - {fileID: 7400000, guid: 9413ea9122513604a8929a9f4bf4be51, type: 2}
  3113 + - {fileID: 7400000, guid: 7acdc7f1247d991449a7e890f8fc12dc, type: 2}
  3114 + - {fileID: 7400000, guid: 3252d8c2bc4ff864ea67956fa3d3c538, type: 2}
  3115 + - {fileID: 7400000, guid: 127a6503b4e31514ca9ded619d556c49, type: 2}
  3116 + - {fileID: 7400000, guid: 1d7a65536341b5a4599722d7bbee7f6d, type: 2}
  3117 + - {fileID: 7400000, guid: bf54eb6377302a94ca7e997abc0c0c1d, type: 2}
  3118 + - {fileID: 7400000, guid: be2b9b938eaa20b4f806abcc6bbf332c, type: 2}
  3119 + - {fileID: 7400000, guid: 9d7e3bc3c304f164f90c818effd135b9, type: 2}
  3120 + - {fileID: 7400000, guid: 2411a6d385ad1a44ba0d38dba4ab34bd, type: 2}
  3121 + - {fileID: 7400000, guid: f0cdda14b320f8647a5d7026489a5af9, type: 2}
  3122 + - {fileID: 7400000, guid: 938686440df5af3498c5277529569881, type: 2}
  3123 + - {fileID: 7400000, guid: ee03768448a708c47a178c0bcb215cef, type: 2}
  3124 + - {fileID: 7400000, guid: 78839d8488af17f4e96e95e300ec2d5a, type: 2}
  3125 + - {fileID: 7400000, guid: 9e2fcce41ab69504f9eee1c995e326ca, type: 2}
  3126 + - {fileID: 7400000, guid: 89b83c453e89f134fac24d95502d7531, type: 2}
  3127 + - {fileID: 7400000, guid: ee7a9c65d2f1d3b438b45d8ae61aa315, type: 2}
  3128 + - {fileID: 7400000, guid: 49b5c595463d2e14eab17ff7ed55d965, type: 2}
  3129 + - {fileID: 7400000, guid: db3b82a565a75ce4fbfeb0bff6b80b94, type: 2}
  3130 + - {fileID: 7400000, guid: badb22c558504be438a5e3dd2ec10007, type: 2}
  3131 + - {fileID: 7400000, guid: 4e33b946abeff8149bcfc858d767b4f3, type: 2}
  3132 + - {fileID: 7400000, guid: bed17a769da3e914487da705d3b4de62, type: 2}
  3133 + - {fileID: 7400000, guid: 7e47ede61f002114ca81bb190b13589a, type: 2}
  3134 + - {fileID: 7400000, guid: 75cdd337245767c43ba4d80a5c96f0c3, type: 2}
  3135 + - {fileID: 7400000, guid: 7f136b37cf15b3e4380962411093afc5, type: 2}
  3136 + - {fileID: 7400000, guid: 6a6b1d67a96a0b745826f846495b3541, type: 2}
  3137 + - {fileID: 7400000, guid: f41beee74758eca43afbb59bff694ff3, type: 2}
  3138 + - {fileID: 7400000, guid: 5e0b56d8c46b01d4e8d05b0211da1305, type: 2}
  3139 + - {fileID: 7400000, guid: f41fcec969a1975448bda94cfe8d148c, type: 2}
  3140 + - {fileID: 7400000, guid: 881763d96061c9546bb76267ba20ca6f, type: 2}
  3141 + - {fileID: 7400000, guid: 63d597e9f28fc45459154d947f7aaa75, type: 2}
  3142 + - {fileID: 7400000, guid: ca77612a5245f4942823d031a3641519, type: 2}
  3143 + - {fileID: 7400000, guid: 61fb392a4df3e1f4d950c70a6cf96227, type: 2}
  3144 + - {fileID: 7400000, guid: fd82c04a57f486644a04f2a21bd5dcad, type: 2}
  3145 + - {fileID: 7400000, guid: 1e8b309a50e4642409535d3c2a9336e7, type: 2}
  3146 + - {fileID: 7400000, guid: b6989e7b354355845b8650deb15532ce, type: 2}
  3147 + - {fileID: 7400000, guid: 0174ce0ce69e08042b62873daf99cb4a, type: 2}
  3148 + - {fileID: 7400000, guid: 08be2dcc379b4e145b7b4db2a309328b, type: 2}
  3149 + - {fileID: 7400000, guid: 1a6bfdec4c803b84994a113b977e7690, type: 2}
  3150 + - {fileID: 7400000, guid: 41a7d8ddd33942744b471a7eccda1c2c, type: 2}
  3151 + - {fileID: 7400000, guid: 34b27c0e99de504438b4d4328277a868, type: 2}
  3152 + - {fileID: 7400000, guid: 99072f5e973a0114996f87370003faee, type: 2}
  3153 + - {fileID: 7400000, guid: 393d3f6e67dc15f4992c77e23ca560b5, type: 2}
  3154 + - {fileID: 7400000, guid: 89c9a9aedc3fc41429d1fd41861e95c9, type: 2}
  3155 + - {fileID: 7400000, guid: 05d107bfff390d6429b1bbeef74ca8be, type: 2}
3102 3156 m_WrapMode: 0
3103 3157 m_PlayAutomatically: 1
3104 3158 m_AnimatePhysics: 0
... ... @@ -3374,7 +3428,7 @@ MonoBehaviour:
3374 3428 m_TargetGraphic: {fileID: 554210568}
3375 3429 m_HandleRect: {fileID: 554210567}
3376 3430 m_Direction: 2
3377   - m_Value: 1
  3431 + m_Value: 0
3378 3432 m_Size: 1
3379 3433 m_NumberOfSteps: 0
3380 3434 m_OnValueChanged:
... ... @@ -3446,7 +3500,7 @@ RectTransform:
3446 3500 - {fileID: 228512394}
3447 3501 - {fileID: 2044204295}
3448 3502 m_Father: {fileID: 1414104007}
3449   - m_RootOrder: 5
  3503 + m_RootOrder: 6
3450 3504 m_AnchorMin: {x: 0, y: 0}
3451 3505 m_AnchorMax: {x: 1, y: 1}
3452 3506 m_AnchoredPosition: {x: 0, y: 0}
... ... @@ -4167,19 +4221,8 @@ MonoBehaviour:
4167 4221 m_OnClick:
4168 4222 m_PersistentCalls:
4169 4223 m_Calls:
4170   - - m_Target: {fileID: 1826236683}
4171   - m_MethodName: fade
4172   - m_Mode: 6
4173   - m_Arguments:
4174   - m_ObjectArgument: {fileID: 0}
4175   - m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
4176   - m_IntArgument: 0
4177   - m_FloatArgument: 0
4178   - m_StringArgument:
4179   - m_BoolArgument: 0
4180   - m_CallState: 2
4181   - - m_Target: {fileID: 1031720610}
4182   - m_MethodName: fade
  4224 + - m_Target: {fileID: 2131993094}
  4225 + m_MethodName: closeRegionPanel
4183 4226 m_Mode: 6
4184 4227 m_Arguments:
4185 4228 m_ObjectArgument: {fileID: 0}
... ... @@ -4187,18 +4230,7 @@ MonoBehaviour:
4187 4230 m_IntArgument: 0
4188 4231 m_FloatArgument: 0
4189 4232 m_StringArgument:
4190   - m_BoolArgument: 0
4191   - m_CallState: 2
4192   - - m_Target: {fileID: 1153850833}
4193   - m_MethodName: ReselectActiveItem
4194   - m_Mode: 1
4195   - m_Arguments:
4196   - m_ObjectArgument: {fileID: 0}
4197   - m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
4198   - m_IntArgument: 0
4199   - m_FloatArgument: 0
4200   - m_StringArgument:
4201   - m_BoolArgument: 0
  4233 + m_BoolArgument: 1
4202 4234 m_CallState: 2
4203 4235 m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
4204 4236 Culture=neutral, PublicKeyToken=null
... ... @@ -4785,7 +4817,7 @@ Transform:
4785 4817 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
4786 4818 m_Children: []
4787 4819 m_Father: {fileID: 1414104007}
4788   - m_RootOrder: 6
  4820 + m_RootOrder: 7
4789 4821 --- !u!114 &842733391
4790 4822 MonoBehaviour:
4791 4823 m_ObjectHideFlags: 0
... ... @@ -4977,7 +5009,8 @@ RectTransform:
4977 5009 m_LocalPosition: {x: 0, y: 0, z: 0}
4978 5010 m_LocalScale: {x: 1, y: 1, z: 1}
4979 5011 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
4980   - m_Children: []
  5012 + m_Children:
  5013 + - {fileID: 452885188}
4981 5014 m_Father: {fileID: 457437674}
4982 5015 m_RootOrder: 0
4983 5016 m_AnchorMin: {x: 0, y: 0.3}
... ... @@ -4998,7 +5031,7 @@ MonoBehaviour:
4998 5031 m_EditorClassIdentifier:
4999 5032 m_Material: {fileID: 0}
5000 5033 m_Color: {r: 1, g: 1, b: 1, a: 1}
5001   - m_RaycastTarget: 1
  5034 + m_RaycastTarget: 0
5002 5035 m_OnCullStateChanged:
5003 5036 m_PersistentCalls:
5004 5037 m_Calls: []
... ... @@ -5606,7 +5639,7 @@ RectTransform:
5606 5639 m_Children:
5607 5640 - {fileID: 263667178}
5608 5641 m_Father: {fileID: 1414104007}
5609   - m_RootOrder: 4
  5642 + m_RootOrder: 5
5610 5643 m_AnchorMin: {x: 0, y: 0}
5611 5644 m_AnchorMax: {x: 1, y: 0}
5612 5645 m_AnchoredPosition: {x: 0, y: 0}
... ... @@ -5704,6 +5737,107 @@ CanvasRenderer:
5704 5737 type: 2}
5705 5738 m_PrefabInternal: {fileID: 0}
5706 5739 m_GameObject: {fileID: 957593655}
  5740 +--- !u!1 &970584908
  5741 +GameObject:
  5742 + m_ObjectHideFlags: 0
  5743 + m_PrefabParentObject: {fileID: 0}
  5744 + m_PrefabInternal: {fileID: 0}
  5745 + serializedVersion: 4
  5746 + m_Component:
  5747 + - 224: {fileID: 970584909}
  5748 + - 222: {fileID: 970584914}
  5749 + - 114: {fileID: 970584913}
  5750 + - 114: {fileID: 970584911}
  5751 + - 114: {fileID: 970584910}
  5752 + m_Layer: 5
  5753 + m_Name: logger
  5754 + m_TagString: Untagged
  5755 + m_Icon: {fileID: 0}
  5756 + m_NavMeshLayer: 0
  5757 + m_StaticEditorFlags: 0
  5758 + m_IsActive: 0
  5759 +--- !u!224 &970584909
  5760 +RectTransform:
  5761 + m_ObjectHideFlags: 0
  5762 + m_PrefabParentObject: {fileID: 0}
  5763 + m_PrefabInternal: {fileID: 0}
  5764 + m_GameObject: {fileID: 970584908}
  5765 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
  5766 + m_LocalPosition: {x: 0, y: 0, z: 0}
  5767 + m_LocalScale: {x: 1, y: 1, z: 1}
  5768 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
  5769 + m_Children: []
  5770 + m_Father: {fileID: 1414104007}
  5771 + m_RootOrder: 0
  5772 + m_AnchorMin: {x: 0, y: 0}
  5773 + m_AnchorMax: {x: 1, y: 0.9}
  5774 + m_AnchoredPosition: {x: 0, y: 0}
  5775 + m_SizeDelta: {x: -40, y: 0}
  5776 + m_Pivot: {x: 0.5, y: 0.5}
  5777 +--- !u!114 &970584910
  5778 +MonoBehaviour:
  5779 + m_ObjectHideFlags: 0
  5780 + m_PrefabParentObject: {fileID: 0}
  5781 + m_PrefabInternal: {fileID: 0}
  5782 + m_GameObject: {fileID: 970584908}
  5783 + m_Enabled: 1
  5784 + m_EditorHideFlags: 0
  5785 + m_Script: {fileID: -900027084, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
  5786 + m_Name:
  5787 + m_EditorClassIdentifier:
  5788 + m_EffectColor: {r: 1, g: 1, b: 1, a: 0.5}
  5789 + m_EffectDistance: {x: 3, y: -3}
  5790 + m_UseGraphicAlpha: 1
  5791 +--- !u!114 &970584911
  5792 +MonoBehaviour:
  5793 + m_ObjectHideFlags: 0
  5794 + m_PrefabParentObject: {fileID: 0}
  5795 + m_PrefabInternal: {fileID: 0}
  5796 + m_GameObject: {fileID: 970584908}
  5797 + m_Enabled: 1
  5798 + m_EditorHideFlags: 0
  5799 + m_Script: {fileID: 11500000, guid: a9cc0ccbda0accb4ea816c19265b622f, type: 3}
  5800 + m_Name:
  5801 + m_EditorClassIdentifier:
  5802 +--- !u!114 &970584913
  5803 +MonoBehaviour:
  5804 + m_ObjectHideFlags: 0
  5805 + m_PrefabParentObject: {fileID: 0}
  5806 + m_PrefabInternal: {fileID: 0}
  5807 + m_GameObject: {fileID: 970584908}
  5808 + m_Enabled: 1
  5809 + m_EditorHideFlags: 0
  5810 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
  5811 + m_Name:
  5812 + m_EditorClassIdentifier:
  5813 + m_Material: {fileID: 0}
  5814 + m_Color: {r: 0, g: 0, b: 0, a: 1}
  5815 + m_RaycastTarget: 1
  5816 + m_OnCullStateChanged:
  5817 + m_PersistentCalls:
  5818 + m_Calls: []
  5819 + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
  5820 + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
  5821 + m_FontData:
  5822 + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
  5823 + m_FontSize: 36
  5824 + m_FontStyle: 0
  5825 + m_BestFit: 0
  5826 + m_MinSize: 3
  5827 + m_MaxSize: 40
  5828 + m_Alignment: 0
  5829 + m_AlignByGeometry: 0
  5830 + m_RichText: 1
  5831 + m_HorizontalOverflow: 0
  5832 + m_VerticalOverflow: 1
  5833 + m_LineSpacing: 1
  5834 + m_Text: END
  5835 +--- !u!222 &970584914
  5836 +CanvasRenderer:
  5837 + m_ObjectHideFlags: 0
  5838 + m_PrefabParentObject: {fileID: 0}
  5839 + m_PrefabInternal: {fileID: 0}
  5840 + m_GameObject: {fileID: 970584908}
5707 5841 --- !u!1 &995712443
5708 5842 GameObject:
5709 5843 m_ObjectHideFlags: 0
... ... @@ -6134,8 +6268,8 @@ MonoBehaviour:
6134 6268 visible: 0
6135 6269 visibleAlpha: 1
6136 6270 hiddenAlpha: 0
6137   - showingSpeed: 0.16
6138   - hiddingSpeed: 0.24
  6271 + showingSpeed: 0.21
  6272 + hiddingSpeed: 0.27
6139 6273 disableWhenHidden: 1
6140 6274 --- !u!222 &1031720612
6141 6275 CanvasRenderer:
... ... @@ -6160,7 +6294,7 @@ GameObject:
6160 6294 m_Icon: {fileID: 0}
6161 6295 m_NavMeshLayer: 0
6162 6296 m_StaticEditorFlags: 0
6163   - m_IsActive: 1
  6297 + m_IsActive: 0
6164 6298 --- !u!224 &1048863673
6165 6299 RectTransform:
6166 6300 m_ObjectHideFlags: 0
... ... @@ -6487,7 +6621,7 @@ MonoBehaviour:
6487 6621 m_HorizontalOverflow: 0
6488 6622 m_VerticalOverflow: 0
6489 6623 m_LineSpacing: 1
6490   - m_Text: AC
  6624 + m_Text: BR
6491 6625 --- !u!222 &1069760793
6492 6626 CanvasRenderer:
6493 6627 m_ObjectHideFlags: 0
... ... @@ -6927,6 +7061,7 @@ MonoBehaviour:
6927 7061 manager: {fileID: 578311381}
6928 7062 list: {fileID: 663262204}
6929 7063 SampleItem: {fileID: 1000010591902608, guid: f4297397cec02284cadd2fe1e37166c2, type: 2}
  7064 + label: {fileID: 1069760792}
6930 7065 --- !u!222 &1153850834
6931 7066 CanvasRenderer:
6932 7067 m_ObjectHideFlags: 0
... ... @@ -7190,7 +7325,7 @@ RectTransform:
7190 7325 m_AnchorMin: {x: 0, y: 0.2}
7191 7326 m_AnchorMax: {x: 1, y: 0.28}
7192 7327 m_AnchoredPosition: {x: 0, y: 0}
7193   - m_SizeDelta: {x: 0, y: -5.204442}
  7328 + m_SizeDelta: {x: 0, y: -13.511112}
7194 7329 m_Pivot: {x: 0.5, y: 1}
7195 7330 --- !u!114 &1175405162
7196 7331 MonoBehaviour:
... ... @@ -7496,7 +7631,7 @@ MonoBehaviour:
7496 7631 m_AsteriskChar: 42
7497 7632 m_KeyboardType: 0
7498 7633 m_LineType: 1
7499   - m_HideMobileInput: 1
  7634 + m_HideMobileInput: 0
7500 7635 m_CharacterValidation: 0
7501 7636 m_CharacterLimit: 0
7502 7637 m_OnEndEdit:
... ... @@ -7594,30 +7729,8 @@ MonoBehaviour:
7594 7729 m_OnClick:
7595 7730 m_PersistentCalls:
7596 7731 m_Calls:
7597   - - m_Target: {fileID: 265917591}
7598   - m_MethodName: setVisible
7599   - m_Mode: 6
7600   - m_Arguments:
7601   - m_ObjectArgument: {fileID: 0}
7602   - m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
7603   - m_IntArgument: 0
7604   - m_FloatArgument: 0
7605   - m_StringArgument:
7606   - m_BoolArgument: 0
7607   - m_CallState: 2
7608   - - m_Target: {fileID: 1031720610}
7609   - m_MethodName: fade
7610   - m_Mode: 6
7611   - m_Arguments:
7612   - m_ObjectArgument: {fileID: 0}
7613   - m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
7614   - m_IntArgument: 0
7615   - m_FloatArgument: 0
7616   - m_StringArgument:
7617   - m_BoolArgument: 1
7618   - m_CallState: 2
7619   - - m_Target: {fileID: 1153850833}
7620   - m_MethodName: ReselectActiveItem
  7732 + - m_Target: {fileID: 2131993094}
  7733 + m_MethodName: openRegionPanel
7621 7734 m_Mode: 1
7622 7735 m_Arguments:
7623 7736 m_ObjectArgument: {fileID: 0}
... ... @@ -7625,7 +7738,7 @@ MonoBehaviour:
7625 7738 m_IntArgument: 0
7626 7739 m_FloatArgument: 0
7627 7740 m_StringArgument:
7628   - m_BoolArgument: 1
  7741 + m_BoolArgument: 0
7629 7742 m_CallState: 2
7630 7743 m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
7631 7744 Culture=neutral, PublicKeyToken=null
... ... @@ -8817,6 +8930,7 @@ RectTransform:
8817 8930 m_LocalScale: {x: 0, y: 0, z: 0}
8818 8931 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
8819 8932 m_Children:
  8933 + - {fileID: 970584909}
8820 8934 - {fileID: 1613520792}
8821 8935 - {fileID: 1620867682}
8822 8936 - {fileID: 2119336824}
... ... @@ -9076,19 +9190,8 @@ MonoBehaviour:
9076 9190 m_OnClick:
9077 9191 m_PersistentCalls:
9078 9192 m_Calls:
9079   - - m_Target: {fileID: 1826236683}
9080   - m_MethodName: fade
9081   - m_Mode: 6
9082   - m_Arguments:
9083   - m_ObjectArgument: {fileID: 0}
9084   - m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
9085   - m_IntArgument: 0
9086   - m_FloatArgument: 0
9087   - m_StringArgument:
9088   - m_BoolArgument: 0
9089   - m_CallState: 2
9090   - - m_Target: {fileID: 1031720610}
9091   - m_MethodName: fade
  9193 + - m_Target: {fileID: 2131993094}
  9194 + m_MethodName: closeRegionPanel
9092 9195 m_Mode: 6
9093 9196 m_Arguments:
9094 9197 m_ObjectArgument: {fileID: 0}
... ... @@ -10455,7 +10558,7 @@ RectTransform:
10455 10558 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
10456 10559 m_Children: []
10457 10560 m_Father: {fileID: 1414104007}
10458   - m_RootOrder: 0
  10561 + m_RootOrder: 1
10459 10562 m_AnchorMin: {x: 0.03, y: 0.89}
10460 10563 m_AnchorMax: {x: 0.12, y: 0.98}
10461 10564 m_AnchoredPosition: {x: 0, y: 0}
... ... @@ -10500,20 +10603,9 @@ MonoBehaviour:
10500 10603 m_OnClick:
10501 10604 m_PersistentCalls:
10502 10605 m_Calls:
10503   - - m_Target: {fileID: 265917591}
10504   - m_MethodName: setVisible
10505   - m_Mode: 6
10506   - m_Arguments:
10507   - m_ObjectArgument: {fileID: 0}
10508   - m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
10509   - m_IntArgument: 0
10510   - m_FloatArgument: 0
10511   - m_StringArgument:
10512   - m_BoolArgument: 1
10513   - m_CallState: 2
10514   - - m_Target: {fileID: 1826236683}
10515   - m_MethodName: fade
10516   - m_Mode: 6
  10606 + - m_Target: {fileID: 2131993094}
  10607 + m_MethodName: openSettingsPanel
  10608 + m_Mode: 1
10517 10609 m_Arguments:
10518 10610 m_ObjectArgument: {fileID: 0}
10519 10611 m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
... ... @@ -10615,7 +10707,7 @@ RectTransform:
10615 10707 - {fileID: 861767965}
10616 10708 - {fileID: 848083143}
10617 10709 m_Father: {fileID: 1414104007}
10618   - m_RootOrder: 1
  10710 + m_RootOrder: 2
10619 10711 m_AnchorMin: {x: 0, y: 0}
10620 10712 m_AnchorMax: {x: 1, y: 1}
10621 10713 m_AnchoredPosition: {x: 0, y: 0}
... ... @@ -10856,8 +10948,8 @@ RectTransform:
10856 10948 m_Children: []
10857 10949 m_Father: {fileID: 1533000892}
10858 10950 m_RootOrder: 0
10859   - m_AnchorMin: {x: 0.05, y: 1.06}
10860   - m_AnchorMax: {x: 0.95, y: 2.1}
  10951 + m_AnchorMin: {x: 0.05, y: 1.15}
  10952 + m_AnchorMax: {x: 0.95, y: 3.5}
10861 10953 m_AnchoredPosition: {x: 0, y: 0}
10862 10954 m_SizeDelta: {x: 0, y: 0}
10863 10955 m_Pivot: {x: 0.5, y: 0.5}
... ... @@ -11338,9 +11430,9 @@ MonoBehaviour:
11338 11430 m_OnClick:
11339 11431 m_PersistentCalls:
11340 11432 m_Calls:
11341   - - m_Target: {fileID: 265917591}
11342   - m_MethodName: setVisible
11343   - m_Mode: 6
  11433 + - m_Target: {fileID: 2131993094}
  11434 + m_MethodName: openInfoScreen
  11435 + m_Mode: 1
11344 11436 m_Arguments:
11345 11437 m_ObjectArgument: {fileID: 0}
11346 11438 m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
... ... @@ -11349,17 +11441,6 @@ MonoBehaviour:
11349 11441 m_StringArgument:
11350 11442 m_BoolArgument: 0
11351 11443 m_CallState: 2
11352   - - m_Target: {fileID: 1031720610}
11353   - m_MethodName: fade
11354   - m_Mode: 6
11355   - m_Arguments:
11356   - m_ObjectArgument: {fileID: 0}
11357   - m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
11358   - m_IntArgument: 0
11359   - m_FloatArgument: 0
11360   - m_StringArgument:
11361   - m_BoolArgument: 1
11362   - m_CallState: 2
11363 11444 m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
11364 11445 Culture=neutral, PublicKeyToken=null
11365 11446 --- !u!114 &1794530659
... ... @@ -11421,7 +11502,7 @@ MonoBehaviour:
11421 11502 m_BestFit: 0
11422 11503 m_MinSize: 22
11423 11504 m_MaxSize: 80
11424   - m_Alignment: 4
  11505 + m_Alignment: 7
11425 11506 m_AlignByGeometry: 0
11426 11507 m_RichText: 1
11427 11508 m_HorizontalOverflow: 0
... ... @@ -11652,7 +11733,7 @@ MonoBehaviour:
11652 11733 visible: 0
11653 11734 visibleAlpha: 1
11654 11735 hiddenAlpha: 0
11655   - showingSpeed: 0.07
  11736 + showingSpeed: 0.08
11656 11737 hiddingSpeed: 0.2
11657 11738 disableWhenHidden: 1
11658 11739 --- !u!114 &1826236684
... ... @@ -11694,38 +11775,16 @@ MonoBehaviour:
11694 11775 m_OnClick:
11695 11776 m_PersistentCalls:
11696 11777 m_Calls:
11697   - - m_Target: {fileID: 265917591}
11698   - m_MethodName: setVisible
11699   - m_Mode: 6
11700   - m_Arguments:
11701   - m_ObjectArgument: {fileID: 0}
11702   - m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
11703   - m_IntArgument: 0
11704   - m_FloatArgument: 0
11705   - m_StringArgument:
11706   - m_BoolArgument: 0
11707   - m_CallState: 2
11708   - - m_Target: {fileID: 1826236683}
11709   - m_MethodName: fade
11710   - m_Mode: 6
11711   - m_Arguments:
11712   - m_ObjectArgument: {fileID: 0}
11713   - m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
11714   - m_IntArgument: 0
11715   - m_FloatArgument: 0
11716   - m_StringArgument:
11717   - m_BoolArgument: 0
11718   - m_CallState: 2
11719   - - m_Target: {fileID: 1031720610}
11720   - m_MethodName: fade
11721   - m_Mode: 6
  11778 + - m_Target: {fileID: 2131993094}
  11779 + m_MethodName: onPanelOutClick
  11780 + m_Mode: 1
11722 11781 m_Arguments:
11723 11782 m_ObjectArgument: {fileID: 0}
11724 11783 m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
11725 11784 m_IntArgument: 0
11726 11785 m_FloatArgument: 0
11727 11786 m_StringArgument:
11728   - m_BoolArgument: 0
  11787 + m_BoolArgument: 1
11729 11788 m_CallState: 2
11730 11789 m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
11731 11790 Culture=neutral, PublicKeyToken=null
... ... @@ -12257,7 +12316,7 @@ RectTransform:
12257 12316 - {fileID: 265917590}
12258 12317 - {fileID: 1031720609}
12259 12318 m_Father: {fileID: 1414104007}
12260   - m_RootOrder: 7
  12319 + m_RootOrder: 8
12261 12320 m_AnchorMin: {x: 0, y: 0}
12262 12321 m_AnchorMax: {x: 1, y: 1}
12263 12322 m_AnchoredPosition: {x: 0, y: 0}
... ... @@ -12723,6 +12782,8 @@ GameObject:
12723 12782 serializedVersion: 4
12724 12783 m_Component:
12725 12784 - 224: {fileID: 2002966284}
  12785 + - 222: {fileID: 2002966286}
  12786 + - 114: {fileID: 2002966285}
12726 12787 m_Layer: 5
12727 12788 m_Name: field_text_entry
12728 12789 m_TagString: Untagged
... ... @@ -12750,6 +12811,38 @@ RectTransform:
12750 12811 m_AnchoredPosition: {x: 0, y: 0}
12751 12812 m_SizeDelta: {x: 0, y: 0}
12752 12813 m_Pivot: {x: 0.5, y: 0.5}
  12814 +--- !u!114 &2002966285
  12815 +MonoBehaviour:
  12816 + m_ObjectHideFlags: 0
  12817 + m_PrefabParentObject: {fileID: 0}
  12818 + m_PrefabInternal: {fileID: 0}
  12819 + m_GameObject: {fileID: 2002966283}
  12820 + m_Enabled: 1
  12821 + m_EditorHideFlags: 0
  12822 + m_Script: {fileID: -98529514, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
  12823 + m_Name:
  12824 + m_EditorClassIdentifier:
  12825 + m_Material: {fileID: 0}
  12826 + m_Color: {r: 1, g: 1, b: 1, a: 1}
  12827 + m_RaycastTarget: 1
  12828 + m_OnCullStateChanged:
  12829 + m_PersistentCalls:
  12830 + m_Calls: []
  12831 + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
  12832 + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
  12833 + m_Texture: {fileID: 0}
  12834 + m_UVRect:
  12835 + serializedVersion: 2
  12836 + x: 0
  12837 + y: 0
  12838 + width: 1
  12839 + height: 1
  12840 +--- !u!222 &2002966286
  12841 +CanvasRenderer:
  12842 + m_ObjectHideFlags: 0
  12843 + m_PrefabParentObject: {fileID: 0}
  12844 + m_PrefabInternal: {fileID: 0}
  12845 + m_GameObject: {fileID: 2002966283}
12753 12846 --- !u!1 &2010584309
12754 12847 GameObject:
12755 12848 m_ObjectHideFlags: 0
... ... @@ -13599,6 +13692,7 @@ GameObject:
13599 13692 - 224: {fileID: 2071733049}
13600 13693 - 222: {fileID: 2071733051}
13601 13694 - 114: {fileID: 2071733050}
  13695 + - 114: {fileID: 2071733052}
13602 13696 m_Layer: 5
13603 13697 m_Name: Text
13604 13698 m_TagString: Untagged
... ... @@ -13647,11 +13741,11 @@ MonoBehaviour:
13647 13741 Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
13648 13742 m_FontData:
13649 13743 m_Font: {fileID: 12800000, guid: 195abaf1001bde54db32dfcefbcc33e8, type: 3}
13650   - m_FontSize: 14
  13744 + m_FontSize: 50
13651 13745 m_FontStyle: 0
13652   - m_BestFit: 1
13653   - m_MinSize: 14
13654   - m_MaxSize: 40
  13746 + m_BestFit: 0
  13747 + m_MinSize: 5
  13748 + m_MaxSize: 50
13655 13749 m_Alignment: 1
13656 13750 m_AlignByGeometry: 0
13657 13751 m_RichText: 0
... ... @@ -13666,6 +13760,17 @@ CanvasRenderer:
13666 13760 type: 2}
13667 13761 m_PrefabInternal: {fileID: 0}
13668 13762 m_GameObject: {fileID: 2071733048}
  13763 +--- !u!114 &2071733052
  13764 +MonoBehaviour:
  13765 + m_ObjectHideFlags: 0
  13766 + m_PrefabParentObject: {fileID: 0}
  13767 + m_PrefabInternal: {fileID: 0}
  13768 + m_GameObject: {fileID: 2071733048}
  13769 + m_Enabled: 1
  13770 + m_EditorHideFlags: 0
  13771 + m_Script: {fileID: 11500000, guid: f8db495bb0057e14eb35ef4f2df7910e, type: 3}
  13772 + m_Name:
  13773 + m_EditorClassIdentifier:
13669 13774 --- !u!1 &2077558507
13670 13775 GameObject:
13671 13776 m_ObjectHideFlags: 0
... ... @@ -14128,7 +14233,7 @@ RectTransform:
14128 14233 m_Children:
14129 14234 - {fileID: 1923959837}
14130 14235 m_Father: {fileID: 1414104007}
14131   - m_RootOrder: 2
  14236 + m_RootOrder: 3
14132 14237 m_AnchorMin: {x: 0, y: 0}
14133 14238 m_AnchorMax: {x: 1, y: 0}
14134 14239 m_AnchoredPosition: {x: 0, y: 0}
... ... @@ -14383,6 +14488,10 @@ MonoBehaviour:
14383 14488 textButton: {fileID: 930426942}
14384 14489 pauseButton: {fileID: 440527253}
14385 14490 avatarCollider: {fileID: 535548073}
  14491 + regionSelector: {fileID: 1153850833}
  14492 + settingsPanel: {fileID: 265917591}
  14493 + regionPanel: {fileID: 1031720610}
  14494 + shadow: {fileID: 1826236683}
14386 14495 --- !u!1 &2145755641
14387 14496 GameObject:
14388 14497 m_ObjectHideFlags: 0
... ...
Assets/Scripts/Player Manager/GenericPlayerManager.cs
... ... @@ -26,9 +26,6 @@ using System.Collections;
26 26 using System.Collections.Generic;
27 27 using System;
28 28 using System.Threading;
29   -using System.IO;
30   -using System.Text;
31   -using System.Runtime.InteropServices;
32 29 using UnityEngine.UI;
33 30  
34 31 public abstract class GenericPlayerManager : MonoBehaviour {
... ... @@ -38,7 +35,6 @@ public abstract class GenericPlayerManager : MonoBehaviour {
38 35  
39 36 protected float fadeLength = 0.6F;
40 37 public string gloss = "";
41   - private string regionPath = "";
42 38  
43 39 // Referencia para o avatar
44 40 private GameObject AVATAR;
... ... @@ -223,7 +219,7 @@ public abstract class GenericPlayerManager : MonoBehaviour {
223 219 return state;
224 220 }
225 221 catch (NullReferenceException nre) {
226   - UnityEngine.Debug.Log("'" + name + "' não foi encontrado!\n" + nre.ToString());
  222 + Logger.Log("'" + name + "' não foi encontrado!\n" + nre.ToString());
227 223 }
228 224  
229 225 return null;
... ... @@ -264,6 +260,7 @@ public abstract class GenericPlayerManager : MonoBehaviour {
264 260 */
265 261 protected abstract void onPlayingStateChange();
266 262  
  263 + protected abstract WWW getCheckConnectionRequest();
267 264  
268 265 /* Pause or continue animations */
269 266 public void setPauseState(bool paused)
... ... @@ -407,30 +404,38 @@ public abstract class GenericPlayerManager : MonoBehaviour {
407 404 }
408 405  
409 406 short type = getType(anim);
410   - string animName = nextLetterAnimation(anim);
411   -
412   - // Não há animação
413   - if (type == Subtitle.TYPE_NONE)
414   - {
415   - // Reproduz animação default apenas uma vez
416   - if ( ! defaultPlayed)
417   - {
418   - defaultPlayed = true;
419   - toPlayQueue.Enqueue(new ToPlay(Subtitle.TYPE_WORD, DEFAULT_ANIMATION_MIDDLE, lastAnimationSubtitle, this));
420   -
421   - // A reprodução da próxima letra deve ser longa para não ser cortada no fade
422   - this.subtitles.updateLetterSpeed();
423   - }
  407 + string animName;
  408 +
  409 + try {
  410 + animName = nextLetterAnimation(anim);
  411 +
  412 + // Não há animação
  413 + if (type == Subtitle.TYPE_NONE)
  414 + {
  415 + // Reproduz animação default apenas uma vez
  416 + if ( ! defaultPlayed)
  417 + {
  418 + defaultPlayed = true;
  419 + toPlayQueue.Enqueue(new ToPlay(Subtitle.TYPE_WORD, DEFAULT_ANIMATION_MIDDLE, lastAnimationSubtitle, this));
  420 +
  421 + // A reprodução da próxima letra deve ser longa para não ser cortada no fade
  422 + this.subtitles.updateLetterSpeed();
  423 + }
  424 +
  425 + Logger.Log("Animação \"" + animName + "\" inexistente.");
  426 + }
  427 + else
  428 + {
  429 + toPlayQueue.Enqueue(new ToPlay(type, animName, lastAnimationSubtitle, this));
424 430  
425   - UnityEngine.Debug.Log("Animação \"" + animName + "\" inexistente.");
426   - }
427   - else
428   - {
429   - toPlayQueue.Enqueue(new ToPlay(type, animName, lastAnimationSubtitle, this));
  431 + defaultPlayed = false;
  432 + this.subtitles.updateLetterSpeed();
  433 + }
  434 + }
  435 + catch (IndexOutOfRangeException) {
  436 + Debug.Log("GPM.sW(" + word + "): Caractere '" + anim + "' inválido.");
  437 + }
430 438  
431   - defaultPlayed = false;
432   - this.subtitles.updateLetterSpeed();
433   - }
434 439 }
435 440  
436 441 return lastAnimationSubtitle;
... ... @@ -465,15 +470,9 @@ public abstract class GenericPlayerManager : MonoBehaviour {
465 470  
466 471 private System.Object LOCKER_LOADING = new System.Object();
467 472  
468   - /*Define o regionalismo*/
469   - public void setRegion(string path)
  473 + public void clearLoadedBundles()
470 474 {
471   - this.regionPath = String.IsNullOrEmpty(path) ? "" : path;
472   - }
473   -
474   - public void clearRegion()
475   - {
476   - setRegion("");
  475 + this.loadedAssetBundles.Clear();
477 476 }
478 477  
479 478 /* Carrega animações e reproduz */
... ... @@ -497,7 +496,23 @@ public abstract class GenericPlayerManager : MonoBehaviour {
497 496 int wordsCount = 0;
498 497 toPlayQueue.Enqueue(new ToPlay(Subtitle.TYPE_NONE, DEFAULT_ANIMATION, "", this));
499 498  
500   - foreach (string aniName in stringPos)
  499 + /*WWW checkConnectionRequest = getCheckConnectionRequest();
  500 + bool connected = false;
  501 +
  502 + while ( ! checkConnectionRequest.isDone)
  503 + yield return checkConnectionRequest;
  504 +
  505 + if (checkConnectionRequest.responseHeaders.Count > 0)
  506 + {
  507 + Logger.Log(checkConnectionRequest.responseHeaders["STATUS"]);
  508 + connected = checkConnectionRequest.responseHeaders["STATUS"].Contains("404");
  509 + }
  510 + else Logger.Log("No response headers.");*/
  511 +
  512 + bool connected = true;
  513 + bool playingStarted = false;
  514 +
  515 + foreach (string aniName in stringPos)
501 516 {
502 517 wordsCount++;
503 518 if (String.IsNullOrEmpty(aniName)) continue;
... ... @@ -505,37 +520,47 @@ public abstract class GenericPlayerManager : MonoBehaviour {
505 520 bool nonexistent = nonexistentAssetBundles.Contains(aniName);
506 521 bool loaded = loadedAssetBundles.Contains(aniName);
507 522  
508   - if ( ! nonexistent && ! loaded)
  523 + if ( ! nonexistent && ! loaded && connected)
509 524 {
510   - WWW www = null;
  525 + WWW www = loadAssetBundle(aniName);
  526 + yield return www;
511 527  
512   - string aniNameReg = regionPath + @"\" + aniName;
513   - www = loadAssetBundle(aniNameReg);
514   - if (www != null) yield return null;
  528 + Logger.Log("Bundle request done (" + aniName + ").");
515 529  
516   - if (www.error == null)
517   - {
  530 + if (www.error == null)
  531 + {
518 532 AssetBundle bundle = www.assetBundle;
519   -
520   - if (bundle != null && ! String.IsNullOrEmpty(bundle.mainAsset.name))
521   - {
522   - AnimationClip aniClip = bundle.mainAsset as AnimationClip;
523   - bundle.Unload(false);
524   -
525   - if (aniClip)
526   - {
527   - COMPONENT_ANIMATION.AddClip(aniClip, aniName);
528   -
529   - loadedAssetBundles.Add(aniName);
530   - loaded = true;
531   -
532   - Debug.Log("Bundle \"" + aniName + "\" loaded!");
533   - }
534   - else UnityEngine.Debug.Log ("Sinal \"" + aniName + "\" foi não carregado corretamente.");
535   - }
536   - }
537   - else onConnectionError(gloss, aniName);
538   -
  533 +
  534 + /*Logger.Log("count: " + www.responseHeaders.Count);
  535 + if (www.responseHeaders.Count > 0)
  536 + Logger.Log(www.responseHeaders["STATUS"]);
  537 +
  538 + // if (www.responseHeaders.Count > 0 && www.responseHeaders["STATUS"].EndsWith("200 OK"));
  539 + */
  540 +
  541 + if (bundle != null && !String.IsNullOrEmpty(bundle.mainAsset.name))
  542 + {
  543 + AnimationClip aniClip = bundle.mainAsset as AnimationClip;
  544 + bundle.Unload(false);
  545 +
  546 + if (aniClip)
  547 + {
  548 + COMPONENT_ANIMATION.AddClip(aniClip, aniName);
  549 + yield return null;
  550 +
  551 + loadedAssetBundles.Add(aniName);
  552 + loaded = true;
  553 +
  554 + Logger.Log("Bundle \"" + aniName + "\" loaded!");
  555 + }
  556 + else Logger.Log("Sinal \"" + aniName + "\" foi não carregado corretamente.");
  557 + }
  558 + }
  559 + else
  560 + {
  561 + Logger.Log("Connection error");
  562 + onConnectionError(gloss, aniName);
  563 + }
539 564 }
540 565  
541 566 // Reproduz palavra
... ... @@ -563,12 +588,15 @@ public abstract class GenericPlayerManager : MonoBehaviour {
563 588 // Soletra palavra
564 589 else
565 590 {
566   - // Se a animação não foi carregada e nem está marcada como não existente,
567   - // adiciona ao set de animações não existentes
568   - if ( ! nonexistent)
569   - nonexistentAssetBundles.Add(aniName);
  591 + // Se a animação não foi carregada e nem está marcada como não existente,
  592 + // adiciona ao set de animações não existentes
  593 + if ( ! nonexistent && connected)
  594 + {
  595 + Logger.Log("Non existent");
  596 + nonexistentAssetBundles.Add(aniName);
  597 + }
570 598  
571   - UnityEngine.Debug.Log("~~ To spell: " + aniName);
  599 + Logger.Log("~~ To spell: " + aniName);
572 600  
573 601 if (this.flags.Contains(aniName) || this.intervalAnimations.Contains(aniName))
574 602 {
... ... @@ -587,10 +615,19 @@ public abstract class GenericPlayerManager : MonoBehaviour {
587 615 }
588 616 }
589 617  
590   - if (toPlayQueue.Count > 4 || wordsCount == stringPos.Length)
591   - while (toPlayQueue.Count > 0)
  618 + if (toPlayQueue.Count > 4 || wordsCount == stringPos.Length) {
  619 + playingStarted = true;
  620 +
  621 + while (toPlayQueue.Count > 0)
  622 + {
592 623 toPlayQueue.Dequeue().play(this);
593   - }
  624 + yield return new WaitForEndOfFrame();
  625 + }
  626 + }
  627 +
  628 + if (playingStarted)
  629 + yield return new WaitForEndOfFrame();
  630 + }
594 631  
595 632 // Default
596 633 playAnimation(Subtitle.TYPE_NONE, DEFAULT_ANIMATION, "");
... ...
Assets/Scripts/Player Manager/Utils.cs
... ... @@ -9,6 +9,12 @@ namespace Utils {
9 9 return new Color(color.r, color.g, color.b, alpha);
10 10 }
11 11  
12   - }
  12 + public static void Log(this Debug debug, string text)
  13 + {
  14 + Debug.Log(text);
  15 + Logger.Log(text);
  16 + }
  17 +
  18 + }
13 19  
14 20 }
... ...
Assets/Scripts/PlayerManager.cs
... ... @@ -11,6 +11,8 @@ using System.Text;
11 11 using System.Runtime.InteropServices;
12 12 using UnityEngine.UI;
13 13 using System.Threading;
  14 +using System.Net;
  15 +using Utils;
14 16  
15 17 public class PlayerManager : GenericPlayerManager {
16 18  
... ... @@ -44,7 +46,8 @@ public class PlayerManager : GenericPlayerManager {
44 46 public InputField translateScreenText;
45 47 public ScreenManager screenManager;
46 48 private string dictWord = null;
47   -// private string regionPath = "";
  49 + private string regionPath = "";
  50 + private int regionHash = 1;
48 51  
49 52 public static string get_connection_status_message(ERROR_STATUS_MESSAGE msg)
50 53 {
... ... @@ -70,14 +73,18 @@ public class PlayerManager : GenericPlayerManager {
70 73  
71 74 voiceRecognizer = new VoiceRecognition();
72 75  
73   - Screen.fullScreen = false;
  76 +#if UNITY_EDITOR
  77 + Caching.CleanCache();
  78 +#endif
  79 +
  80 + Screen.fullScreen = false;
74 81 // Hide input text preview
75   - TouchScreenKeyboard.hideInput = true;
  82 + // TouchScreenKeyboard.hideInput = true;
76 83 }
77 84  
78 85 public void playDict(string word)
79 86 {
80   - Debug.Log("Requesting dictionary: " + word);
  87 + Logger.Log("Requesting dictionary: " + word);
81 88  
82 89 this.dictWord = word;
83 90 base.gloss = word;
... ... @@ -111,18 +118,20 @@ public class PlayerManager : GenericPlayerManager {
111 118 base.repeat();
112 119 }
113 120  
114   -/* public void setRegion(string path) {
  121 + public void setRegion(string path)
  122 + {
115 123 this.regionPath = String.IsNullOrEmpty(path) ? "" : path;
116   - }
  124 + this.regionHash = this.regionPath == "" ? 1 : (int)this.regionPath[0] * 255 + (int)this.regionPath[1];
  125 + }
117 126  
118 127 public void clearRegion() {
119 128 setRegion("");
120 129 }
121   -*/
  130 +
122 131 protected override WWW loadAssetBundle(string aniName)
123 132 {
124   - Debug.Log("Requesting bundle: " + " " + aniName);
125   - return WWW.LoadFromCacheOrDownload(BASE_URL + aniName, VERSION);
  133 + Logger.Log("Requesting bundle: " + BASE_URL + regionPath + aniName);
  134 + return WWW.LoadFromCacheOrDownload(BASE_URL + regionPath + aniName, this.regionHash);
126 135 }
127 136  
128 137 private System.Object LOCKER_STATE = new System.Object();
... ... @@ -147,32 +156,80 @@ public class PlayerManager : GenericPlayerManager {
147 156 // Called from microphone icon at main interface
148 157 public void callVoiceRecognizer()
149 158 {
150   - Debug.Log("Requesting voice recognizer");
  159 + Logger.Log("Requesting voice recognizer");
151 160  
152 161 string gloss = voiceRecognizer.callRecognition();
153 162 this.translateScreenText.text = gloss;
154   - Debug.Log("Voice recognizer answer: " + gloss);
  163 + Logger.Log("Voice recognizer answer: " + gloss);
155 164  
156 165 this.screenManager.switchScreen("translate");
157 166 }
158 167  
  168 +
  169 +
  170 + protected override WWW getCheckConnectionRequest()
  171 + {
  172 + return new WWW(BASE_URL);
  173 +
  174 +
  175 + /*WWW connection = new WWW(SERVER_URL);
  176 + yield return connection;
  177 + //while (!glossRequest.isDone)
  178 +
  179 + if (connection.error == null)
  180 + {
  181 + if (connection.responseHeaders.Count > 0)
  182 + Logger.Log(connection.responseHeaders["STATUS"]);
  183 + else
  184 + Logger.Log("No STATUS");
  185 + }
  186 + else Logger.Log("ERROR: " + connection.error);
  187 +
  188 + return false;*/
  189 +
  190 +
  191 + /*HttpWebRequest request = (HttpWebRequest)WebRequest.Create(BASE_URL);
  192 + request.Method = "HEAD";
  193 + request.Timeout = 2000;
  194 +
  195 + try {
  196 + HttpWebResponse response = (HttpWebResponse) request.GetResponse();
  197 + }
  198 + catch (WebException e)
  199 + {
  200 + if (e.Response != null)
  201 + {
  202 + Logger.Log(((HttpWebResponse)e.Response).StatusCode);
  203 + return ((HttpWebResponse)e.Response).StatusCode == HttpStatusCode.NotFound;
  204 + }
  205 + }
  206 + catch (Exception)
  207 + {
  208 + }
  209 +
  210 + return false;*/
  211 + }
  212 +
159 213 private IEnumerator translate(string gloss)
160 214 {
161 215 bool returnSuccess = true;
162 216 bool timeout = false;
163 217  
164   - Debug.Log("Requesting translator: " + gloss);
  218 + Logger.Log("Requesting translator: " + gloss);
165 219  
166 220 base.randomAnimations.lockFor("translate");
167 221 this.screenManager.setLoadingSnippetState(true);
168 222  
169 223 WWW glossRequest = new WWW(SERVER_URL + WWW.EscapeURL(gloss));
170   -
171   - if (glossRequest != null)
172   - {
173   - const float timeoutLimit = 10f;
  224 + Logger.Log("Translate: Request: " + SERVER_URL + WWW.EscapeURL(gloss));
  225 +
  226 + if (glossRequest != null)
  227 + {
  228 + const float timeoutLimit = 10f;
174 229 float timer = 0;
175 230  
  231 + Logger.Log("Translate: Stating time check.");
  232 +
176 233 while (!glossRequest.isDone)
177 234 {
178 235 if (timer > timeoutLimit)
... ... @@ -185,34 +242,37 @@ public class PlayerManager : GenericPlayerManager {
185 242 yield return null;
186 243 }
187 244  
188   - if (!timeout)
189   - {
190   - if (glossRequest.error == null)
191   - {
192   - returnSuccess = glossRequest.responseHeaders.Count > 0 && glossRequest.responseHeaders["STATUS"].EndsWith("200 OK");
193   -
194   - if (returnSuccess)
195   - {
196   - if (!String.IsNullOrEmpty(glossRequest.text))
197   - {
198   - Debug.Log("Translator answer: " + glossRequest.text);
199   -
200   - base.gloss = glossRequest.text;
201   - base.playNow(glossRequest.text);
202   - this.screenManager.setLoadingSnippetState(false);
203   - base.randomAnimations.unlockFor("translate");
204   -
205   - yield break;
206   - }
207   - else Debug.Log("Error at PlayerManager.translate: empty answer.");
208   - }
209   - else Debug.Log("Error at PlayerManager.translate: unsuccessful answer.");
210   - }
211   - else Debug.Log("Error at PlayerManager.translate: (WWW) glosaRequest: " + glossRequest.error);
212   - }
213   - else Debug.Log("Error at PlayerManager.translate: timeout.");
214   - }
215   - else Debug.Log ("Error at PlayerManager.translate: (WWW) glosaRequest is NULL.");
  245 + Logger.Log("Translate: Timeout check finished.");
  246 +
  247 + if (!timeout)
  248 + {
  249 + if (glossRequest.error == null)
  250 + {
  251 + Logger.Log("Translate: Request: count=" + glossRequest.responseHeaders.Count + ", status=" + glossRequest.responseHeaders["STATUS"]);
  252 + returnSuccess = glossRequest.responseHeaders.Count > 0 && glossRequest.responseHeaders["STATUS"].EndsWith("200 OK");
  253 +
  254 + if (returnSuccess)
  255 + {
  256 + if (!String.IsNullOrEmpty(glossRequest.text))
  257 + {
  258 + Logger.Log("Translator answer: " + glossRequest.text);
  259 +
  260 + base.gloss = glossRequest.text;
  261 + base.playNow(glossRequest.text);
  262 + this.screenManager.setLoadingSnippetState(false);
  263 + base.randomAnimations.unlockFor("translate");
  264 +
  265 + yield break;
  266 + }
  267 + else Logger.Log("Error at PlayerManager.translate: empty answer.");
  268 + }
  269 + else Logger.Log("Error at PlayerManager.translate: unsuccessful answer.");
  270 + }
  271 + else Logger.Log("Error at PlayerManager.translate: (WWW) glosaRequest: " + glossRequest.error);
  272 + }
  273 + else Logger.Log("Error at PlayerManager.translate: timeout.");
  274 + }
  275 + else Logger.Log ("Error at PlayerManager.translate: (WWW) glosaRequest is NULL.");
216 276  
217 277 base.gloss = gloss.ToUpper();
218 278  
... ...
Assets/Scripts/UI/ExchangeableVisibility.cs 0 → 100644
... ... @@ -0,0 +1,21 @@
  1 +using UnityEngine;
  2 +
  3 +namespace LAViD.VLibras.UI {
  4 +
  5 + public class ExchangeableVisibility : MonoBehaviour {
  6 +
  7 + public bool visible = false;
  8 +
  9 + public bool isVisible()
  10 + {
  11 + return this.visible;
  12 + }
  13 +
  14 + public virtual void Animate(bool visible)
  15 + {
  16 + this.visible = visible;
  17 + }
  18 +
  19 + }
  20 +
  21 +}
... ...
Assets/Scripts/UI/ExchangeableVisibility.cs.meta 0 → 100644
... ... @@ -0,0 +1,12 @@
  1 +fileFormatVersion: 2
  2 +guid: 4cd401803c3f50c49ad8bfea94d7e0a7
  3 +timeCreated: 1475688620
  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/Fadder.cs
1 1 using UnityEngine;
2   -using UnityEngine.UI;
3   -
4   -public class Fadder : MonoBehaviour {
5   -
6   - public bool visible = true;
7   - public float visibleAlpha = 1f;
8   - public float hiddenAlpha = 0f;
9   - public float showingSpeed = 0.01f;
10   - public float hiddingSpeed = 0.01f;
11   - public bool disableWhenHidden = true;
12   -
13   - private CanvasRenderer mainRenderer;
14   - private CanvasRenderer[] renderers;
15   - private bool visibilityChange = false;
16   -
17   - public void fade(bool visible)
18   - {
19   - if (this.visible != visible)
20   - {
21   - this.gameObject.transform.localScale = new Vector3(1, 1, 1);
22   - this.visible = visible;
23   -
24   - visibilityChange = true;
25   - }
26   - }
27 2  
28   - public void set(bool visible)
29   - {
30   - this.visible = visible;
  3 +namespace LAViD.VLibras.UI {
  4 +
  5 + public class Fadder : ExchangeableVisibility {
  6 +
  7 + public float visibleAlpha = 1f;
  8 + public float hiddenAlpha = 0f;
  9 + public float showingSpeed = 0.01f;
  10 + public float hiddingSpeed = 0.01f;
  11 + public bool disableWhenHidden = true;
  12 +
  13 + private CanvasRenderer mainRenderer;
  14 + private CanvasRenderer[] renderers;
  15 + private bool visibilityChange = false;
  16 +
  17 + private readonly Vector3 visibleScale = new Vector3(1, 1, 1);
  18 + private readonly Vector3 hiddenScale = new Vector3(0, 0, 0);
  19 +
  20 + public override void Animate(bool visible)
  21 + {
  22 + if (base.isVisible() != visible)
  23 + {
  24 + this.gameObject.transform.localScale = visibleScale;
  25 + base.Animate(visible);
  26 + this.visibilityChange = true;
  27 + }
  28 + }
  29 +
  30 + public void brutallySetVisible(bool visible)
  31 + {
  32 + base.Animate(visible);
31 33  
32   - float alpha = visible ? visibleAlpha : hiddenAlpha;
  34 + float alpha = visible ? visibleAlpha : hiddenAlpha;
33 35  
34   - foreach (CanvasRenderer renderer in renderers)
35   - renderer.SetAlpha(alpha);
36   -
37   - updateScale();
38   - }
  36 + foreach (CanvasRenderer renderer in renderers)
  37 + renderer.SetAlpha(alpha);
39 38  
40   - private void updateScale()
41   - {
42   - if (disableWhenHidden && this.mainRenderer.GetAlpha() == hiddenAlpha)
43   - this.gameObject.transform.localScale = new Vector3(0, 0, 0);
44   - }
  39 + updateScale();
  40 + }
45 41  
46   - void Start ()
47   - {
48   - mainRenderer = this.gameObject.GetComponent<CanvasRenderer>();
49   - renderers = this.gameObject.GetComponentsInChildren<CanvasRenderer>();
  42 + private void updateScale()
  43 + {
  44 + if (disableWhenHidden && this.mainRenderer.GetAlpha() == hiddenAlpha)
  45 + this.gameObject.transform.localScale = hiddenScale;
50 46  
51   - hiddingSpeed = -hiddingSpeed;
  47 + }
  48 +
  49 + void Start()
  50 + {
  51 + this.mainRenderer = this.gameObject.GetComponent<CanvasRenderer>();
  52 + this.renderers = this.gameObject.GetComponentsInChildren<CanvasRenderer>();
  53 + this.hiddingSpeed = -hiddingSpeed;
  54 +
  55 + this.brutallySetVisible(base.isVisible());
  56 + }
  57 +
  58 + void Update()
  59 + {
  60 + if (visibilityChange)
  61 + {
  62 + float objective = base.isVisible() ? this.visibleAlpha : this.hiddenAlpha;
  63 + this.visibilityChange = false;
  64 +
  65 + foreach (CanvasRenderer renderer in renderers)
  66 + {
  67 + float alpha = renderer.GetAlpha();
  68 +
  69 + if (alpha != objective)
  70 + {
  71 + float speed = base.isVisible() ? this.showingSpeed : this.hiddingSpeed;
  72 + renderer.SetAlpha(Mathf.Abs(alpha - objective) < Mathf.Abs(speed) ? objective : alpha + speed);
  73 + this.visibilityChange = true;
  74 + }
  75 + }
  76 +
  77 + if (this.visibilityChange) this.updateScale();
  78 + }
  79 + }
52 80  
53   - set(visible);
54 81 }
55   -
56   - void Update ()
57   - {
58   - if (visibilityChange)
59   - {
60   - float objective = visible ? visibleAlpha : hiddenAlpha;
61   - visibilityChange = false;
62   -
63   - foreach (CanvasRenderer renderer in renderers)
64   - {
65   - float alpha = renderer.GetAlpha();
66   -
67   - if (alpha != objective)
68   - {
69   - float speed = visible ? showingSpeed : hiddingSpeed;
70   - renderer.SetAlpha(Mathf.Abs(alpha - objective) < Mathf.Abs(speed) ? objective : alpha + speed);
71   - visibilityChange = true;
72   - }
73   - }
74   -
75   - if (visibilityChange) updateScale();
76   - }
77   - }
78   -
79   -}
  82 +
  83 +}
80 84 \ No newline at end of file
... ...
Assets/Scripts/UI/ScreenManager.cs
1 1 using UnityEngine;
2 2 using UnityEngine.UI;
  3 +using LAViD.VLibras.UI;
3 4  
4 5 public class ScreenManager : MonoBehaviour {
5 6  
... ... @@ -30,6 +31,11 @@ public class ScreenManager : MonoBehaviour {
30 31  
31 32 public BoxCollider avatarCollider;
32 33  
  34 + public RegionSelector regionSelector;
  35 + public SlidingHidder settingsPanel;
  36 + public Fadder regionPanel;
  37 + public Fadder shadow;
  38 +
33 39 private bool exit = false;
34 40  
35 41 public void Update()
... ... @@ -59,6 +65,14 @@ public class ScreenManager : MonoBehaviour {
59 65 {
60 66 makersScreen.SetActive(false);
61 67 }
  68 + else if (regionPanel.isVisible())
  69 + {
  70 + closeRegionPanel(true);
  71 + }
  72 + else if (settingsPanel.isVisible())
  73 + {
  74 + closeSettingsPanel();
  75 + }
62 76 else
63 77 {
64 78 if (exit) Application.Quit();
... ... @@ -79,7 +93,7 @@ public class ScreenManager : MonoBehaviour {
79 93  
80 94 public void hideScreen()
81 95 {
82   - setAvatarColliderState(true);
  96 + setAvatarColliderState(true);
83 97 randomAnimations.unlockFor(LOCK_ID);
84 98  
85 99 if (infoScreen.activeSelf)
... ... @@ -129,7 +143,7 @@ public class ScreenManager : MonoBehaviour {
129 143 playerManager.setPauseState(true);
130 144 setPauseMenuState(true);
131 145 }
132   -
  146 +
133 147 setAvatarColliderState(false);
134 148 randomAnimations.lockFor(LOCK_ID);
135 149  
... ... @@ -163,6 +177,57 @@ public class ScreenManager : MonoBehaviour {
163 177 return null;
164 178 }
165 179  
  180 + public void openSettingsPanel()
  181 + {
  182 + settingsPanel.Animate(true);
  183 + setPanelOpen(true);
  184 + }
  185 +
  186 + public void openRegionPanel()
  187 + {
  188 + settingsPanel.Animate(false);
  189 + regionPanel.Animate(true);
  190 + setPanelOpen(true);
  191 + }
  192 +
  193 + public void openInfoScreen()
  194 + {
  195 + closeSettingsPanel();
  196 + switchScreen(infoScreen);
  197 + }
  198 +
  199 + public void closeSettingsPanel()
  200 + {
  201 + settingsPanel.Animate(false);
  202 + setPanelOpen(false);
  203 + }
  204 +
  205 + public void closeRegionPanel(bool restoreActiveItem)
  206 + {
  207 + regionPanel.Animate(false);
  208 + setPanelOpen(false);
  209 +
  210 + if (restoreActiveItem)
  211 + regionSelector.ReselectActiveItem();
  212 + }
  213 +
  214 + public void onPanelOutClick()
  215 + {
  216 + if (regionPanel.isVisible())
  217 + closeRegionPanel(true);
  218 +
  219 + else if (settingsPanel.isVisible())
  220 + closeSettingsPanel();
  221 +
  222 + else setPanelOpen(false);
  223 + }
  224 +
  225 + private void setPanelOpen(bool open)
  226 + {
  227 + shadow.Animate(open);
  228 + setAvatarColliderState( ! open);
  229 + }
  230 +
166 231 public void setPauseMenuState(bool active)
167 232 {
168 233 this.pauseMenu.SetActive(active);
... ...
Assets/Scripts/UI/SlidingHidder.cs
1 1 using UnityEngine;
2 2 using System.Collections;
3 3  
4   -public class SlidingHidder : MonoBehaviour {
5   -
6   - public bool visible = true;
7   - public bool slideOnX = true;
8   - public bool toLeft = true;
9   - public bool slideOnY = false;
10   - public bool toTop = false;
11   - public float speed = 1f;
12   - public bool disableWhenHidden = true;
13   -
14   - private Transform transform;
15   - private Vector2 hiddenPosition;
16   - private Vector2 visiblePosition;
17   -
18   - public void setVisible(bool visible)
19   - {
20   - this.gameObject.SetActive(true);
21   - this.visible = visible;
22   - }
23   -
24   - void Start ()
25   - {
26   - transform = this.gameObject.transform;
27   - Rect obj = this.gameObject.GetComponent<RectTransform>().rect;
28   -
29   - visiblePosition = transform.position;
30   - hiddenPosition = visiblePosition;
31   -
32   - if (slideOnX) hiddenPosition.x += toLeft ? -obj.width : obj.width;
33   - if (slideOnY) hiddenPosition.y += toTop ? -obj.height: obj.height;
34   -
35   - transform.position = visible ? visiblePosition : hiddenPosition;
36   - this.gameObject.SetActive(visible);
37   - }
38   -
39   - void Update ()
40   - {
41   - Vector2 position = transform.position;
42   - Vector2 objective = visible ? visiblePosition : hiddenPosition;
43   -
44   - if (slideOnX && Mathf.Abs(position.x - objective.x) > speed)
45   - position.x += position.x < objective.x ? speed : -speed;
46   - else
47   - position.x = objective.x;
48   -
49   - if (slideOnY && Mathf.Abs(position.y - objective.y) > speed)
50   - position.y = position.y + (position.y < objective.y ? speed : -speed);
51   - else
52   - position.y = objective.y;
53   -
54   - transform.position = position;
55   - this.gameObject.SetActive(!disableWhenHidden
56   - || (position.x != hiddenPosition.x || position.y != hiddenPosition.y)
57   - );
58   - }
  4 +namespace LAViD.VLibras.UI {
  5 +
  6 + public class SlidingHidder : ExchangeableVisibility {
  7 +
  8 + public bool slideOnX = true;
  9 + public bool toLeft = true;
  10 + //public bool slideOnY = false;
  11 + //public bool toTop = false;
  12 + public float speed = 1f;
  13 + public bool disableWhenHidden = true;
  14 +
  15 + private Transform transform;
  16 + private Vector2 hiddenPosition;
  17 + private Vector2 visiblePosition;
  18 +
  19 + public override void Animate(bool visible)
  20 + {
  21 + if (base.isVisible() != visible)
  22 + {
  23 + this.gameObject.SetActive(true);
  24 + base.Animate(visible);
  25 + }
  26 + }
  27 +
  28 + void Start()
  29 + {
  30 + this.transform = this.gameObject.transform;
  31 + this.speed = Screen.width * this.speed;
  32 + Rect obj = this.gameObject.GetComponent<RectTransform>().rect;
  33 +
  34 + this.visiblePosition = transform.position;
  35 + this.hiddenPosition = transform.position;
  36 +
  37 + if (this.slideOnX) this.hiddenPosition.x += toLeft ? -obj.width : obj.width;
  38 + //if (this.slideOnY) this.hiddenPosition.y += toTop ? -obj.height: obj.height;
  39 +
  40 + this.transform.position = base.isVisible() ? this.visiblePosition : this.hiddenPosition;
  41 + this.gameObject.SetActive(base.isVisible());
  42 + }
  43 +
  44 + void Update()
  45 + {
  46 + Vector2 position = transform.position;
  47 + Vector2 objective = base.isVisible() ? this.visiblePosition : this.hiddenPosition;
  48 + bool changed = true;
  49 +
  50 + if (this.slideOnX && Mathf.Abs(position.x - objective.x) > this.speed)
  51 + position.x += position.x < objective.x ? this.speed : -this.speed;
  52 +
  53 + else if (position.x != objective.x)
  54 + position.x = objective.x;
  55 +
  56 + else changed = false;
  57 +
  58 + /*if (slideOnY && Mathf.Abs(position.y - objective.y) > speed)
  59 + position.y = position.y + (position.y < objective.y ? speed : -speed);
  60 + else
  61 + position.y = objective.y;*/
  62 +
  63 + if (changed)
  64 + {
  65 + this.transform.position = position;
  66 + this.gameObject.SetActive( ! this.disableWhenHidden
  67 + || (position.x != this.hiddenPosition.x /*|| position.y != hiddenPosition.y*/)
  68 + );
  69 + }
  70 + }
  71 +
  72 + }
59 73  
60 74 }
... ...
ProjectSettings/GraphicsSettings.asset
... ... @@ -39,20 +39,20 @@ GraphicsSettings:
39 39 m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000,
40 40 type: 0}
41 41 m_ShaderSettings_Tier1:
42   - useCascadedShadowMaps: 1
43   - standardShaderQuality: 2
44   - useReflectionProbeBoxProjection: 1
45   - useReflectionProbeBlending: 1
  42 + useCascadedShadowMaps: 0
  43 + standardShaderQuality: 0
  44 + useReflectionProbeBoxProjection: 0
  45 + useReflectionProbeBlending: 0
46 46 m_ShaderSettings_Tier2:
47   - useCascadedShadowMaps: 1
48   - standardShaderQuality: 2
49   - useReflectionProbeBoxProjection: 1
50   - useReflectionProbeBlending: 1
  47 + useCascadedShadowMaps: 0
  48 + standardShaderQuality: 1
  49 + useReflectionProbeBoxProjection: 0
  50 + useReflectionProbeBlending: 0
51 51 m_ShaderSettings_Tier3:
52   - useCascadedShadowMaps: 1
53   - standardShaderQuality: 2
54   - useReflectionProbeBoxProjection: 1
55   - useReflectionProbeBlending: 1
  52 + useCascadedShadowMaps: 0
  53 + standardShaderQuality: 1
  54 + useReflectionProbeBoxProjection: 0
  55 + useReflectionProbeBlending: 0
56 56 m_BuildTargetShaderSettings: []
57 57 m_LightmapStripping: 0
58 58 m_FogStripping: 0
... ...