From 2ba62e316ffa028a4528aebf27d35d06e09d5d4b Mon Sep 17 00:00:00 2001 From: Dries Van Schuylenbergh Date: Mon, 17 Apr 2023 22:15:26 +0200 Subject: [PATCH] Implement demo day changes - DO NOT MERGE --- Assets/Accounts/Scenes/ChangeUserScreen.unity | 8 +- .../Accounts/Scenes/UserCreationScreen.unity | 119 +++- .../Accounts/Scenes/UserProgressScreen.unity | 8 +- Assets/Accounts/Scripts/UserCreationScreen.cs | 14 + .../CourseThumbnails/ClothesThumbnail.png | Bin 5740 -> 11175 bytes .../FingerspellingThumbnail.png | Bin 4558 -> 13904 bytes .../Images/MinigameThumbnails/Galgje.png | Bin 4608 -> 11227 bytes .../Images/MinigameThumbnails/JustSign.png | Bin 5767 -> 12849 bytes .../Images/MinigameThumbnails/SpellingBee.png | Bin 5042 -> 11457 bytes Assets/Common/Prefabs/ButtonBack.prefab | 6 +- Assets/Common/Prefabs/Course Item.prefab | 14 +- Assets/Common/Prefabs/Minigame Item.prefab | 282 ++++---- .../Common/Scenes/CourseActivityScreen.unity | 14 +- Assets/Common/Scenes/CoursesMenuScreen.unity | 8 +- Assets/Common/Scenes/ListCoursesScreen.unity | 593 ++-------------- .../Common/Scenes/ListMinigamesScreen.unity | 507 +------------- Assets/Common/Scenes/MainMenuScreen.unity | 6 +- .../Scenes/MinigameActivityScreen.unity | 14 +- Assets/Common/Scenes/SettingsScreen.unity | 8 +- .../Common/Scenes/ThemeSelectionScreen.unity | 8 +- Assets/Common/Scripts/MainMenuScreen.cs | 1 + .../Prefabs/Sign with Image Panel.prefab | 2 +- Assets/Courses/Scenes/CourseScreen.unity | 231 ++----- Assets/Courses/Scripts/CoursesController.cs | 6 +- Assets/Courses/Scripts/PanelMultipleChoice.cs | 2 +- Assets/Hangman/Scenes/HangmanGame.unity | 8 +- Assets/Hangman/Scripts/HangmanController.cs | 5 +- Assets/JustSign/Scenes/JustSignGame.unity | 8 +- .../SpellingBee/Scenes/SpellingBeeGame.unity | 8 +- .../Scripts/SlicedSlider.cs | 647 ++++++++++++++++++ .../Scripts/SlicedSlider.cs.meta | 11 + 31 files changed, 1140 insertions(+), 1398 deletions(-) create mode 100644 Assets/SystemArchitecture/Scripts/SlicedSlider.cs create mode 100644 Assets/SystemArchitecture/Scripts/SlicedSlider.cs.meta diff --git a/Assets/Accounts/Scenes/ChangeUserScreen.unity b/Assets/Accounts/Scenes/ChangeUserScreen.unity index a701075..1d51329 100644 --- a/Assets/Accounts/Scenes/ChangeUserScreen.unity +++ b/Assets/Accounts/Scenes/ChangeUserScreen.unity @@ -789,11 +789,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} propertyPath: m_SizeDelta.x - value: 100 + value: 50 objectReference: {fileID: 0} - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} propertyPath: m_SizeDelta.y - value: 100 + value: 50 objectReference: {fileID: 0} - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} propertyPath: m_LocalPosition.x @@ -825,11 +825,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 10 objectReference: {fileID: 0} - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -10 objectReference: {fileID: 0} - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} propertyPath: m_LocalEulerAnglesHint.x diff --git a/Assets/Accounts/Scenes/UserCreationScreen.unity b/Assets/Accounts/Scenes/UserCreationScreen.unity index c2139dd..29152a4 100644 --- a/Assets/Accounts/Scenes/UserCreationScreen.unity +++ b/Assets/Accounts/Scenes/UserCreationScreen.unity @@ -326,6 +326,113 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 200054640} m_CullTransparentMesh: 1 +--- !u!1001 &268687073 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 906197777} + m_Modifications: + - target: {fileID: 8299246693487308514, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} + propertyPath: m_Name + value: ButtonBack + objectReference: {fileID: 0} + - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} + propertyPath: m_Pivot.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} + propertyPath: m_Pivot.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} + propertyPath: m_SizeDelta.x + value: 50 + objectReference: {fileID: 0} + - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} + propertyPath: m_SizeDelta.y + value: 50 + objectReference: {fileID: 0} + - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} + propertyPath: m_AnchoredPosition.x + value: 10 + objectReference: {fileID: 0} + - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} + propertyPath: m_AnchoredPosition.y + value: -10 + objectReference: {fileID: 0} + - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} +--- !u!224 &268687074 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} + m_PrefabInstance: {fileID: 268687073} + m_PrefabAsset: {fileID: 0} +--- !u!1 &268687075 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 8299246693487308514, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} + m_PrefabInstance: {fileID: 268687073} + m_PrefabAsset: {fileID: 0} --- !u!1 &519420028 GameObject: m_ObjectHideFlags: 0 @@ -441,7 +548,7 @@ RectTransform: m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 906197777} - m_RootOrder: 1 + m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0.5} m_AnchorMax: {x: 1, y: 0.5} @@ -576,7 +683,7 @@ RectTransform: m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 906197777} - m_RootOrder: 0 + m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 1} m_AnchorMax: {x: 0.5, y: 1} @@ -713,7 +820,7 @@ RectTransform: m_Children: - {fileID: 1087307047} m_Father: {fileID: 906197777} - m_RootOrder: 2 + m_RootOrder: 3 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} @@ -889,7 +996,7 @@ RectTransform: m_Children: - {fileID: 1229328480} m_Father: {fileID: 906197777} - m_RootOrder: 4 + m_RootOrder: 5 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0} m_AnchorMax: {x: 0.5, y: 0} @@ -1020,6 +1127,7 @@ RectTransform: m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: + - {fileID: 268687074} - {fileID: 629516232} - {fileID: 589847187} - {fileID: 645809400} @@ -1393,6 +1501,7 @@ MonoBehaviour: inputName: {fileID: 645809401} avatarsContainer: {fileID: 1832217925} avatarPrefab: {fileID: 6263784960026409964, guid: c09ef5423059da444ad7743174e9f077, type: 3} + backButton: {fileID: 268687075} --- !u!4 &1787496676 Transform: m_ObjectHideFlags: 0 @@ -1438,7 +1547,7 @@ RectTransform: m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 906197777} - m_RootOrder: 3 + m_RootOrder: 4 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} diff --git a/Assets/Accounts/Scenes/UserProgressScreen.unity b/Assets/Accounts/Scenes/UserProgressScreen.unity index 70de517..1fc5519 100644 --- a/Assets/Accounts/Scenes/UserProgressScreen.unity +++ b/Assets/Accounts/Scenes/UserProgressScreen.unity @@ -937,11 +937,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} propertyPath: m_SizeDelta.x - value: 100 + value: 50 objectReference: {fileID: 0} - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} propertyPath: m_SizeDelta.y - value: 100 + value: 50 objectReference: {fileID: 0} - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} propertyPath: m_LocalPosition.x @@ -973,11 +973,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 10 objectReference: {fileID: 0} - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -10 objectReference: {fileID: 0} - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} propertyPath: m_LocalEulerAnglesHint.x diff --git a/Assets/Accounts/Scripts/UserCreationScreen.cs b/Assets/Accounts/Scripts/UserCreationScreen.cs index cf185c5..34bf655 100644 --- a/Assets/Accounts/Scripts/UserCreationScreen.cs +++ b/Assets/Accounts/Scripts/UserCreationScreen.cs @@ -44,6 +44,16 @@ public class UserCreationScreen : MonoBehaviour /// private List avatars = new List(); + /// + /// Reference to the back button, so we can deactivate it when the user cannot go back (when no user is found at startup) + /// + public GameObject backButton; + + /// + /// Boolean used to check whether the user can go back to the previous scene + /// + public static bool canGoBack = true; + /// /// Start is called before the first frame update @@ -51,6 +61,10 @@ public class UserCreationScreen : MonoBehaviour void Start() { errorMessage.SetActive(false); + backButton.SetActive(canGoBack); + + // Reset to default value + UserCreationScreen.canGoBack = true; for (int i = 0; i < UserList.AVATARS.Count; i++) { diff --git a/Assets/Common/Images/CourseThumbnails/ClothesThumbnail.png b/Assets/Common/Images/CourseThumbnails/ClothesThumbnail.png index cd24ff0b7ecba9365b3ce84e004a7c6fe4be67ed..e089c9376ed88bb856d65681effce8d368dd3325 100644 GIT binary patch literal 11175 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 UNGs6u{%EM9VW?iNY9H}`0C_HG(*OVf delta 4707 zcmZ`*2{=@3`+v@ib?gyipN2@*k!5USDvE5qs1#+!lC3e5EoC`_Hf76Hd@1ziwG^R{ zqB;>nskepfjF(g|3T1n3-=X)t{@?$9egAV^&$-ThKj*oBzjHt5xqo-jfpMJ-HCZ6c zvO5?KfQaEloEaN0}Q$qe%+80(qn`jU){38rRx zB$I7MW@b7BLjw|7-+-)7+NMh~F*huCXP7@df*Iz{WFF&ORaWP? zC~8ZrPdG9Cf{vcFp-1?0UMed|{q*@q(EaEU^nbjv1V3N%qs%Y{9R&$u&;$JSS)l<$ z&ZGjKBciCq>6cgJ98liOxh7BL5ESgpDFjOt)5*!)E+`xYJ&D?DEZzK%|NV3(r_g(u2E28fjJ%2wUM_)yec z!9NrY9Y(aK#2hjf2S8H8-e$XdbkD>M_(avlCS@+fZ}ZFe7NKih{M(xncj;{ZMNQV` z{4S%n_+e5F{#NsbR2A)-z++N%D%#xQn;wZO{9*2w18w&1**hfs&W5kxvCB&KNlm+f zx)ZYl-4E;T4-T3Qt`5{~v#9&t-Tg1`AORzedP(*>f?Xyc*#EBq|A)iBeZyzLdeOFu zQv#obt6Ds~P5JfsD14(B>4Y4%Gls3c&t##z@VKYI^^BWOqQF_xx1BC*Wqx2Eb|9Q* zx2HETrT(xd)S2~V%ud7zqGl>psTdTr72FooYo&TyV7y%iq9lQOt5Xh^X%2XoM1Mqj zo`YMxnRAAGXbe6i@SOdOhcl?ak&l23^%J1}BVg|i=VPy+(8A!q-l*H#ab3b>adIn1 zp!@zPgZ%-+1_a>erd)<~I8-AVjp?!ll7NqWEJ&KSxuMIwP64$5L{NkDiZ*-*1@MOp zcp%}IUp~PPAjEbI1B;2W)7gAxE-lIZ=@H@FQrk=dm0_1*|>zDK8pm!}QqT z*aDuS?a(lrn=putDST5T#)h)hRrP)USo#EMuZ5dgTY5Qfm~E?KcwiEz=tBP&-e@)hcC= zmMov*?LjF>g1&o@muK-bkaJ`7|5Q>mm&0BS7e}Fxlc<5qMBQR$=xmpK+bY z6V!1jS=K^cW2mGKdAuSXXe+7A>wF>5f?oKBdBe%Gb6~WnZ{<5WUtQiWieqSw2Bzdn z{5aTNmptn&`ewz4rvv3jE6_}ncJxk|$>+tf&m=Va39WwH)Gf^kwmh9G(1Qa_u0;y5 z7@el*(vS4mBSK`o_X$Trs#L?0qQqG#AY(OSfWcP5!>p`TGqWbK!shYNzCD4}m0Z~G zMzPbD<1u|>q`<@&rJq4Ed}3j%@}bT+`)ihB@wV#8O#x zLX2yCZSHe&d+m=R{fgqY%7Z<-lO@~~>%edxsZxLeCno#I0K>a_X^QT{8zdiF7;O7Z zFhoJa{><3SL$cXnTMp8MV21F~l1>WuX6Xra$!uR$lMh{M%y^D$Gz`O_g4Z4?& zN^T6*{$L6yoiFkK=2OnemFw+NfOvV?1;p>cZ)P#XJ97BmkwLL}@{rSwOxiF5yQC>} zQiv1%d`4z?;q+5$h{JB2^LXm12HLP1m!8bgeQWUK?V#mu@7L_DX<1&TuT2`%D<|np z$Wy(x`91sF*1%8UOHJLdX`ojs*qeSl>+YFzqZ=SXPOwPd!Oh(I<{rT z@y)3CKIccKR(ay>e@f?Hovo%o_e!3qq!l##xUwJCEMP5?wJW>TUz)uC5I?tn>}qT> zmjsuvL2;v!un3U1_^LSkMPN1AFHObD?yJ~?mQYKR6UT1xHz%}m;mi|PxtxR;5h1p4 zRGvL($q=87PRhDePu{)Cr|3F^KQO5N6wY6^nWDc;u#Q%kbI|TfZ@Hf;P$L8GeeC@f zb08kyI{miHUvuX}`$y09hB6;W;fh@ZRq- zS$bW}>xsYeF0u@9SDhxUsNwk7C$}h(!yg$pDL%o?ALfrkH??u4+0T*X{BDq}Bt4&b zHFer(MNlSCm3Mfn%RW6&P|)f6&JW0|Y{`)Vc(qPWW5KqkuKUTo-uhqI zt*bYvkJfS``Yc|M>JDWY(vsc(Iz-LJ_c4l?@JT#ey zf4b}oQ9q}^Mz=_m1xh(xZt0}qqn@n!)DUKR@|%lO6L5Sf#~TzcO`N=5wDL_XrTm%k zya08Z<7KZDi`6o;ywRLIaZA@;Sp9ho8#j5N#ZUxv;pb!gn5z_$OFWc+${}+%ZKf5* zeaZdai2<+1Pal*L21k&QL>WNDAVivgMqZy6>>}}k*7tk6CuBX-{uL9W9Jvuu*9BFA zyLMsNjXrrxwphd?C1%1Ii9#-AM|e>%hrZs74SQQQ#d#U8r6CLF_h*csZIv;ye8w!| zXP+&#y%R=R;7ZfwD~MRy7N?>YUheqkOVV0h=%1 z%rGgRHEW$V!U1_fVc@S^8bW@-0U_?`VtJ9U%Vv1_U)gmJA=crWqsSw)9ihwst6Ryh$!m+kc5#MYn`tbLpjLm;hVtqS3;d zIk6b7*I_|9b1%r|>UVEcIfBL5(sr65;R+@=H*Z(e0rLSD^US3Jan(K3?vv}{dHK!F zY}#*@UDC*3>-PM6x)}!HT#mXgyDptK)6}f>o;4Z_wXIJ_zYChzK6b6FS!`OTQ|BXwIe^U=uerOt@rNbg^0 zBoz2y>;3H`gS*@^+Nf(#ZaEmW^Nr#^N&oAV&sMo6n#4~QcdsI<$=p#)jtIQYs!*4- zFVg2;I4ZlS#P=>)T%A8wkH!}QAFIVD-A@A#+>iCXA-~Ez)A}ha=gBX+9yh-#jd&!+ zWxd5HtiBrO&>XytG?0qI6M)gL`?DhsRibII|7pi9J+Slv?bs8-pt~Ih<@viKcT&kBO{^cWnaCBhyYvq<omr-PIu|wDsmg%bp_#xyXhFa6{%z5N6$zH3@$FM&1 zkIAPbC|~&vBlY-aT!b^dtrv*kFzibhYW)RaaPxq-Ere*Ve`Kup80LF5X07G&!Q`76 zloJ4613bT@hx|yfW)IRcL;V=zg>vX$CjzE!D>uVt8ZSrR$NXM2pe+Pebinhn($0G^ zqQi3;)yHEh0SDGGMem8d5=zsZM`2SLgQQ`>*%h%#>IL*2gN%NCTxcC3*u!-fYMNFDFQOVo6}L} zBc?mCF3n5h!P7WEsUl7769^?gT1NXEf-v~#c0cvJB)F(%^=Kn{#>#`0zwF{QWSau? z5FlBHc%x!pUhddPEV;Pc-7&He#Fj9rAoiSa=APaGDU=A}WQBEFxe^tm@~g^_&>EM% zb}LCB3wd`<`N}s66LWJ;SnEQRs4C_ufSsF%U1< z@ljPP)N@GmhwNH*s!TR}r6Su5%!DXHZ$99NuLaam@F!I+`K{g(qE(DEvG!3GyvBCV z*gG}_oa-{#xl#RJ&XjxG)+)m*B4jNZ%~yMiF{jZ`ptdSYc3Q(~?#N-8$hc+J%d-qM zGzh03*Bq)_<6l~M0E6K*cl7j2xfvLr)`ecnp(J>V<{Vb#f>$)mhWgotCsL@>vJi*$N^i zh)qL}Q|gafRtB0h)%`$D1h~G146+Th9x5CY&=}t98+Y+>mVrhqcg1{K(;i!P@&;${Fu5aP%ev@TWp|h75XQK0}kfj+7@Ev*eE< z-)Abgr#DR;O_3`AgyR`%AgyJ}xCVquShhaFM1_C$bl|NZaXI`EQee6)lC7IicDp@U zT%yg8C#TZ$CzX-tHd_@iwTZz>T$zyR(ua74VMokri=|;*#|*e&~oVz6d2QBoXc$vVq z+4~LydrjWmZQJ@~OzQMSDKLK#WaukXvwz*N>DZ=bEzMU`hvaH4c*a(V_N4tzdFev6 z2OpN6PEQ0G&mOF%KKBobDU5_h`Qh5MQ!&p!Ymd)LHk{NJmjlx`Q-fJYuh&>zoz6aU zd*MVR|KQTccI^BX>R^@-SlDa9>uv!o_=WG)s3%Vs5Hl^u6@kcV=4T^DF38C1Ulmcq zB3fGM-8D#&*32@URu1Ok9O|ZW_G=7T@UfQy0~$syOVCw&_BmY}t~O!830w*+?3Fa7 z9VjD;?X;Q*jI`bqZ!B-c!|(YDwB3GRr(~ zWmpe!b}|VSA{CpO$6O6Vey2L59Pk%R@$D$d-a&W(%^4q;P`Nk9b9ba*9%39a)q&lA c9hWyR%e9H?81;LMT?go8Z|iJxcLy!;-{joYSpWb4 diff --git a/Assets/Common/Images/CourseThumbnails/FingerspellingThumbnail.png b/Assets/Common/Images/CourseThumbnails/FingerspellingThumbnail.png index 6bfb013e90064ae2f85eeef980b61784d2a32059..41b9852ca8c28946f68cdf449e8d422caf970df3 100644 GIT binary patch literal 13904 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%0Du8tU(aC@y*1LWP5_QL3IK*Zz|EezPQuYWC7=x< zpqrzcEEV9*(0P*BU3U3t<95HjjCKXx@VtL@jXw8we}UTT0) znvQL!w=v2*7s~^fucn{H!p@&x6dnV;iANt^+*pifcGKEUz@4qNNCjeh@EL!_$pj@O zXz513$D!$VsN2sU^?lUf$!(_4pEX$}%D6qEnCcbbjV3CedyWBub%KUtLNK-KHzztT5sG-^$V2kg#?_?F> zxs=ofRRNFB$>&_qaV*@C2dx#zckFGQ+K1(l4BVMF$Co)sSW(*C8hF32^Kgm-Xt!IU z8KHFrP@Ga{T{4Gw?NYz`{m?CYUK1a5&~Kk)y}u~k(qqvqQ}lQxuY;y}jt7g%n(O#p z_H6i+gH64Jq!v`f4;`!z;aZ1YUF@?JF#-ajmOJ;d2s{cJ=Fiw ztwioU9?Exlk^v{-;+xsB*ZK17)E%`tHHEB;DG1gcO8WDFBh0l#)?FNzdS#LptA;== zym^Qf$vZ%CvsNalv7(TMPGPsyiF7$j>W8GUiT zLuFlXh|R9P$jSVc-i-UZ=`vR@v6F)<2oICrHF-L9R zt@PT>HUldo1M)?1=c+HL^)4-Wa3#Im$ci(3q%t>k59HVGrwdkz}I0|#u(zw=%5jwlm!q#H>VP>HCU zpC3Zt&fUM5(!C6L`ie)5@Rl%p-cQ8qPmhCso?ly+GP7WId#j7*>%AU3#2$P@*e?u! zN|;ge%(?2`jg+cufXN?+4`~+fKt0x#*y!?+B$Ypx*%WecMme*av!e`K<#_|fr5l0l`&;+2s1K)T?MSPRp{uw2pjQuGs2p7yg z4Il=5Xk@Y5@py@#8W6+)fSeQrpiLf509nNIvB3a3{ZCJC7V88P%9+g>y}xu%%}8Hm zC|?&CrjK0ljLDPSjExZ8Yl(>5D9EylA8@(e846IUixfl{?xq>3fKNiD)2P++F14&8 zA*D{?*+qB@43;~AY2x}&oj#*Jq35wCyCg<(r`hLa4?i2AxxtY?v#be5#c0&eF#5^c z&S>sZgy+p$gv;IvJ0~Amqd*-|l|ld$ayyripZ!)&kkQ%sa?8tF+)^|*P*f1%QJ+Ue z%!2!_|6*HelN!FAD{E43$emImFB;hfI@px5q6}XvRXuB>08nLy=iTke{}H%oC}i}6 z5|sbip5p9S4NT-4F{R&&f#CY;WtwLw>|`*dFdFA@fPZczej-*69>G*bq2ajZo>@=n zaQK87sU)8XswhmeWSK(1-^i6AM0s(<&aY(6!|)%yveMoHe+1!dkElAQVS0l|lUbda zIBZtBcs-~x&+QC$Ua3VuY>XqWDyjuEuLwu! zialh5u;dXjxMP^u`8+H0Eeh?6!CG?oSWr2-CyQZW;h ziPdbW2o=B?T2R%w06X=9rQv1${?5v5e^%Jh(nx8QyI!Nqqzy}&Px27+G? p1I_4507ne?vDkY2>%d%`(LW%3_g&mcF!oBQp`wd=qGS{OKLBa>Y9s&v delta 3568 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 literal 4608 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 R{8tVDo@@PFFMSuW>mSHz1gZc4 diff --git a/Assets/Common/Images/MinigameThumbnails/JustSign.png b/Assets/Common/Images/MinigameThumbnails/JustSign.png index 0daba548e18d8441cb089aab7b9d3ef69a169daa..91f0e90adbca54120104fa4d0994d99b57fc0165 100644 GIT binary patch literal 12849 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 SxTf8^6{;v`$iI^{3;Hi7fxfK( literal 5767 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 E1u2vGUH||9 delta 4201 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 Y(1LAlN;q}R7J(UXwB2P>Zbd!%KM}16#Q*>R diff --git a/Assets/Common/Prefabs/ButtonBack.prefab b/Assets/Common/Prefabs/ButtonBack.prefab index 387158a..2b46bd2 100644 --- a/Assets/Common/Prefabs/ButtonBack.prefab +++ b/Assets/Common/Prefabs/ButtonBack.prefab @@ -37,8 +37,8 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 300, y: 120} + m_AnchoredPosition: {x: 10, y: -10} + m_SizeDelta: {x: 50, y: 50} m_Pivot: {x: 0, y: 1} --- !u!222 &8299246693487308518 CanvasRenderer: @@ -118,7 +118,7 @@ MonoBehaviour: m_SelectedTrigger: Selected m_DisabledTrigger: Disabled m_Interactable: 1 - m_TargetGraphic: {fileID: 0} + m_TargetGraphic: {fileID: 54433152227066563} m_OnClick: m_PersistentCalls: m_Calls: diff --git a/Assets/Common/Prefabs/Course Item.prefab b/Assets/Common/Prefabs/Course Item.prefab index 2f0caf5..7c90bd0 100644 --- a/Assets/Common/Prefabs/Course Item.prefab +++ b/Assets/Common/Prefabs/Course Item.prefab @@ -592,10 +592,10 @@ RectTransform: m_Father: {fileID: 4959898007614330356} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: -6} - m_SizeDelta: {x: 256, y: 164} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -20, y: -100} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &4959898009379617295 CanvasRenderer: @@ -618,7 +618,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_Material: {fileID: 0} - m_Color: {r: 0.25882354, g: 0.61960787, b: 0.7411765, a: 1} + m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 1 m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 @@ -627,7 +627,7 @@ MonoBehaviour: m_Calls: [] m_Sprite: {fileID: 0} m_Type: 0 - m_PreserveAspect: 0 + m_PreserveAspect: 1 m_FillCenter: 1 m_FillMethod: 4 m_FillAmount: 1 @@ -671,7 +671,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: -10} + m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: -20, y: 64} m_Pivot: {x: 0.5, y: 1} --- !u!222 &7918167783998757471 diff --git a/Assets/Common/Prefabs/Minigame Item.prefab b/Assets/Common/Prefabs/Minigame Item.prefab index 582a3f2..0b2fdaf 100644 --- a/Assets/Common/Prefabs/Minigame Item.prefab +++ b/Assets/Common/Prefabs/Minigame Item.prefab @@ -1,5 +1,140 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: +--- !u!1 &425409310702691282 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7578001082699649381} + - component: {fileID: 1032168323822911732} + - component: {fileID: 814674078455998583} + m_Layer: 5 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7578001082699649381 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 425409310702691282} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4484781637876518546} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &1032168323822911732 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 425409310702691282} + m_CullTransparentMesh: 1 +--- !u!114 &814674078455998583 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 425409310702691282} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 3602bedf0ebe5b64596873f09eddf57b, type: 2} + m_sharedMaterial: {fileID: -1030930060397404263, guid: 3602bedf0ebe5b64596873f09eddf57b, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4284235525 + m_fontColor: {r: 0.019607844, g: 0.24705882, b: 0.36078432, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 35 + m_fontSizeBase: 35 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} --- !u!1 &4959898007614330357 GameObject: m_ObjectHideFlags: 0 @@ -139,143 +274,8 @@ MonoBehaviour: minigame: {fileID: 0} thumbnail: {fileID: 4959898009379617328} minigameList: {fileID: 11400000, guid: 51453f9b41bc72f468ba3e67ab622f8f, type: 2} - title: {fileID: 4959898009362012447} + title: {fileID: 814674078455998583} button: {fileID: 4959898007614330355} ---- !u!1 &4959898009362012417 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 4959898009362012416} - - component: {fileID: 4959898009362012446} - - component: {fileID: 4959898009362012447} - m_Layer: 5 - m_Name: Text (TMP) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &4959898009362012416 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4959898009362012417} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 4484781637876518546} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &4959898009362012446 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4959898009362012417} - m_CullTransparentMesh: 1 ---- !u!114 &4959898009362012447 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4959898009362012417} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_text: - m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: 3602bedf0ebe5b64596873f09eddf57b, type: 2} - m_sharedMaterial: {fileID: -1030930060397404263, guid: 3602bedf0ebe5b64596873f09eddf57b, type: 2} - m_fontSharedMaterials: [] - m_fontMaterial: {fileID: 0} - m_fontMaterials: [] - m_fontColor32: - serializedVersion: 2 - rgba: 4284235525 - m_fontColor: {r: 0.019607844, g: 0.24705882, b: 0.36078432, a: 1} - m_enableVertexGradient: 0 - m_colorMode: 3 - m_fontColorGradient: - topLeft: {r: 1, g: 1, b: 1, a: 1} - topRight: {r: 1, g: 1, b: 1, a: 1} - bottomLeft: {r: 1, g: 1, b: 1, a: 1} - bottomRight: {r: 1, g: 1, b: 1, a: 1} - m_fontColorGradientPreset: {fileID: 0} - m_spriteAsset: {fileID: 0} - m_tintAllSprites: 0 - m_StyleSheet: {fileID: 0} - m_TextStyleHashCode: -1183493901 - m_overrideHtmlColors: 0 - m_faceColor: - serializedVersion: 2 - rgba: 4294967295 - m_fontSize: 35 - m_fontSizeBase: 35 - m_fontWeight: 400 - m_enableAutoSizing: 0 - m_fontSizeMin: 18 - m_fontSizeMax: 72 - m_fontStyle: 0 - m_HorizontalAlignment: 2 - m_VerticalAlignment: 512 - m_textAlignment: 65535 - m_characterSpacing: 0 - m_wordSpacing: 0 - m_lineSpacing: 0 - m_lineSpacingMax: 0 - m_paragraphSpacing: 0 - m_charWidthMaxAdj: 0 - m_enableWordWrapping: 1 - m_wordWrappingRatios: 0.4 - m_overflowMode: 0 - m_linkedTextComponent: {fileID: 0} - parentLinkedComponent: {fileID: 0} - m_enableKerning: 1 - m_enableExtraPadding: 0 - checkPaddingRequired: 0 - m_isRichText: 1 - m_parseCtrlCharacters: 1 - m_isOrthographic: 1 - m_isCullingEnabled: 0 - m_horizontalMapping: 0 - m_verticalMapping: 0 - m_uvLineOffset: 0 - m_geometrySortingOrder: 0 - m_IsTextObjectScaleStatic: 0 - m_VertexBufferAutoSizeReduction: 0 - m_useMaxVisibleDescender: 1 - m_pageToDisplay: 1 - m_margin: {x: 0, y: 0, z: 0, w: 30.78595} - m_isUsingLegacyAnimationComponent: 0 - m_isVolumetricText: 0 - m_hasFontAssetChanged: 0 - m_baseMaterial: {fileID: 0} - m_maskOffset: {x: 0, y: 0, z: 0, w: 0} --- !u!1 &4959898009379617330 GameObject: m_ObjectHideFlags: 0 @@ -311,8 +311,8 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: -22.5} - m_SizeDelta: {x: 0, y: -45} + m_AnchoredPosition: {x: 0, y: -20} + m_SizeDelta: {x: -20, y: -60} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &4959898009379617295 CanvasRenderer: @@ -335,7 +335,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_Material: {fileID: 0} - m_Color: {r: 0.25882354, g: 0.61960787, b: 0.7411765, a: 1} + m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 1 m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 @@ -382,13 +382,13 @@ RectTransform: m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: - - {fileID: 4959898009362012416} + - {fileID: 7578001082699649381} m_Father: {fileID: 4959898007614330356} m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: -10} + m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: -20, y: 64} m_Pivot: {x: 0.5, y: 1} --- !u!222 &7404719235506382604 diff --git a/Assets/Common/Scenes/CourseActivityScreen.unity b/Assets/Common/Scenes/CourseActivityScreen.unity index 391dda9..4bd0f78 100644 --- a/Assets/Common/Scenes/CourseActivityScreen.unity +++ b/Assets/Common/Scenes/CourseActivityScreen.unity @@ -1283,16 +1283,16 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_Material: {fileID: 0} - m_Color: {r: 0.25882354, g: 0.61960787, b: 0.7411765, a: 1} + m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 1 m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_Sprite: {fileID: 21300000, guid: 8f5216ce0bfcecc4da0340703872c4ff, type: 3} + m_Sprite: {fileID: 21300000, guid: 5387f0486602abf479f049d9afa9d3cb, type: 3} m_Type: 0 - m_PreserveAspect: 0 + m_PreserveAspect: 1 m_FillCenter: 1 m_FillMethod: 4 m_FillAmount: 1 @@ -2391,11 +2391,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} propertyPath: m_SizeDelta.x - value: 100 + value: 50 objectReference: {fileID: 0} - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} propertyPath: m_SizeDelta.y - value: 100 + value: 50 objectReference: {fileID: 0} - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} propertyPath: m_LocalPosition.x @@ -2427,11 +2427,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 10 objectReference: {fileID: 0} - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -10 objectReference: {fileID: 0} - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} propertyPath: m_LocalEulerAnglesHint.x diff --git a/Assets/Common/Scenes/CoursesMenuScreen.unity b/Assets/Common/Scenes/CoursesMenuScreen.unity index 648b110..f99f445 100644 --- a/Assets/Common/Scenes/CoursesMenuScreen.unity +++ b/Assets/Common/Scenes/CoursesMenuScreen.unity @@ -1755,11 +1755,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} propertyPath: m_SizeDelta.x - value: 100 + value: 50 objectReference: {fileID: 0} - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} propertyPath: m_SizeDelta.y - value: 100 + value: 50 objectReference: {fileID: 0} - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} propertyPath: m_LocalPosition.x @@ -1791,11 +1791,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 10 objectReference: {fileID: 0} - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -10 objectReference: {fileID: 0} - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} propertyPath: m_LocalEulerAnglesHint.x diff --git a/Assets/Common/Scenes/ListCoursesScreen.unity b/Assets/Common/Scenes/ListCoursesScreen.unity index 3e00aa2..89479c5 100644 --- a/Assets/Common/Scenes/ListCoursesScreen.unity +++ b/Assets/Common/Scenes/ListCoursesScreen.unity @@ -236,7 +236,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3} propertyPath: m_RootOrder - value: 5 + value: 6 objectReference: {fileID: 0} - target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3} propertyPath: m_AnchorMax.x @@ -341,170 +341,6 @@ RectTransform: m_CorrespondingSourceObject: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3} m_PrefabInstance: {fileID: 289602554} m_PrefabAsset: {fileID: 0} ---- !u!1 &316289682 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 316289683} - m_Layer: 5 - m_Name: Sliding Area - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &316289683 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 316289682} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 1708714069} - m_Father: {fileID: 357869362} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: -20, y: -20} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!1 &357869361 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 357869362} - - component: {fileID: 357869365} - - component: {fileID: 357869364} - - component: {fileID: 357869363} - m_Layer: 5 - m_Name: Scrollbar Horizontal - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &357869362 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 357869361} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 316289683} - m_Father: {fileID: 1119454410} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 0} - m_AnchoredPosition: {x: 0, y: -20} - m_SizeDelta: {x: 0, y: 20} - m_Pivot: {x: 0, y: 0} ---- !u!114 &357869363 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 357869361} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 2a4db7a114972834c8e4117be1d82ba3, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Navigation: - m_Mode: 3 - m_WrapAround: 0 - m_SelectOnUp: {fileID: 0} - m_SelectOnDown: {fileID: 0} - m_SelectOnLeft: {fileID: 0} - m_SelectOnRight: {fileID: 0} - m_Transition: 1 - m_Colors: - m_NormalColor: {r: 1, g: 1, b: 1, a: 1} - m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} - m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} - m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} - m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} - m_ColorMultiplier: 1 - m_FadeDuration: 0.1 - m_SpriteState: - m_HighlightedSprite: {fileID: 0} - m_PressedSprite: {fileID: 0} - m_SelectedSprite: {fileID: 0} - m_DisabledSprite: {fileID: 0} - m_AnimationTriggers: - m_NormalTrigger: Normal - m_HighlightedTrigger: Highlighted - m_PressedTrigger: Pressed - m_SelectedTrigger: Selected - m_DisabledTrigger: Disabled - m_Interactable: 1 - m_TargetGraphic: {fileID: 1708714070} - m_HandleRect: {fileID: 1708714069} - m_Direction: 0 - m_Value: 0 - m_Size: 1 - m_NumberOfSteps: 0 - m_OnValueChanged: - m_PersistentCalls: - m_Calls: [] ---- !u!114 &357869364 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 357869361} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} - m_Type: 1 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 ---- !u!222 &357869365 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 357869361} - m_CullTransparentMesh: 1 --- !u!1 &364712550 GameObject: m_ObjectHideFlags: 0 @@ -581,82 +417,6 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 364712550} m_CullTransparentMesh: 1 ---- !u!1 &461792788 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 461792789} - - component: {fileID: 461792790} - - component: {fileID: 461792791} - m_Layer: 5 - m_Name: Content - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &461792789 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 461792788} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1181759420} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0.00024414062, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0, y: 1} ---- !u!114 &461792790 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 461792788} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 8a8695521f0d02e499659fee002a26c2, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Padding: - m_Left: 10 - m_Right: 10 - m_Top: 10 - m_Bottom: 10 - m_ChildAlignment: 0 - m_StartCorner: 0 - m_StartAxis: 0 - m_CellSize: {x: 256, y: 256} - m_Spacing: {x: 10, y: 10} - m_Constraint: 2 - m_ConstraintCount: 3 ---- !u!114 &461792791 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 461792788} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3} - m_Name: - m_EditorClassIdentifier: - m_HorizontalFit: 2 - m_VerticalFit: 2 --- !u!1 &519420028 GameObject: m_ObjectHideFlags: 0 @@ -1118,7 +878,7 @@ RectTransform: - {fileID: 745485883} - {fileID: 364712551} - {fileID: 1503088043} - - {fileID: 1119454410} + - {fileID: 1934345758} - {fileID: 1143402633} - {fileID: 289602555} m_Father: {fileID: 1768150806} @@ -1302,115 +1062,6 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 994710774} m_CullTransparentMesh: 1 ---- !u!1 &1119454409 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1119454410} - - component: {fileID: 1119454413} - - component: {fileID: 1119454412} - - component: {fileID: 1119454411} - m_Layer: 5 - m_Name: Courses - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1119454410 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1119454409} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 0.9, y: 0.9, z: 0.9} - m_ConstrainProportionsScale: 1 - m_Children: - - {fileID: 1181759420} - - {fileID: 357869362} - m_Father: {fileID: 906197777} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 1590, y: 808} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &1119454411 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1119454409} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 1aa08ab6e0800fa44ae55d278d1423e3, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Content: {fileID: 461792789} - m_Horizontal: 1 - m_Vertical: 0 - m_MovementType: 2 - m_Elasticity: 0.1 - m_Inertia: 1 - m_DecelerationRate: 0.135 - m_ScrollSensitivity: 1 - m_Viewport: {fileID: 1181759420} - m_HorizontalScrollbar: {fileID: 357869363} - m_VerticalScrollbar: {fileID: 0} - m_HorizontalScrollbarVisibility: 0 - m_VerticalScrollbarVisibility: 0 - m_HorizontalScrollbarSpacing: -3 - m_VerticalScrollbarSpacing: -3 - m_OnValueChanged: - m_PersistentCalls: - m_Calls: [] ---- !u!114 &1119454412 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1119454409} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 0.8235294, g: 0.8235294, b: 0.8235294, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_Sprite: {fileID: 0} - m_Type: 1 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 ---- !u!222 &1119454413 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1119454409} - m_CullTransparentMesh: 1 --- !u!1001 &1143402632 PrefabInstance: m_ObjectHideFlags: 0 @@ -1432,7 +1083,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} propertyPath: m_RootOrder - value: 4 + value: 5 objectReference: {fileID: 0} - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} propertyPath: m_AnchorMax.x @@ -1452,11 +1103,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} propertyPath: m_SizeDelta.x - value: 100 + value: 50 objectReference: {fileID: 0} - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} propertyPath: m_SizeDelta.y - value: 100 + value: 50 objectReference: {fileID: 0} - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} propertyPath: m_LocalPosition.x @@ -1488,11 +1139,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 10 objectReference: {fileID: 0} - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -10 objectReference: {fileID: 0} - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} propertyPath: m_LocalEulerAnglesHint.x @@ -1513,97 +1164,6 @@ RectTransform: m_CorrespondingSourceObject: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} m_PrefabInstance: {fileID: 1143402632} m_PrefabAsset: {fileID: 0} ---- !u!1 &1181759419 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1181759420} - - component: {fileID: 1181759423} - - component: {fileID: 1181759422} - - component: {fileID: 1181759421} - m_Layer: 5 - m_Name: Viewport - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1181759420 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1181759419} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 461792789} - m_Father: {fileID: 1119454410} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &1181759421 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1181759419} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 31a19414c41e5ae4aae2af33fee712f6, type: 3} - m_Name: - m_EditorClassIdentifier: - m_ShowMaskGraphic: 0 ---- !u!114 &1181759422 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1181759419} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_Sprite: {fileID: 10917, guid: 0000000000000000f000000000000000, type: 0} - m_Type: 1 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 ---- !u!222 &1181759423 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1181759419} - m_CullTransparentMesh: 1 --- !u!1 &1417412674 GameObject: m_ObjectHideFlags: 0 @@ -1633,7 +1193,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 0fac0bf527487ad48835aff400b1f762, type: 3} m_Name: m_EditorClassIdentifier: - courseContainer: {fileID: 461792789} + courseContainer: {fileID: 1934345758} courseItemPrefab: {fileID: 4959898007614330357, guid: baf585123c6364d40a17b89676eb350d, type: 3} courseList: {fileID: 11400000, guid: a7ab583094b7897468bbca9243717608, type: 2} --- !u!4 &1417412676 @@ -1827,82 +1387,6 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1503088042} m_CullTransparentMesh: 1 ---- !u!1 &1708714068 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1708714069} - - component: {fileID: 1708714071} - - component: {fileID: 1708714070} - m_Layer: 5 - m_Name: Handle - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1708714069 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1708714068} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 316289683} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 20, y: 20} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &1708714070 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1708714068} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} - m_Type: 1 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 ---- !u!222 &1708714071 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1708714068} - m_CullTransparentMesh: 1 --- !u!1 &1768150802 GameObject: m_ObjectHideFlags: 0 @@ -2004,3 +1488,64 @@ RectTransform: m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0, y: 0} +--- !u!1 &1934345757 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1934345758} + - component: {fileID: 1934345759} + m_Layer: 5 + m_Name: Courses + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1934345758 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1934345757} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 906197777} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -20, y: 0} + m_SizeDelta: {x: -360, y: -320.00003} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1934345759 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1934345757} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8a8695521f0d02e499659fee002a26c2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 10 + m_Right: 10 + m_Top: 10 + m_Bottom: 10 + m_ChildAlignment: 4 + m_StartCorner: 0 + m_StartAxis: 0 + m_CellSize: {x: 350, y: 350} + m_Spacing: {x: 10, y: 10} + m_Constraint: 0 + m_ConstraintCount: 2 diff --git a/Assets/Common/Scenes/ListMinigamesScreen.unity b/Assets/Common/Scenes/ListMinigamesScreen.unity index 94f3733..36f5efa 100644 --- a/Assets/Common/Scenes/ListMinigamesScreen.unity +++ b/Assets/Common/Scenes/ListMinigamesScreen.unity @@ -292,43 +292,6 @@ RectTransform: m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0, y: 0} ---- !u!1 &167820757 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 167820758} - m_Layer: 5 - m_Name: Sliding Area - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &167820758 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 167820757} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 1486682951} - m_Father: {fileID: 1354622762} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: -20, y: -20} - m_Pivot: {x: 0.5, y: 0.5} --- !u!1001 &238926233 PrefabInstance: m_ObjectHideFlags: 0 @@ -374,7 +337,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3} propertyPath: m_RootOrder - value: 5 + value: 6 objectReference: {fileID: 0} - target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3} propertyPath: m_AnchorMax.x @@ -1159,224 +1122,6 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1099058600} m_CullTransparentMesh: 1 ---- !u!1 &1354622761 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1354622762} - - component: {fileID: 1354622765} - - component: {fileID: 1354622764} - - component: {fileID: 1354622763} - m_Layer: 5 - m_Name: Scrollbar Horizontal - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1354622762 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1354622761} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 167820758} - m_Father: {fileID: 1570876499} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 0} - m_AnchoredPosition: {x: 0, y: -20} - m_SizeDelta: {x: 0, y: 20} - m_Pivot: {x: 0, y: 0} ---- !u!114 &1354622763 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1354622761} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 2a4db7a114972834c8e4117be1d82ba3, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Navigation: - m_Mode: 3 - m_WrapAround: 0 - m_SelectOnUp: {fileID: 0} - m_SelectOnDown: {fileID: 0} - m_SelectOnLeft: {fileID: 0} - m_SelectOnRight: {fileID: 0} - m_Transition: 1 - m_Colors: - m_NormalColor: {r: 1, g: 1, b: 1, a: 1} - m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} - m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} - m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} - m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} - m_ColorMultiplier: 1 - m_FadeDuration: 0.1 - m_SpriteState: - m_HighlightedSprite: {fileID: 0} - m_PressedSprite: {fileID: 0} - m_SelectedSprite: {fileID: 0} - m_DisabledSprite: {fileID: 0} - m_AnimationTriggers: - m_NormalTrigger: Normal - m_HighlightedTrigger: Highlighted - m_PressedTrigger: Pressed - m_SelectedTrigger: Selected - m_DisabledTrigger: Disabled - m_Interactable: 1 - m_TargetGraphic: {fileID: 1486682952} - m_HandleRect: {fileID: 1486682951} - m_Direction: 0 - m_Value: 0 - m_Size: 1 - m_NumberOfSteps: 0 - m_OnValueChanged: - m_PersistentCalls: - m_Calls: [] ---- !u!114 &1354622764 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1354622761} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} - m_Type: 1 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 ---- !u!222 &1354622765 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1354622761} - m_CullTransparentMesh: 1 ---- !u!1 &1379945946 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1379945947} - - component: {fileID: 1379945950} - - component: {fileID: 1379945949} - - component: {fileID: 1379945948} - m_Layer: 5 - m_Name: Viewport - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1379945947 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1379945946} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 1832508913} - m_Father: {fileID: 1570876499} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &1379945948 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1379945946} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 31a19414c41e5ae4aae2af33fee712f6, type: 3} - m_Name: - m_EditorClassIdentifier: - m_ShowMaskGraphic: 0 ---- !u!114 &1379945949 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1379945946} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_Sprite: {fileID: 10917, guid: 0000000000000000f000000000000000, type: 0} - m_Type: 1 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 ---- !u!222 &1379945950 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1379945946} - m_CullTransparentMesh: 1 --- !u!1 &1380805076 GameObject: m_ObjectHideFlags: 0 @@ -1410,7 +1155,7 @@ RectTransform: - {fileID: 413373408} - {fileID: 1085573792} - {fileID: 1099058601} - - {fileID: 1570876499} + - {fileID: 2146756454} - {fileID: 1605366630} - {fileID: 238926234} m_Father: {fileID: 79114699} @@ -1459,191 +1204,6 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1380805076} m_CullTransparentMesh: 1 ---- !u!1 &1486682950 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1486682951} - - component: {fileID: 1486682953} - - component: {fileID: 1486682952} - m_Layer: 5 - m_Name: Handle - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1486682951 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1486682950} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 167820758} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 20, y: 20} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &1486682952 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1486682950} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} - m_Type: 1 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 ---- !u!222 &1486682953 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1486682950} - m_CullTransparentMesh: 1 ---- !u!1 &1570876498 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1570876499} - - component: {fileID: 1570876502} - - component: {fileID: 1570876501} - - component: {fileID: 1570876500} - m_Layer: 5 - m_Name: Courses - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1570876499 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1570876498} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 0.9, y: 0.9, z: 0.9} - m_ConstrainProportionsScale: 1 - m_Children: - - {fileID: 1379945947} - - {fileID: 1354622762} - m_Father: {fileID: 1380805077} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 1590, y: 808} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &1570876500 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1570876498} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 1aa08ab6e0800fa44ae55d278d1423e3, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Content: {fileID: 1832508913} - m_Horizontal: 1 - m_Vertical: 0 - m_MovementType: 2 - m_Elasticity: 0.1 - m_Inertia: 1 - m_DecelerationRate: 0.135 - m_ScrollSensitivity: 1 - m_Viewport: {fileID: 1379945947} - m_HorizontalScrollbar: {fileID: 1354622763} - m_VerticalScrollbar: {fileID: 0} - m_HorizontalScrollbarVisibility: 0 - m_VerticalScrollbarVisibility: 0 - m_HorizontalScrollbarSpacing: -3 - m_VerticalScrollbarSpacing: -3 - m_OnValueChanged: - m_PersistentCalls: - m_Calls: [] ---- !u!114 &1570876501 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1570876498} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 0.8235294, g: 0.8235294, b: 0.8235294, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_Sprite: {fileID: 0} - m_Type: 1 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 ---- !u!222 &1570876502 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1570876498} - m_CullTransparentMesh: 1 --- !u!1001 &1605366629 PrefabInstance: m_ObjectHideFlags: 0 @@ -1665,7 +1225,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} propertyPath: m_RootOrder - value: 4 + value: 5 objectReference: {fileID: 0} - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} propertyPath: m_AnchorMax.x @@ -1685,11 +1245,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} propertyPath: m_SizeDelta.x - value: 100 + value: 50 objectReference: {fileID: 0} - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} propertyPath: m_SizeDelta.y - value: 100 + value: 50 objectReference: {fileID: 0} - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} propertyPath: m_LocalPosition.x @@ -1721,11 +1281,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 10 objectReference: {fileID: 0} - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -10 objectReference: {fileID: 0} - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} propertyPath: m_LocalEulerAnglesHint.x @@ -1910,7 +1470,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 2dd453d411c3b3e458a7b133764c6b64, type: 3} m_Name: m_EditorClassIdentifier: - minigameContainer: {fileID: 1832508913} + minigameContainer: {fileID: 2146756454} minigameItemPrefab: {fileID: 4959898007614330357, guid: e5eaffcdbecf2ab48a94311753d10e09, type: 3} minigameList: {fileID: 11400000, guid: 51453f9b41bc72f468ba3e67ab622f8f, type: 2} --- !u!4 &1821407073 @@ -1928,7 +1488,7 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1832508912 +--- !u!1 &2146756453 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -1936,57 +1496,42 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 1832508913} - - component: {fileID: 1832508915} - - component: {fileID: 1832508914} + - component: {fileID: 2146756454} + - component: {fileID: 2146756455} m_Layer: 5 - m_Name: Content + m_Name: Minigames m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!224 &1832508913 +--- !u!224 &2146756454 RectTransform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1832508912} + m_GameObject: {fileID: 2146756453} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] - m_Father: {fileID: 1379945947} - m_RootOrder: 0 + m_Father: {fileID: 1380805077} + m_RootOrder: 3 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 1} + m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0.00012207031, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0, y: 1} ---- !u!114 &1832508914 + m_AnchoredPosition: {x: -20, y: 0} + m_SizeDelta: {x: -360, y: -320} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2146756455 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1832508912} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3} - m_Name: - m_EditorClassIdentifier: - m_HorizontalFit: 2 - m_VerticalFit: 2 ---- !u!114 &1832508915 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1832508912} + m_GameObject: {fileID: 2146756453} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 8a8695521f0d02e499659fee002a26c2, type: 3} @@ -1997,10 +1542,10 @@ MonoBehaviour: m_Right: 10 m_Top: 10 m_Bottom: 10 - m_ChildAlignment: 0 + m_ChildAlignment: 4 m_StartCorner: 0 m_StartAxis: 0 - m_CellSize: {x: 256, y: 256} + m_CellSize: {x: 350, y: 350} m_Spacing: {x: 10, y: 10} - m_Constraint: 2 - m_ConstraintCount: 3 + m_Constraint: 0 + m_ConstraintCount: 2 diff --git a/Assets/Common/Scenes/MainMenuScreen.unity b/Assets/Common/Scenes/MainMenuScreen.unity index cea0da6..36cbd13 100644 --- a/Assets/Common/Scenes/MainMenuScreen.unity +++ b/Assets/Common/Scenes/MainMenuScreen.unity @@ -1306,7 +1306,7 @@ RectTransform: m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} m_AnchoredPosition: {x: 10, y: -10} - m_SizeDelta: {x: 64, y: 64} + m_SizeDelta: {x: 50, y: 50} m_Pivot: {x: 0, y: 1} --- !u!114 &1377361016 MonoBehaviour: @@ -1536,7 +1536,7 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_text: Settings + m_text: Instellingen m_isRightToLeft: 0 m_fontAsset: {fileID: 11400000, guid: 3602bedf0ebe5b64596873f09eddf57b, type: 2} m_sharedMaterial: {fileID: -1030930060397404263, guid: 3602bedf0ebe5b64596873f09eddf57b, type: 2} @@ -2329,7 +2329,7 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_text: Minigames + m_text: Spelletjes m_isRightToLeft: 0 m_fontAsset: {fileID: 11400000, guid: 3602bedf0ebe5b64596873f09eddf57b, type: 2} m_sharedMaterial: {fileID: -1030930060397404263, guid: 3602bedf0ebe5b64596873f09eddf57b, type: 2} diff --git a/Assets/Common/Scenes/MinigameActivityScreen.unity b/Assets/Common/Scenes/MinigameActivityScreen.unity index 959ce22..c56006a 100644 --- a/Assets/Common/Scenes/MinigameActivityScreen.unity +++ b/Assets/Common/Scenes/MinigameActivityScreen.unity @@ -636,16 +636,16 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_Material: {fileID: 0} - m_Color: {r: 0.25882354, g: 0.61960787, b: 0.7411765, a: 1} + m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 1 m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_Sprite: {fileID: 21300000, guid: 8f5216ce0bfcecc4da0340703872c4ff, type: 3} + m_Sprite: {fileID: 21300000, guid: 5387f0486602abf479f049d9afa9d3cb, type: 3} m_Type: 0 - m_PreserveAspect: 0 + m_PreserveAspect: 1 m_FillCenter: 1 m_FillMethod: 4 m_FillAmount: 1 @@ -1268,11 +1268,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} propertyPath: m_SizeDelta.x - value: 100 + value: 50 objectReference: {fileID: 0} - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} propertyPath: m_SizeDelta.y - value: 100 + value: 50 objectReference: {fileID: 0} - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} propertyPath: m_LocalPosition.x @@ -1304,11 +1304,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 10 objectReference: {fileID: 0} - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -10 objectReference: {fileID: 0} - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} propertyPath: m_LocalEulerAnglesHint.x diff --git a/Assets/Common/Scenes/SettingsScreen.unity b/Assets/Common/Scenes/SettingsScreen.unity index 6c73185..060913b 100644 --- a/Assets/Common/Scenes/SettingsScreen.unity +++ b/Assets/Common/Scenes/SettingsScreen.unity @@ -316,11 +316,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} propertyPath: m_SizeDelta.x - value: 100 + value: 50 objectReference: {fileID: 0} - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} propertyPath: m_SizeDelta.y - value: 100 + value: 50 objectReference: {fileID: 0} - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} propertyPath: m_LocalPosition.x @@ -352,11 +352,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 10 objectReference: {fileID: 0} - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -10 objectReference: {fileID: 0} - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} propertyPath: m_LocalEulerAnglesHint.x diff --git a/Assets/Common/Scenes/ThemeSelectionScreen.unity b/Assets/Common/Scenes/ThemeSelectionScreen.unity index f4f41c2..6d8e959 100644 --- a/Assets/Common/Scenes/ThemeSelectionScreen.unity +++ b/Assets/Common/Scenes/ThemeSelectionScreen.unity @@ -232,11 +232,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} propertyPath: m_SizeDelta.x - value: 100 + value: 50 objectReference: {fileID: 0} - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} propertyPath: m_SizeDelta.y - value: 100 + value: 50 objectReference: {fileID: 0} - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} propertyPath: m_LocalPosition.x @@ -268,11 +268,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 10 objectReference: {fileID: 0} - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -10 objectReference: {fileID: 0} - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} propertyPath: m_LocalEulerAnglesHint.x diff --git a/Assets/Common/Scripts/MainMenuScreen.cs b/Assets/Common/Scripts/MainMenuScreen.cs index 0a5481f..5aea710 100644 --- a/Assets/Common/Scripts/MainMenuScreen.cs +++ b/Assets/Common/Scripts/MainMenuScreen.cs @@ -14,6 +14,7 @@ public class MainMenuScreen : MonoBehaviour { if (!File.Exists(PersistentDataController.PATH) || UserList.GetUsers().Count <= 0) { + UserCreationScreen.canGoBack = false; SystemController.GetInstance().LoadNextScene("Accounts/Scenes/UserCreationScreen"); } } diff --git a/Assets/Courses/Prefabs/Sign with Image Panel.prefab b/Assets/Courses/Prefabs/Sign with Image Panel.prefab index 76832d8..2d1e090 100644 --- a/Assets/Courses/Prefabs/Sign with Image Panel.prefab +++ b/Assets/Courses/Prefabs/Sign with Image Panel.prefab @@ -57,7 +57,7 @@ MonoBehaviour: m_ChildAlignment: 4 m_StartCorner: 0 m_StartAxis: 0 - m_CellSize: {x: 256, y: 256} + m_CellSize: {x: 450, y: 450} m_Spacing: {x: 25, y: 0} m_Constraint: 2 m_ConstraintCount: 1 diff --git a/Assets/Courses/Scenes/CourseScreen.unity b/Assets/Courses/Scenes/CourseScreen.unity index 69b95ed..8aadecf 100644 --- a/Assets/Courses/Scenes/CourseScreen.unity +++ b/Assets/Courses/Scenes/CourseScreen.unity @@ -394,82 +394,6 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 100123244} m_CullTransparentMesh: 1 ---- !u!1 &250984719 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 250984720} - - component: {fileID: 250984722} - - component: {fileID: 250984721} - m_Layer: 5 - m_Name: Fill - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &250984720 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 250984719} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 2018448395} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &250984721 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 250984719} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_Sprite: {fileID: 21300000, guid: 02283f528ead8084db69c7d8a459f0af, type: 3} - m_Type: 3 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 0 - m_FillAmount: 0.406 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 ---- !u!222 &250984722 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 250984719} - m_CullTransparentMesh: 1 --- !u!1 &257279696 GameObject: m_ObjectHideFlags: 0 @@ -2249,7 +2173,7 @@ MonoBehaviour: CoursesButton: {fileID: 839294691} timeSpent: {fileID: 77614869} videoPlayer: {fileID: 993952931} - progressBar: {fileID: 1677120325} + progressBar: {fileID: 1614792579} confettiAnimation: {fileID: 257279698} panelSignWithVideoAndImagePrefab: {fileID: 6228868151418550173, guid: ed122bc34368fca4f9c28e96b772da66, type: 3} panelSignWithImagePrefab: {fileID: 1321140593660784785, guid: 41cc30039c205e04baf44453287d6469, type: 3} @@ -2475,11 +2399,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} propertyPath: m_SizeDelta.x - value: 100 + value: 50 objectReference: {fileID: 0} - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} propertyPath: m_SizeDelta.y - value: 100 + value: 50 objectReference: {fileID: 0} - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} propertyPath: m_LocalPosition.x @@ -2511,11 +2435,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 10 objectReference: {fileID: 0} - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -10 objectReference: {fileID: 0} - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} propertyPath: m_LocalEulerAnglesHint.x @@ -2825,9 +2749,9 @@ GameObject: m_Component: - component: {fileID: 1614792576} - component: {fileID: 1614792578} - - component: {fileID: 1614792577} + - component: {fileID: 1614792579} m_Layer: 5 - m_Name: Background + m_Name: Slider m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -2853,7 +2777,15 @@ RectTransform: m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &1614792577 +--- !u!222 &1614792578 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1614792575} + m_CullTransparentMesh: 1 +--- !u!114 &1614792579 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -2862,7 +2794,7 @@ MonoBehaviour: m_GameObject: {fileID: 1614792575} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Script: {fileID: 11500000, guid: b69b55aa2ac2e0e4592740cf1269d52c, type: 3} m_Name: m_EditorClassIdentifier: m_Material: {fileID: 0} @@ -2873,24 +2805,11 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_Sprite: {fileID: 21300000, guid: 42d6d4c291d8a8a46bd0d545fd445c3d, type: 3} - m_Type: 0 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 + m_Sprite: {fileID: 21300000, guid: 02283f528ead8084db69c7d8a459f0af, type: 3} + m_FillDirection: 0 m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 + m_FillCenter: 1 m_PixelsPerUnitMultiplier: 1 ---- !u!222 &1614792578 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1614792575} - m_CullTransparentMesh: 1 --- !u!1 &1677120323 GameObject: m_ObjectHideFlags: 0 @@ -2900,6 +2819,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1677120324} + - component: {fileID: 1677120326} - component: {fileID: 1677120325} m_Layer: 5 m_Name: Progress @@ -2921,14 +2841,13 @@ RectTransform: m_ConstrainProportionsScale: 1 m_Children: - {fileID: 1614792576} - - {fileID: 2018448395} m_Father: {fileID: 1559094126} m_RootOrder: 5 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 1} - m_AnchorMax: {x: 0.5, y: 1} - m_AnchoredPosition: {x: 0, y: -10} - m_SizeDelta: {x: 369, y: 40} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 30, y: -15} + m_SizeDelta: {x: -80, y: 40} m_Pivot: {x: 0.5, y: 1} --- !u!114 &1677120325 MonoBehaviour: @@ -2939,48 +2858,35 @@ MonoBehaviour: m_GameObject: {fileID: 1677120323} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 67db9e8f0e2ae9c40bc1e2b64352a6b4, type: 3} + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} m_Name: m_EditorClassIdentifier: - m_Navigation: - m_Mode: 3 - m_WrapAround: 0 - m_SelectOnUp: {fileID: 0} - m_SelectOnDown: {fileID: 0} - m_SelectOnLeft: {fileID: 0} - m_SelectOnRight: {fileID: 0} - m_Transition: 1 - m_Colors: - m_NormalColor: {r: 1, g: 1, b: 1, a: 1} - m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} - m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} - m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} - m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} - m_ColorMultiplier: 1 - m_FadeDuration: 0.1 - m_SpriteState: - m_HighlightedSprite: {fileID: 0} - m_PressedSprite: {fileID: 0} - m_SelectedSprite: {fileID: 0} - m_DisabledSprite: {fileID: 0} - m_AnimationTriggers: - m_NormalTrigger: Normal - m_HighlightedTrigger: Highlighted - m_PressedTrigger: Pressed - m_SelectedTrigger: Selected - m_DisabledTrigger: Disabled - m_Interactable: 0 - m_TargetGraphic: {fileID: 0} - m_FillRect: {fileID: 250984720} - m_HandleRect: {fileID: 0} - m_Direction: 0 - m_MinValue: 0 - m_MaxValue: 1 - m_WholeNumbers: 0 - m_Value: 0.406 - m_OnValueChanged: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 42d6d4c291d8a8a46bd0d545fd445c3d, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1677120326 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1677120323} + m_CullTransparentMesh: 1 --- !u!1 &1697464981 GameObject: m_ObjectHideFlags: 0 @@ -3344,40 +3250,3 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2017030785} m_CullTransparentMesh: 1 ---- !u!1 &2018448394 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2018448395} - m_Layer: 5 - m_Name: Fill Area - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &2018448395 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2018448394} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 250984720} - m_Father: {fileID: 1677120324} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} diff --git a/Assets/Courses/Scripts/CoursesController.cs b/Assets/Courses/Scripts/CoursesController.cs index 0755f72..d0d1e6c 100644 --- a/Assets/Courses/Scripts/CoursesController.cs +++ b/Assets/Courses/Scripts/CoursesController.cs @@ -127,7 +127,7 @@ public class CoursesController : AbstractFeedback /// /// Reference to course progress bar /// - public Slider progressBar; + public SlicedSlider progressBar; /// /// Reference to the animator of the confetti animation @@ -200,7 +200,7 @@ public class CoursesController : AbstractFeedback user.AddCourseProgress(progress); } UserList.Save(); - progressBar.value = progress.progress; + progressBar.fillAmount = progress.progress; currentWordIndex = 0; previousPanel = SetupPanel(); @@ -258,7 +258,7 @@ public class CoursesController : AbstractFeedback return; progress.progress = (float)progress.completedLearnables / (float)maxWords; - progressBar.value = progress.progress; + progressBar.fillAmount = progress.progress; // Update UI if course is not finished yet if (progress.completedLearnables < maxWords) diff --git a/Assets/Courses/Scripts/PanelMultipleChoice.cs b/Assets/Courses/Scripts/PanelMultipleChoice.cs index d107948..3a940a1 100644 --- a/Assets/Courses/Scripts/PanelMultipleChoice.cs +++ b/Assets/Courses/Scripts/PanelMultipleChoice.cs @@ -187,7 +187,7 @@ public class PanelMultipleChoice : MonoBehaviour private IEnumerator GoToNextScreen() { // Wait for 5 seconds - yield return new WaitForSeconds(3.0f); + yield return new WaitForSeconds(1.5f); courseController.NextSign(); } diff --git a/Assets/Hangman/Scenes/HangmanGame.unity b/Assets/Hangman/Scenes/HangmanGame.unity index dda2949..5ece9da 100644 --- a/Assets/Hangman/Scenes/HangmanGame.unity +++ b/Assets/Hangman/Scenes/HangmanGame.unity @@ -6702,11 +6702,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} propertyPath: m_SizeDelta.x - value: 100 + value: 50 objectReference: {fileID: 0} - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} propertyPath: m_SizeDelta.y - value: 100 + value: 50 objectReference: {fileID: 0} - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} propertyPath: m_LocalPosition.x @@ -6738,11 +6738,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 10 objectReference: {fileID: 0} - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -10 objectReference: {fileID: 0} - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} propertyPath: m_LocalEulerAnglesHint.x diff --git a/Assets/Hangman/Scripts/HangmanController.cs b/Assets/Hangman/Scripts/HangmanController.cs index bcdf4cf..c25473c 100644 --- a/Assets/Hangman/Scripts/HangmanController.cs +++ b/Assets/Hangman/Scripts/HangmanController.cs @@ -384,8 +384,9 @@ public class HangmanController : AbstractFeedback // Then get a random index for a word to pull // First get random index for the themes - int amountThemes = themeList.themes.Count; - int themeIndex = Random.Range(0, amountThemes); + //int amountThemes = themeList.themes.Count; + //int themeIndex = Random.Range(0, amountThemes); + int themeIndex = 0; // Geography theme // Check how many words are in this theme int amountWords = themeList.themes[themeIndex].learnables.Count; diff --git a/Assets/JustSign/Scenes/JustSignGame.unity b/Assets/JustSign/Scenes/JustSignGame.unity index 2080419..6565be8 100644 --- a/Assets/JustSign/Scenes/JustSignGame.unity +++ b/Assets/JustSign/Scenes/JustSignGame.unity @@ -2000,11 +2000,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} propertyPath: m_SizeDelta.x - value: 100 + value: 50 objectReference: {fileID: 0} - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} propertyPath: m_SizeDelta.y - value: 100 + value: 50 objectReference: {fileID: 0} - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} propertyPath: m_LocalPosition.x @@ -2036,11 +2036,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 10 objectReference: {fileID: 0} - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -10 objectReference: {fileID: 0} - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} propertyPath: m_LocalEulerAnglesHint.x diff --git a/Assets/SpellingBee/Scenes/SpellingBeeGame.unity b/Assets/SpellingBee/Scenes/SpellingBeeGame.unity index 412352c..14f915d 100644 --- a/Assets/SpellingBee/Scenes/SpellingBeeGame.unity +++ b/Assets/SpellingBee/Scenes/SpellingBeeGame.unity @@ -1278,11 +1278,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} propertyPath: m_SizeDelta.x - value: 100 + value: 50 objectReference: {fileID: 0} - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} propertyPath: m_SizeDelta.y - value: 100 + value: 50 objectReference: {fileID: 0} - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} propertyPath: m_LocalPosition.x @@ -1314,11 +1314,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 10 objectReference: {fileID: 0} - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -10 objectReference: {fileID: 0} - target: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3} propertyPath: m_LocalEulerAnglesHint.x diff --git a/Assets/SystemArchitecture/Scripts/SlicedSlider.cs b/Assets/SystemArchitecture/Scripts/SlicedSlider.cs new file mode 100644 index 0000000..56fb623 --- /dev/null +++ b/Assets/SystemArchitecture/Scripts/SlicedSlider.cs @@ -0,0 +1,647 @@ +using System; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.UI; +#if UNITY_2017_4 || UNITY_2018_2_OR_NEWER +using UnityEngine.U2D; +#endif +using Sprites = UnityEngine.Sprites; + +#if UNITY_EDITOR +using UnityEditor; + +// Custom Editor to order the variables in the Inspector similar to Image component +[CustomEditor(typeof(SlicedSlider)), CanEditMultipleObjects] +public class SlicedSliderEditor : Editor +{ + private SerializedProperty spriteProp, colorProp; + private GUIContent spriteLabel; + + private void OnEnable() + { + spriteProp = serializedObject.FindProperty("m_Sprite"); + colorProp = serializedObject.FindProperty("m_Color"); + spriteLabel = new GUIContent("Source Image"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.PropertyField(spriteProp, spriteLabel); + EditorGUILayout.PropertyField(colorProp); + DrawPropertiesExcluding(serializedObject, "m_Script", "m_Sprite", "m_Color", "m_OnCullStateChanged"); + + serializedObject.ApplyModifiedProperties(); + } +} +#endif + +// Credit: https://bitbucket.org/Unity-Technologies/ui/src/2018.4/UnityEngine.UI/UI/Core/Image.cs +[RequireComponent(typeof(CanvasRenderer))] +[AddComponentMenu("UI/Sliced Slider", 11)] +public class SlicedSlider : MaskableGraphic, ISerializationCallbackReceiver, ILayoutElement, ICanvasRaycastFilter +{ + private static class SetPropertyUtility + { + public static bool SetStruct(ref T currentValue, T newValue) where T : struct + { + if (EqualityComparer.Default.Equals(currentValue, newValue)) + return false; + + currentValue = newValue; + return true; + } + + public static bool SetClass(ref T currentValue, T newValue) where T : class + { + if ((currentValue == null && newValue == null) || (currentValue != null && currentValue.Equals(newValue))) + return false; + + currentValue = newValue; + return true; + } + } + + public enum FillDirection { Right = 0, Left = 1, Up = 2, Down = 3 } + + private static readonly Vector3[] s_Vertices = new Vector3[4]; + private static readonly Vector2[] s_UVs = new Vector2[4]; + private static readonly Vector2[] s_SlicedVertices = new Vector2[4]; + private static readonly Vector2[] s_SlicedUVs = new Vector2[4]; + +#pragma warning disable 1692 +#pragma warning disable IDE1006 // Suppress 'Naming rule violation' warnings +#pragma warning disable 0649 + [SerializeField] + private Sprite m_Sprite; + public Sprite sprite + { + get { return m_Sprite; } + set + { + if (SetPropertyUtility.SetClass(ref m_Sprite, value)) + { + SetAllDirty(); + TrackImage(); + } + } + } + + [SerializeField] + private FillDirection m_FillDirection; + public FillDirection fillDirection + { + get { return m_FillDirection; } + set + { + if (SetPropertyUtility.SetStruct(ref m_FillDirection, value)) + SetVerticesDirty(); + } + } + + [Range(0, 1)] + [SerializeField] + private float m_FillAmount = 1f; + public float fillAmount + { + get { return m_FillAmount; } + set + { + if (SetPropertyUtility.SetStruct(ref m_FillAmount, Mathf.Clamp01(value))) + SetVerticesDirty(); + } + } + + [SerializeField] + private bool m_FillCenter = true; + public bool fillCenter + { + get { return m_FillCenter; } + set + { + if (SetPropertyUtility.SetStruct(ref m_FillCenter, value)) + SetVerticesDirty(); + } + } + + [SerializeField] + private float m_PixelsPerUnitMultiplier = 1f; + public float pixelsPerUnitMultiplier + { + get { return m_PixelsPerUnitMultiplier; } + set { m_PixelsPerUnitMultiplier = Mathf.Max(0.01f, value); } + } + + public float pixelsPerUnit + { + get + { + float spritePixelsPerUnit = 100; + if (activeSprite) + spritePixelsPerUnit = activeSprite.pixelsPerUnit; + + float referencePixelsPerUnit = 100; + if (canvas) + referencePixelsPerUnit = canvas.referencePixelsPerUnit; + + return m_PixelsPerUnitMultiplier * spritePixelsPerUnit / referencePixelsPerUnit; + } + } +#pragma warning restore 0649 + + [NonSerialized] + private Sprite m_OverrideSprite; + public Sprite overrideSprite + { + get { return activeSprite; } + set + { + if (SetPropertyUtility.SetClass(ref m_OverrideSprite, value)) + { + SetAllDirty(); + TrackImage(); + } + } + } + + private Sprite activeSprite { get { return m_OverrideSprite != null ? m_OverrideSprite : m_Sprite; } } + + public override Texture mainTexture + { + get + { + if (activeSprite != null) + return activeSprite.texture; + + return material != null && material.mainTexture != null ? material.mainTexture : s_WhiteTexture; + } + } + + public bool hasBorder + { + get + { + if (activeSprite != null) + { + Vector4 v = activeSprite.border; + return v.sqrMagnitude > 0f; + } + + return false; + } + } + + public override Material material + { + get + { + if (m_Material != null) + return m_Material; + + if (activeSprite && activeSprite.associatedAlphaSplitTexture != null) + { +#if UNITY_EDITOR + if (Application.isPlaying) +#endif + return Image.defaultETC1GraphicMaterial; + } + + return defaultMaterial; + } + set { base.material = value; } + } + + public float alphaHitTestMinimumThreshold { get; set; } +#pragma warning restore IDE1006 +#pragma warning restore 1692 + + protected SlicedSlider() + { + useLegacyMeshGeneration = false; + } + + protected override void OnEnable() + { + base.OnEnable(); + TrackImage(); + } + + protected override void OnDisable() + { + base.OnDisable(); + + if (m_Tracked) + UnTrackImage(); + } + +#if UNITY_EDITOR + protected override void OnValidate() + { + base.OnValidate(); + m_PixelsPerUnitMultiplier = Mathf.Max(0.01f, m_PixelsPerUnitMultiplier); + } +#endif + + protected override void OnPopulateMesh(VertexHelper vh) + { + if (activeSprite == null) + { + base.OnPopulateMesh(vh); + return; + } + + GenerateSlicedFilledSprite(vh); + } + + /// + /// Update the renderer's material. + /// + protected override void UpdateMaterial() + { + base.UpdateMaterial(); + + // Check if this sprite has an associated alpha texture (generated when splitting RGBA = RGB + A as two textures without alpha) + if (activeSprite == null) + { + canvasRenderer.SetAlphaTexture(null); + return; + } + + Texture2D alphaTex = activeSprite.associatedAlphaSplitTexture; + if (alphaTex != null) + canvasRenderer.SetAlphaTexture(alphaTex); + } + + private void GenerateSlicedFilledSprite(VertexHelper vh) + { + vh.Clear(); + + if (m_FillAmount < 0.001f) + return; + + Rect rect = GetPixelAdjustedRect(); + Vector4 outer = Sprites.DataUtility.GetOuterUV(activeSprite); + Vector4 padding = Sprites.DataUtility.GetPadding(activeSprite); + + if (!hasBorder) + { + Vector2 size = activeSprite.rect.size; + + int spriteW = Mathf.RoundToInt(size.x); + int spriteH = Mathf.RoundToInt(size.y); + + // Image's dimensions used for drawing. X = left, Y = bottom, Z = right, W = top. + Vector4 vertices = new Vector4( + rect.x + rect.width * (padding.x / spriteW), + rect.y + rect.height * (padding.y / spriteH), + rect.x + rect.width * ((spriteW - padding.z) / spriteW), + rect.y + rect.height * ((spriteH - padding.w) / spriteH)); + + GenerateFilledSprite(vh, vertices, outer, m_FillAmount); + return; + } + + Vector4 inner = Sprites.DataUtility.GetInnerUV(activeSprite); + Vector4 border = GetAdjustedBorders(activeSprite.border / pixelsPerUnit, rect); + + padding = padding / pixelsPerUnit; + + s_SlicedVertices[0] = new Vector2(padding.x, padding.y); + s_SlicedVertices[3] = new Vector2(rect.width - padding.z, rect.height - padding.w); + + s_SlicedVertices[1].x = border.x; + s_SlicedVertices[1].y = border.y; + + s_SlicedVertices[2].x = rect.width - border.z; + s_SlicedVertices[2].y = rect.height - border.w; + + for (int i = 0; i < 4; ++i) + { + s_SlicedVertices[i].x += rect.x; + s_SlicedVertices[i].y += rect.y; + } + + s_SlicedUVs[0] = new Vector2(outer.x, outer.y); + s_SlicedUVs[1] = new Vector2(inner.x, inner.y); + s_SlicedUVs[2] = new Vector2(inner.z, inner.w); + s_SlicedUVs[3] = new Vector2(outer.z, outer.w); + + float rectStartPos; + float _1OverTotalSize; + if (m_FillDirection == FillDirection.Left || m_FillDirection == FillDirection.Right) + { + rectStartPos = s_SlicedVertices[0].x; + + float totalSize = (s_SlicedVertices[3].x - s_SlicedVertices[0].x); + _1OverTotalSize = totalSize > 0f ? 1f / totalSize : 1f; + } + else + { + rectStartPos = s_SlicedVertices[0].y; + + float totalSize = (s_SlicedVertices[3].y - s_SlicedVertices[0].y); + _1OverTotalSize = totalSize > 0f ? 1f / totalSize : 1f; + } + + for (int x = 0; x < 3; x++) + { + int x2 = x + 1; + + for (int y = 0; y < 3; y++) + { + if (!m_FillCenter && x == 1 && y == 1) + continue; + + int y2 = y + 1; + + float sliceStart, sliceEnd; + switch (m_FillDirection) + { + case FillDirection.Right: + sliceStart = (s_SlicedVertices[x].x - rectStartPos) * _1OverTotalSize; + sliceEnd = (s_SlicedVertices[x2].x - rectStartPos) * _1OverTotalSize; + break; + case FillDirection.Up: + sliceStart = (s_SlicedVertices[y].y - rectStartPos) * _1OverTotalSize; + sliceEnd = (s_SlicedVertices[y2].y - rectStartPos) * _1OverTotalSize; + break; + case FillDirection.Left: + sliceStart = 1f - (s_SlicedVertices[x2].x - rectStartPos) * _1OverTotalSize; + sliceEnd = 1f - (s_SlicedVertices[x].x - rectStartPos) * _1OverTotalSize; + break; + case FillDirection.Down: + sliceStart = 1f - (s_SlicedVertices[y2].y - rectStartPos) * _1OverTotalSize; + sliceEnd = 1f - (s_SlicedVertices[y].y - rectStartPos) * _1OverTotalSize; + break; + default: // Just there to get rid of the "Use of unassigned local variable" compiler error + sliceStart = sliceEnd = 0f; + break; + } + + if (sliceStart >= m_FillAmount) + continue; + + Vector4 vertices = new Vector4(s_SlicedVertices[x].x, s_SlicedVertices[y].y, s_SlicedVertices[x2].x, s_SlicedVertices[y2].y); + Vector4 uvs = new Vector4(s_SlicedUVs[x].x, s_SlicedUVs[y].y, s_SlicedUVs[x2].x, s_SlicedUVs[y2].y); + float fillAmount = (m_FillAmount - sliceStart) / (sliceEnd - sliceStart); + + GenerateFilledSprite(vh, vertices, uvs, fillAmount); + } + } + } + + private Vector4 GetAdjustedBorders(Vector4 border, Rect adjustedRect) + { + Rect originalRect = rectTransform.rect; + + for (int axis = 0; axis <= 1; axis++) + { + float borderScaleRatio; + + // The adjusted rect (adjusted for pixel correctness) may be slightly larger than the original rect. + // Adjust the border to match the adjustedRect to avoid small gaps between borders (case 833201). + if (originalRect.size[axis] != 0) + { + borderScaleRatio = adjustedRect.size[axis] / originalRect.size[axis]; + border[axis] *= borderScaleRatio; + border[axis + 2] *= borderScaleRatio; + } + + // If the rect is smaller than the combined borders, then there's not room for the borders at their normal size. + // In order to avoid artefacts with overlapping borders, we scale the borders down to fit. + float combinedBorders = border[axis] + border[axis + 2]; + if (adjustedRect.size[axis] < combinedBorders && combinedBorders != 0) + { + borderScaleRatio = adjustedRect.size[axis] / combinedBorders; + border[axis] *= borderScaleRatio; + border[axis + 2] *= borderScaleRatio; + } + } + + return border; + } + + private void GenerateFilledSprite(VertexHelper vh, Vector4 vertices, Vector4 uvs, float fillAmount) + { + if (m_FillAmount < 0.001f) + return; + + float uvLeft = uvs.x; + float uvBottom = uvs.y; + float uvRight = uvs.z; + float uvTop = uvs.w; + + if (fillAmount < 1f) + { + if (m_FillDirection == FillDirection.Left || m_FillDirection == FillDirection.Right) + { + if (m_FillDirection == FillDirection.Left) + { + vertices.x = vertices.z - (vertices.z - vertices.x) * fillAmount; + uvLeft = uvRight - (uvRight - uvLeft) * fillAmount; + } + else + { + vertices.z = vertices.x + (vertices.z - vertices.x) * fillAmount; + uvRight = uvLeft + (uvRight - uvLeft) * fillAmount; + } + } + else + { + if (m_FillDirection == FillDirection.Down) + { + vertices.y = vertices.w - (vertices.w - vertices.y) * fillAmount; + uvBottom = uvTop - (uvTop - uvBottom) * fillAmount; + } + else + { + vertices.w = vertices.y + (vertices.w - vertices.y) * fillAmount; + uvTop = uvBottom + (uvTop - uvBottom) * fillAmount; + } + } + } + + s_Vertices[0] = new Vector3(vertices.x, vertices.y); + s_Vertices[1] = new Vector3(vertices.x, vertices.w); + s_Vertices[2] = new Vector3(vertices.z, vertices.w); + s_Vertices[3] = new Vector3(vertices.z, vertices.y); + + s_UVs[0] = new Vector2(uvLeft, uvBottom); + s_UVs[1] = new Vector2(uvLeft, uvTop); + s_UVs[2] = new Vector2(uvRight, uvTop); + s_UVs[3] = new Vector2(uvRight, uvBottom); + + int startIndex = vh.currentVertCount; + + for (int i = 0; i < 4; i++) + vh.AddVert(s_Vertices[i], color, s_UVs[i]); + + vh.AddTriangle(startIndex, startIndex + 1, startIndex + 2); + vh.AddTriangle(startIndex + 2, startIndex + 3, startIndex); + } + + int ILayoutElement.layoutPriority { get { return 0; } } + float ILayoutElement.minWidth { get { return 0; } } + float ILayoutElement.minHeight { get { return 0; } } + float ILayoutElement.flexibleWidth { get { return -1; } } + float ILayoutElement.flexibleHeight { get { return -1; } } + + float ILayoutElement.preferredWidth + { + get + { + if (activeSprite == null) + return 0; + + return Sprites.DataUtility.GetMinSize(activeSprite).x / pixelsPerUnit; + } + } + + float ILayoutElement.preferredHeight + { + get + { + if (activeSprite == null) + return 0; + + return Sprites.DataUtility.GetMinSize(activeSprite).y / pixelsPerUnit; + } + } + + void ILayoutElement.CalculateLayoutInputHorizontal() { } + void ILayoutElement.CalculateLayoutInputVertical() { } + + bool ICanvasRaycastFilter.IsRaycastLocationValid(Vector2 screenPoint, Camera eventCamera) + { + if (alphaHitTestMinimumThreshold <= 0) + return true; + + if (alphaHitTestMinimumThreshold > 1) + return false; + + if (activeSprite == null) + return true; + + Vector2 local; + if (!RectTransformUtility.ScreenPointToLocalPointInRectangle(rectTransform, screenPoint, eventCamera, out local)) + return false; + + Rect rect = GetPixelAdjustedRect(); + + // Convert to have lower left corner as reference point. + local.x += rectTransform.pivot.x * rect.width; + local.y += rectTransform.pivot.y * rect.height; + + Rect spriteRect = activeSprite.rect; + Vector4 border = activeSprite.border; + Vector4 adjustedBorder = GetAdjustedBorders(border / pixelsPerUnit, rect); + + for (int i = 0; i < 2; i++) + { + if (local[i] <= adjustedBorder[i]) + continue; + + if (rect.size[i] - local[i] <= adjustedBorder[i + 2]) + { + local[i] -= (rect.size[i] - spriteRect.size[i]); + continue; + } + + float lerp = Mathf.InverseLerp(adjustedBorder[i], rect.size[i] - adjustedBorder[i + 2], local[i]); + local[i] = Mathf.Lerp(border[i], spriteRect.size[i] - border[i + 2], lerp); + } + + // Normalize local coordinates. + Rect textureRect = activeSprite.textureRect; + Vector2 normalized = new Vector2(local.x / textureRect.width, local.y / textureRect.height); + + // Convert to texture space. + float x = Mathf.Lerp(textureRect.x, textureRect.xMax, normalized.x) / activeSprite.texture.width; + float y = Mathf.Lerp(textureRect.y, textureRect.yMax, normalized.y) / activeSprite.texture.height; + + switch (m_FillDirection) + { + case FillDirection.Right: + if (x > m_FillAmount) + return false; + break; + case FillDirection.Left: + if (1f - x > m_FillAmount) + return false; + break; + case FillDirection.Up: + if (y > m_FillAmount) + return false; + break; + case FillDirection.Down: + if (1f - y > m_FillAmount) + return false; + break; + } + + try + { + return activeSprite.texture.GetPixelBilinear(x, y).a >= alphaHitTestMinimumThreshold; + } + catch (UnityException e) + { + Debug.LogError("Using alphaHitTestMinimumThreshold greater than 0 on Image whose sprite texture cannot be read. " + e.Message + " Also make sure to disable sprite packing for this sprite.", this); + return true; + } + } + + void ISerializationCallbackReceiver.OnBeforeSerialize() { } + void ISerializationCallbackReceiver.OnAfterDeserialize() + { + m_FillAmount = Mathf.Clamp01(m_FillAmount); + } + + // Whether this is being tracked for Atlas Binding + private bool m_Tracked = false; + +#if UNITY_2017_4 || UNITY_2018_2_OR_NEWER + private static List m_TrackedTexturelessImages = new List(); + private static bool s_Initialized; +#endif + + private void TrackImage() + { + if (activeSprite != null && activeSprite.texture == null) + { +#if UNITY_2017_4 || UNITY_2018_2_OR_NEWER + if (!s_Initialized) + { + SpriteAtlasManager.atlasRegistered += RebuildImage; + s_Initialized = true; + } + + m_TrackedTexturelessImages.Add(this); +#endif + m_Tracked = true; + } + } + + private void UnTrackImage() + { +#if UNITY_2017_4 || UNITY_2018_2_OR_NEWER + m_TrackedTexturelessImages.Remove(this); +#endif + m_Tracked = false; + } + +#if UNITY_2017_4 || UNITY_2018_2_OR_NEWER + private static void RebuildImage(SpriteAtlas spriteAtlas) + { + for (int i = m_TrackedTexturelessImages.Count - 1; i >= 0; i--) + { + SlicedSlider image = m_TrackedTexturelessImages[i]; + if (spriteAtlas.CanBindTo(image.activeSprite)) + { + image.SetAllDirty(); + m_TrackedTexturelessImages.RemoveAt(i); + } + } + } +#endif +} \ No newline at end of file diff --git a/Assets/SystemArchitecture/Scripts/SlicedSlider.cs.meta b/Assets/SystemArchitecture/Scripts/SlicedSlider.cs.meta new file mode 100644 index 0000000..273acc0 --- /dev/null +++ b/Assets/SystemArchitecture/Scripts/SlicedSlider.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b69b55aa2ac2e0e4592740cf1269d52c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: