Integrate minigame and courses

This commit is contained in:
Dries Van Schuylenbergh 2023-03-08 19:07:57 +00:00
parent 7e98fea538
commit 852a17b0b4
56 changed files with 1431 additions and 1300 deletions

File diff suppressed because one or more lines are too long

View File

@ -12,6 +12,7 @@ GameObject:
- component: {fileID: 2823887524698191625}
- component: {fileID: 2823887524698191631}
- component: {fileID: 7528776122952476157}
- component: {fileID: 9192617418029337932}
m_Layer: 5
m_Name: ButtonUser
m_TagString: Untagged
@ -32,13 +33,14 @@ RectTransform:
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 2823887524728706603}
- {fileID: 1210792399173439368}
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 1, y: 1}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 300, y: 120}
m_SizeDelta: {x: 400, y: 120}
m_Pivot: {x: 1, y: 1}
--- !u!222 &2823887524698191625
CanvasRenderer:
@ -116,6 +118,21 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 949ba4da8595d52aebc98e6f9b6a405e, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!114 &9192617418029337932
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2823887524698191629}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 7b8b159dda1a6104793946dc46f84f3a, type: 3}
m_Name:
m_EditorClassIdentifier:
userList: {fileID: 11400000, guid: 072bec636a40f7e4e93b0ac624a3bda2, type: 2}
avatar: {fileID: 692645475575553623}
username: {fileID: 2823887524728706580}
--- !u!1 &2823887524728706602
GameObject:
m_ObjectHideFlags: 0
@ -149,11 +166,11 @@ RectTransform:
m_Father: {fileID: 2823887524698191630}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchorMin: {x: 0, y: 0.5}
m_AnchorMax: {x: 0, y: 0.5}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
m_SizeDelta: {x: 280, y: 120}
m_Pivot: {x: 0, y: 0.5}
--- !u!222 &2823887524728706581
CanvasRenderer:
m_ObjectHideFlags: 0
@ -216,7 +233,7 @@ MonoBehaviour:
m_fontSizeMin: 18
m_fontSizeMax: 72
m_fontStyle: 0
m_HorizontalAlignment: 2
m_HorizontalAlignment: 4
m_VerticalAlignment: 512
m_textAlignment: 65535
m_characterSpacing: 0
@ -251,3 +268,79 @@ MonoBehaviour:
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1 &9131897851294628014
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1210792399173439368}
- component: {fileID: 558993521712266555}
- component: {fileID: 692645475575553623}
m_Layer: 5
m_Name: Avatar
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1210792399173439368
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 9131897851294628014}
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: 2823887524698191630}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 1, y: 0.5}
m_AnchorMax: {x: 1, y: 0.5}
m_AnchoredPosition: {x: -10, y: 0}
m_SizeDelta: {x: 100, y: 100}
m_Pivot: {x: 1, y: 0.5}
--- !u!222 &558993521712266555
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 9131897851294628014}
m_CullTransparentMesh: 1
--- !u!114 &692645475575553623
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 9131897851294628014}
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: 0}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1

View File

@ -0,0 +1,353 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &4959898007614330357
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4959898007614330356}
- component: {fileID: 4959898007614330353}
- component: {fileID: 4959898007614330354}
- component: {fileID: 4959898007614330355}
- component: {fileID: 706366092466149067}
m_Layer: 5
m_Name: Minigame Item
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &4959898007614330356
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4959898007614330357}
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: 4959898009379617329}
- {fileID: 4959898009362012416}
m_Father: {fileID: 0}
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: 0}
m_SizeDelta: {x: 256, y: 256}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &4959898007614330353
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4959898007614330357}
m_CullTransparentMesh: 1
--- !u!114 &4959898007614330354
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4959898007614330357}
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.7529412, g: 0.7529412, b: 0.7529412, 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!114 &4959898007614330355
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4959898007614330357}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, 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: 4959898007614330354}
m_OnClick:
m_PersistentCalls:
m_Calls: []
--- !u!114 &706366092466149067
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4959898007614330357}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0f9d201a28e32264993cc2b8f8055b33, type: 3}
m_Name:
m_EditorClassIdentifier:
minigame: {fileID: 0}
thumbnail: {fileID: 4959898009379617328}
title: {fileID: 4959898009362012447}
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: Title
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: 4959898007614330356}
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}
m_AnchoredPosition: {x: 0, y: -5}
m_SizeDelta: {x: 246, y: 64}
m_Pivot: {x: 0.5, y: 1}
--- !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: <minigame_title>
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: 4281479730
m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, 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: 30
m_fontSizeBase: 30
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 &4959898009379617330
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4959898009379617329}
- component: {fileID: 4959898009379617295}
- component: {fileID: 4959898009379617328}
m_Layer: 5
m_Name: Thumbnail
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &4959898009379617329
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4959898009379617330}
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: 4959898007614330356}
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 &4959898009379617295
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4959898009379617330}
m_CullTransparentMesh: 1
--- !u!114 &4959898009379617328
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4959898009379617330}
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: 0}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: e5eaffcdbecf2ab48a94311753d10e09
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -646,7 +646,7 @@ RectTransform:
- {fileID: 809758278}
- {fileID: 1709971555}
- {fileID: 1301399289}
- {fileID: 1555714682}
- {fileID: 1782112234}
m_Father: {fileID: 1768150806}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@ -706,43 +706,11 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
noRecentCourses: {fileID: 922270550}
recentCourses: {fileID: 1737823345}
recommendedCourses: {fileID: 809758278}
course_item: {fileID: 4959898007614330357, guid: baf585123c6364d40a17b89676eb350d, type: 3}
numberOfRecentCourses: 0
recentCourseTitle:
- Basis
- Familie en vrienden
- Huis- en boerderijdieren
recentCourseProgress:
- 0.1
- 0.5
- 1
recentCourseThumbnail:
- {fileID: 21300000, guid: d99bb2dc44e35344fa358208a01c06c4, type: 3}
- {fileID: 21300000, guid: 81bcd777d5919ab4191a449bda031af4, type: 3}
- {fileID: 21300000, guid: 7a1c849ec4f61af48a53cbf43bbab806, type: 3}
recentCourseScene:
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
numberOfRecommendedCourses: 2
recommendedCourseTitle:
- In het wild
- Hobbies
- Gebouwen en plaatsen
recommendedCourseProgress:
- 0
- 0
- 0
recommendedCourseThumbnail:
- {fileID: 21300000, guid: e457af13cf4195a4aaa9fc1835e83076, type: 3}
- {fileID: 21300000, guid: adc5508acb1844640881ebd79c6fcdd3, type: 3}
- {fileID: 21300000, guid: 3692a3b07f36c0b4aaf52bffddf53885, type: 3}
recommendedCourseScene:
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
recentCoursesContainer: {fileID: 1737823345}
recommendedCoursesContainer: {fileID: 809758278}
courseItem: {fileID: 4959898007614330357, guid: baf585123c6364d40a17b89676eb350d, type: 3}
userList: {fileID: 11400000, guid: 072bec636a40f7e4e93b0ac624a3bda2, type: 2}
courseList: {fileID: 11400000, guid: a7ab583094b7897468bbca9243717608, type: 2}
--- !u!1 &922270550
GameObject:
m_ObjectHideFlags: 0
@ -931,11 +899,6 @@ RectTransform:
m_CorrespondingSourceObject: {fileID: 8299246693487308515, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3}
m_PrefabInstance: {fileID: 8299246692221626394}
m_PrefabAsset: {fileID: 0}
--- !u!224 &1555714682 stripped
RectTransform:
m_CorrespondingSourceObject: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
m_PrefabInstance: {fileID: 2823887523299763572}
m_PrefabAsset: {fileID: 0}
--- !u!1 &1709971554
GameObject:
m_ObjectHideFlags: 0
@ -1234,6 +1197,112 @@ RectTransform:
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0, y: 0}
--- !u!1001 &1782112233
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 906197777}
m_Modifications:
- target: {fileID: 2823887524698191629, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_Name
value: ButtonUser
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_Pivot.x
value: 1
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_Pivot.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_RootOrder
value: 7
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_AnchorMax.x
value: 1
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_AnchorMax.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_AnchorMin.x
value: 1
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_AnchorMin.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_SizeDelta.x
value: 400
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_SizeDelta.y
value: 120
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_LocalRotation.x
value: -0
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_LocalRotation.y
value: -0
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_LocalRotation.z
value: -0
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191631, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Arguments.m_StringArgument
value: Common/Scenes/StartScreen
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
--- !u!224 &1782112234 stripped
RectTransform:
m_CorrespondingSourceObject: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
m_PrefabInstance: {fileID: 1782112233}
m_PrefabAsset: {fileID: 0}
--- !u!1 &2004184477
GameObject:
m_ObjectHideFlags: 0
@ -1369,107 +1438,6 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2004184477}
m_CullTransparentMesh: 1
--- !u!1001 &2823887523299763572
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 906197777}
m_Modifications:
- target: {fileID: 2823887524698191629, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_Name
value: User
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_Pivot.x
value: 1
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_Pivot.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_RootOrder
value: 7
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_AnchorMax.x
value: 1
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_AnchorMax.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_AnchorMin.x
value: 1
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_AnchorMin.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_SizeDelta.x
value: 300
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_SizeDelta.y
value: 120
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_LocalRotation.x
value: -0
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_LocalRotation.y
value: -0
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_LocalRotation.z
value: -0
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191631, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Arguments.m_StringArgument
value: Common/Scenes/StartScreen
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
--- !u!1001 &8299246692221626394
PrefabInstance:
m_ObjectHideFlags: 0

View File

@ -232,7 +232,7 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_SizeDelta.x
value: 300
value: 400
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_SizeDelta.y
@ -516,7 +516,7 @@ MonoBehaviour:
m_Right: 10
m_Top: 10
m_Bottom: 10
m_ChildAlignment: 4
m_ChildAlignment: 0
m_StartCorner: 0
m_StartAxis: 0
m_CellSize: {x: 256, y: 256}
@ -923,413 +923,9 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 0fac0bf527487ad48835aff400b1f762, type: 3}
m_Name:
m_EditorClassIdentifier:
itemContainer: {fileID: 461792789}
itemPrefab: {fileID: 4959898007614330357, guid: baf585123c6364d40a17b89676eb350d, type: 3}
numberOfItems: 100
itemTitle:
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
- les XYZ
itemProgress:
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
itemThumbnail:
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
itemScene:
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
courseContainer: {fileID: 461792789}
courseItemPrefab: {fileID: 4959898007614330357, guid: baf585123c6364d40a17b89676eb350d, type: 3}
courseList: {fileID: 11400000, guid: a7ab583094b7897468bbca9243717608, type: 2}
--- !u!1 &994710774
GameObject:
m_ObjectHideFlags: 0
@ -1583,7 +1179,7 @@ PrefabInstance:
m_Modifications:
- target: {fileID: 8299246693487308512, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3}
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Arguments.m_StringArgument
value: Common/Scenes/StartScreen
value: Common/Scenes/CoursesScreen
objectReference: {fileID: 0}
- target: {fileID: 8299246693487308514, guid: 3bccdf365a4fbea4d8fa1aa461d3dc5c, type: 3}
propertyPath: m_Name
@ -1789,7 +1385,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
m_IsActive: 0
--- !u!224 &1503088043
RectTransform:
m_ObjectHideFlags: 0

View File

@ -329,6 +329,112 @@ RectTransform:
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
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 1380805077}
m_Modifications:
- target: {fileID: 2823887524698191629, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_Name
value: ButtonUser
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_Pivot.x
value: 1
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_Pivot.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_RootOrder
value: 3
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_AnchorMax.x
value: 1
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_AnchorMax.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_AnchorMin.x
value: 1
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_AnchorMin.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_SizeDelta.x
value: 400
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_SizeDelta.y
value: 120
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_LocalRotation.x
value: -0
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_LocalRotation.y
value: -0
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_LocalRotation.z
value: -0
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191631, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Arguments.m_StringArgument
value: Common/Scenes/StartScreen
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
--- !u!224 &238926234 stripped
RectTransform:
m_CorrespondingSourceObject: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
m_PrefabInstance: {fileID: 238926233}
m_PrefabAsset: {fileID: 0}
--- !u!1 &294756596
GameObject:
m_ObjectHideFlags: 0
@ -640,7 +746,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
m_IsActive: 0
--- !u!224 &1099058601
RectTransform:
m_ObjectHideFlags: 0
@ -1027,7 +1133,7 @@ GameObject:
- component: {fileID: 1380805077}
- component: {fileID: 1380805080}
- component: {fileID: 1380805079}
- component: {fileID: 1380805078}
- component: {fileID: 1380805081}
m_Layer: 5
m_Name: Panel
m_TagString: Untagged
@ -1050,7 +1156,7 @@ RectTransform:
- {fileID: 1099058601}
- {fileID: 1570876499}
- {fileID: 1605366630}
- {fileID: 1840395957}
- {fileID: 238926234}
m_Father: {fileID: 79114699}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@ -1059,425 +1165,6 @@ RectTransform:
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1380805078
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1380805076}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0fac0bf527487ad48835aff400b1f762, type: 3}
m_Name:
m_EditorClassIdentifier:
itemContainer: {fileID: 1832508913}
itemPrefab: {fileID: 4959898007614330357, guid: baf585123c6364d40a17b89676eb350d, type: 3}
numberOfItems: 100
itemTitle:
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
- minigame ABC
itemProgress:
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
- 0.1
itemThumbnail:
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
- {fileID: 21300000, guid: 1929b8c9d13568241887cac7c03f8bb3, type: 3}
itemScene:
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
- Courses/Scenes/Course_0
--- !u!114 &1380805079
MonoBehaviour:
m_ObjectHideFlags: 0
@ -1516,6 +1203,21 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1380805076}
m_CullTransparentMesh: 1
--- !u!114 &1380805081
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1380805076}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 2dd453d411c3b3e458a7b133764c6b64, type: 3}
m_Name:
m_EditorClassIdentifier:
minigameContainer: {fileID: 1832508913}
minigameItemPrefab: {fileID: 4959898007614330357, guid: e5eaffcdbecf2ab48a94311753d10e09, type: 3}
minigameList: {fileID: 11400000, guid: 51453f9b41bc72f468ba3e67ab622f8f, type: 2}
--- !u!1 &1486682950
GameObject:
m_ObjectHideFlags: 0
@ -2011,116 +1713,10 @@ MonoBehaviour:
m_Right: 10
m_Top: 10
m_Bottom: 10
m_ChildAlignment: 4
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!1001 &1840395956
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 1380805077}
m_Modifications:
- target: {fileID: 2823887524698191629, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_Name
value: ButtonUser
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_Pivot.x
value: 1
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_Pivot.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_RootOrder
value: 3
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_AnchorMax.x
value: 1
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_AnchorMax.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_AnchorMin.x
value: 1
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_AnchorMin.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_SizeDelta.x
value: 300
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_SizeDelta.y
value: 120
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_LocalRotation.x
value: -0
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_LocalRotation.y
value: -0
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_LocalRotation.z
value: -0
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191631, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Arguments.m_StringArgument
value: Common/Scenes/StartScreen
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
--- !u!224 &1840395957 stripped
RectTransform:
m_CorrespondingSourceObject: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
m_PrefabInstance: {fileID: 1840395956}
m_PrefabAsset: {fileID: 0}

View File

@ -645,7 +645,7 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_SizeDelta.x
value: 300
value: 400
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_SizeDelta.y

View File

@ -181,7 +181,7 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: Courses
m_text: Lessen
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 3602bedf0ebe5b64596873f09eddf57b, type: 2}
m_sharedMaterial: {fileID: -1030930060397404263, guid: 3602bedf0ebe5b64596873f09eddf57b, type: 2}
@ -603,7 +603,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}
@ -721,7 +721,7 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_SizeDelta.x
value: 300
value: 400
objectReference: {fileID: 0}
- target: {fileID: 2823887524698191630, guid: 53b0d00ac817ebf43b61bea2d160dd66, type: 3}
propertyPath: m_SizeDelta.y
@ -1568,7 +1568,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}

View File

@ -0,0 +1,17 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 3976e4310b716de4eb24f1916c10ff3d, type: 3}
m_Name: MinigameList
m_EditorClassIdentifier:
currentMinigameIndex: 0
minigames:
- {fileID: 11400000, guid: 8a087d241d652634eb4f6352267ea7dc, type: 2}

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: c1c54aeff4d069a41b2799b2dd26498f
guid: 51453f9b41bc72f468ba3e67ab622f8f
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000

View File

@ -13,4 +13,6 @@ MonoBehaviour:
m_Name: UserList
m_EditorClassIdentifier:
userTemplate: {fileID: 11400000, guid: 9195fb19688f1834fac39d356f965c20, type: 2}
users: []
users:
- {fileID: 11400000, guid: 5953482dbce359e4eb263eea279dd0c5, type: 2}
currentUserIndex: 0

View File

@ -0,0 +1,29 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 3c6c5919d9f747143b377c2bc34cd28b, type: 3}
m_Name: dvschuyl
m_EditorClassIdentifier:
username: dvschuyl
avatar: {fileID: 21300000, guid: 2098bf9fafbc5b31e89e5b7ad8f1f5e2, type: 3}
playtime: 0
courses:
- entries:
- key: courseIndex
bytes: 0001000000ffffffff01000000000000000c0200000046417373656d626c792d4353686172702c2056657273696f6e3d302e302e302e302c2043756c747572653d6e65757472616c2c205075626c69634b6579546f6b656e3d6e756c6c05010000000b436f75727365496e646578010000000776616c75655f5f000802000000000000000b
- key: courseProgress
bytes: 0001000000ffffffff010000000000000004010000000d53797374656d2e53696e676c6501000000076d5f76616c7565000b0000803e0b
minigames:
- entries:
- key: minigameIndex
bytes: 0001000000ffffffff01000000000000000c0200000046417373656d626c792d4353686172702c2056657273696f6e3d302e302e302e302c2043756c747572653d6e65757472616c2c205075626c69634b6579546f6b656e3d6e756c6c05010000000d4d696e6967616d65496e646578010000000776616c75655f5f000802000000000000000b
- key: highscore
bytes: 0001000000ffffffff010000000000000004010000000c53797374656d2e496e74333201000000076d5f76616c75650008000000000b

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 5953482dbce359e4eb263eea279dd0c5
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -7,12 +7,11 @@ using UnityEngine.UI;
public class CourseItem : MonoBehaviour
{
// TODO: change to ScriptableObject Course;
[Header("ScriptableObject Course")]
public string courseTitle;
public float courseProgress;
public Sprite courseThumbnail;
public string courseScene;
[Header("Course")]
// Reference to the course
public Course course;
// Progress of the current user on this course
public float progress;
[Header("UI references")]
// Reference to thumbnail object
@ -36,16 +35,16 @@ public class CourseItem : MonoBehaviour
public void GenerateContent()
{
// Set appearance
thumbnail.sprite = courseThumbnail;
title.text = courseTitle;
thumbnail.sprite = course.thumbnail;
title.text = course.title;
// Set progress
float progress = Mathf.Clamp01(courseProgress);
progress = Mathf.Clamp01(progress);
completed.SetActive(1.0f <= progress);
slider.SetActive(0.0f < progress && progress < 1.0f);
slider.SetActive(0.0f <= progress && progress < 1.0f);
slider.GetComponent<Slider>().value = progress;
// Add click functionality
button.onClick.AddListener(() => SceneManager.LoadScene(courseScene));
button.onClick.AddListener(() => SceneManager.LoadScene("Courses/Scenes/Course_0"));
}
}

View File

@ -0,0 +1,39 @@
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
public class CourseListManager : MonoBehaviour
{
[Header("Course list UI components")]
// Reference to course-list holder object
public Transform courseContainer;
[Header("Prefabs")]
// Prefab of item
public GameObject courseItemPrefab;
[Header("Courses")]
// Reference to the list of all courses
public CourseList courseList;
void Start()
{
foreach (Course course in courseList.courses)
{
// Create instance of prefab
GameObject instance = GameObject.Instantiate(courseItemPrefab, courseContainer);
// Dynamically load appearance
CourseItem item = instance.GetComponent<CourseItem>();
item.course = course;
}
}
// Method used as callback for on click events
public void LoadScene(string sceneName)
{
SceneManager.LoadScene(sceneName);
}
}

View File

@ -1,3 +1,4 @@
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
@ -9,57 +10,49 @@ public class CourseScreenManager : MonoBehaviour
// Reference to text that displays when there are no recent courses
public GameObject noRecentCourses;
// Reference to recent-courses-list holder object
public Transform recentCourses;
public Transform recentCoursesContainer;
// Reference to recommended-courses-list holder object
public Transform recommendedCourses;
public Transform recommendedCoursesContainer;
[Header("Prefabs")]
// CourseItem prefab
public GameObject course_item;
public GameObject courseItem;
// TODO: change to ScriptableObject;
[Header("ScriptableObjects")]
public int numberOfRecentCourses;
public string[] recentCourseTitle;
public float[] recentCourseProgress;
public Sprite[] recentCourseThumbnail;
public string[] recentCourseScene;
public int numberOfRecommendedCourses;
public string[] recommendedCourseTitle;
public float[] recommendedCourseProgress;
public Sprite[] recommendedCourseThumbnail;
public string[] recommendedCourseScene;
[Header("User")]
// Reference to the users so we can get the current user;
public UserList userList;
// Reference to the courses
public CourseList courseList;
void Start()
{
// Recent courses
noRecentCourses.SetActive(numberOfRecentCourses <= 0);
User user = userList.users[userList.currentUserIndex];
for (int i = 0; i < numberOfRecentCourses; i++)
// Recent courses
List<Tuple<CourseIndex, float>> recentCourses = user.GetRecentCourses();
noRecentCourses.SetActive(recentCourses.Count <= 0);
foreach (Tuple<CourseIndex, float> course in recentCourses)
{
// Create instance of prefab
GameObject instance = GameObject.Instantiate(course_item, recentCourses);
GameObject instance = GameObject.Instantiate(courseItem, recentCoursesContainer);
// Dynamically load appearance
CourseItem item = instance.GetComponent<CourseItem>();
item.courseTitle = recentCourseTitle[i];
item.courseThumbnail = recentCourseThumbnail[i];
item.courseProgress = recentCourseProgress[i];
item.courseScene = recentCourseScene[i];
item.course = courseList.courses.Find((j) => j.index == course.Item1);
item.progress = course.Item2;
}
// Recommended courses
for (int i = 0; i < numberOfRecommendedCourses; i++)
List<Tuple<CourseIndex, float>> recommenedCourses = user.GetRecommendedCourses();
foreach (Tuple<CourseIndex, float> course in recommenedCourses)
{
// Create instance of prefab
GameObject instance = GameObject.Instantiate(course_item, recommendedCourses);
GameObject instance = GameObject.Instantiate(courseItem, recommendedCoursesContainer);
// Dynamically load appearance
CourseItem item = instance.GetComponent<CourseItem>();
item.courseTitle = recommendedCourseTitle[i];
item.courseThumbnail = recommendedCourseThumbnail[i];
item.courseProgress = 0.0f; // So progress bar doesn't show
item.courseScene = recommendedCourseScene[i];
item.course = courseList.courses.Find((j) => j.index == course.Item1);
item.progress = course.Item2;
}
}

View File

@ -1,46 +0,0 @@
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
public class ListScreenManager : MonoBehaviour
{
[Header("List Screen Components")]
// Reference to item-list holder object
public Transform itemContainer;
[Header("Prefabs")]
// Prefab of item
public GameObject itemPrefab;
// TODO: change to ScriptableObject;
[Header("ScriptableObjects")]
public int numberOfItems;
public string[] itemTitle;
public float[] itemProgress;
public Sprite[] itemThumbnail;
public string[] itemScene;
void Start()
{
for (int i = 0; i < numberOfItems; i++)
{
// Create instance of prefab
GameObject instance = GameObject.Instantiate(itemPrefab, itemContainer);
// Dynamically load appearance
CourseItem item = instance.GetComponent<CourseItem>();
item.courseTitle = itemTitle[i];
item.courseThumbnail = itemThumbnail[i];
item.courseProgress = itemProgress[i];
item.courseScene = itemScene[i];
}
}
// Method used as callback for on click events
public void LoadScene(string sceneName)
{
SceneManager.LoadScene(sceneName);
}
}

View File

@ -0,0 +1,22 @@
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
[CreateAssetMenu(menuName = "Create new Scriptable/Minigame")]
public class Minigame : ScriptableObject
{
[Header("Minigame info")]
// Minigame index
public MinigameIndex index;
// Minigame title
public string title;
// Short desciption of the course
public string description;
// Thumbnail of the course
public Sprite thumbnail;
[Header("Scene")]
// Reference to the minigame starting scene
public string minigameEntryPoint;
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: d7809d135a59849458ccb29ffad535c5
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,11 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
// TODO: add other courses
public enum MinigameIndex
{
SPELLING_BEE,
HANGMAN,
JUST_SIGN
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 44a1fb926248fe240bed2d5c3820630b
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,38 @@
using System.Collections;
using System.Collections.Generic;
using TMPro;
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
public class MinigameItem : MonoBehaviour
{
// TODO: change to ScriptableObject Minigame;
[Header("ScriptableObject Course")]
public Minigame minigame;
[Header("UI references")]
// Reference to thumbnail object
public Image thumbnail;
// Reference to title object
public TMP_Text title;
// Refetence to object so correct callback can be trigger on click
public Button button;
void Start()
{
// Use public function so that this component can get Instantiated
GenerateContent();
}
public void GenerateContent()
{
// Set appearance
thumbnail.sprite = minigame.thumbnail;
title.text = minigame.title;
// Add click functionality
button.onClick.AddListener(() => SceneManager.LoadScene(minigame.minigameEntryPoint));
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 0f9d201a28e32264993cc2b8f8055b33
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,15 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
[CreateAssetMenu(menuName = "Create new Scriptable/MinigameList")]
public class MinigameList : ScriptableObject
{
[Header("Current Minigame")]
// Index of the current course
public int currentMinigameIndex = 0;
[Header("Minigames")]
// List of minigames
public List<Minigame> minigames = new List<Minigame>();
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 3976e4310b716de4eb24f1916c10ff3d
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,39 @@
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
public class MinigameListManager : MonoBehaviour
{
[Header("Minigame list UI components")]
// Reference to minigame-list holder object
public Transform minigameContainer;
[Header("Prefabs")]
// Prefab of item
public GameObject minigameItemPrefab;
[Header("Minigames")]
// Reference to the list of all minigames
public MinigameList minigameList;
void Start()
{
foreach (Minigame minigame in minigameList.minigames)
{
// Create instance of prefab
GameObject instance = GameObject.Instantiate(minigameItemPrefab, minigameContainer);
// Dynamically load appearance
MinigameItem item = instance.GetComponent<MinigameItem>();
item.minigame = minigame;
}
}
// Method used as callback for on click events
public void LoadScene(string sceneName)
{
SceneManager.LoadScene(sceneName);
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 2dd453d411c3b3e458a7b133764c6b64
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -5,8 +5,8 @@ using System.IO;
using System.Runtime.Serialization.Formatters.Binary;
using UnityEngine;
[Serializable]
// Can not be created from Editor
public class Progress
{
[Serializable]
@ -23,39 +23,34 @@ public class Progress
}
}
// TODO: use inheritance to create seperate MinigameProgress and CourseProgress
[Header("Course or Minigame")]
// TODO: change to course/minigame ScriptableObject reference
// Index of item in courses/minigame list object
public int index;
[SerializeField]
// values belonging to a certain key, in List (which can be serialized)
private List<DataEntry> entries = new List<DataEntry>();
// Add new `key` := `value`, returns `true` if successful
public bool Add<T>(string key, T data)
public bool AddOrUpdate<T>(string key, T data)
{
if (data == null)
return false;
// Search for already existing key
foreach (DataEntry entry in entries)
{
if (entry.key == key)
{
return false;
}
}
DataEntry entry = entries.Find(x => x.key == key);
// Hacky serialization stuff
BinaryFormatter bf = new BinaryFormatter();
using (MemoryStream ms = new MemoryStream())
{
bf.Serialize(ms, data);
entries.Add(new DataEntry(key, ms.ToArray()));
if (entry != null)
{
entry.bytes.Clear();
entry.bytes.AddRange(ms.ToArray());
}
else
{
entries.Add(new DataEntry(key, ms.ToArray()));
}
return true;
}
}

View File

@ -3,7 +3,7 @@ using System.Collections;
using System.Collections.Generic;
using UnityEngine;
[CreateAssetMenu(menuName = "Create new Scriptable/User/User")]
[CreateAssetMenu(menuName = "Create new Scriptable/User")]
public class User : ScriptableObject
{
[Header("Personal data")]
@ -24,4 +24,40 @@ public class User : ScriptableObject
[SerializeField]
// List of minigames a user played
public List<Progress> minigames = new List<Progress>();
// Get a list of all recently started courses, returns a list of tuples of `<CourseIndex idx, float courseProgress>`
public List<Tuple<CourseIndex, float>> GetRecentCourses()
{
// TODO: return better results (for now only return all courses)
List<Tuple<CourseIndex, float>> recentCourses = new List<Tuple<CourseIndex, float>>();
foreach (Progress courseProgress in courses)
{
CourseIndex idx = courseProgress.Get<CourseIndex>("courseIndex");
float progress = courseProgress.Get<float>("courseProgress");
recentCourses.Add(Tuple.Create<CourseIndex, float>(idx, progress));
}
return recentCourses;
}
// Get a list of all recommended courses, returns a list of tuples of `<CourseIndex idx, float courseProgress>`
public List<Tuple<CourseIndex, float>> GetRecommendedCourses()
{
List<Tuple<CourseIndex, float>> recommenedCourses = new List<Tuple<CourseIndex, float>>();
if (courses.Count == 0)
{
recommenedCourses.Add(Tuple.Create<CourseIndex, float>(CourseIndex.FINGERSPELLING, 0.0f));
}
else
{
// TODO: return better results (for now only return all courses)
foreach (Progress courseProgress in courses)
{
CourseIndex idx = courseProgress.Get<CourseIndex>("courseIndex");
float progress = courseProgress.Get<float>("courseProgress");
recommenedCourses.Add(Tuple.Create<CourseIndex, float>(idx, progress));
}
}
return recommenedCourses;
}
}

View File

@ -0,0 +1,25 @@
using System.Collections;
using System.Collections.Generic;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
public class UserButton : MonoBehaviour
{
[Header("User")]
// Reference to the user list, so we can extract the current user
public UserList userList;
[Header("UI References")]
// Reference to the avatar object
public Image avatar;
// Reference to the username object
public TMP_Text username;
void Start()
{
User user = userList.users[userList.currentUserIndex];
avatar.sprite = user.avatar;
username.text = user.username;
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 7b8b159dda1a6104793946dc46f84f3a
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -3,7 +3,7 @@ using UnityEditor;
using UnityEngine;
using UnityEngine.UI;
[CreateAssetMenu(menuName = "Create new Scriptable/User/List")]
[CreateAssetMenu(menuName = "Create new Scriptable/UserList")]
public class UserList : ScriptableObject
{
[Header("Template")]
@ -13,6 +13,8 @@ public class UserList : ScriptableObject
[Header("Users")]
// List of users
public List<User> users = new List<User>();
// Current user
public int currentUserIndex = 0;
// Create a new User
public User CreateNewUser(string name, Sprite avatar)

View File

@ -26,7 +26,7 @@ public class TestProgress : MonoBehaviour
{
Progress progress = new Progress();
NonSerializableStruct nss = new NonSerializableStruct();
try { progress.Add<NonSerializableStruct>("key", nss); }
try { progress.AddOrUpdate<NonSerializableStruct>("key", nss); }
catch (SerializationException) { return true; }
return false;
}
@ -44,7 +44,7 @@ public class TestProgress : MonoBehaviour
private bool AccessInvalidType()
{
Progress progress = new Progress();
progress.Add<int>("key", 123456789);
progress.AddOrUpdate<int>("key", 123456789);
try { progress.Get<double>("key"); }
catch (InvalidCastException) { return true; }
return false;
@ -62,6 +62,7 @@ public class TestProgress : MonoBehaviour
TestProgressAddNonSerializableStruct();
TestProgressGetInvalidKey();
TestProgressGetInvalidType();
TestProgressUpdate();
TestProgressGetInt();
TestProgressGetDouble();
TestProgressGetString();
@ -77,38 +78,38 @@ public class TestProgress : MonoBehaviour
public void TestProgressAddInvalidData()
{
Progress progress = new Progress();
Debug.Assert(!progress.Add<GameObject>("key", null));
Debug.Assert(!progress.AddOrUpdate<GameObject>("key", null));
}
public void TestProgressAddDuplicateKey()
{
Progress progress = new Progress();
progress.Add<int>("key 1", 0);
Debug.Assert(!progress.Add<int>("key 1", 1));
progress.AddOrUpdate<int>("key 1", 0);
Debug.Assert(progress.AddOrUpdate<int>("key 1", 1));
}
public void TestProgressAddInt()
{
Progress progress = new Progress();
Debug.Assert(progress.Add<int>("key", 1));
Debug.Assert(progress.AddOrUpdate<int>("key", 1));
}
public void TestProgressAddDouble()
{
Progress progress = new Progress();
Debug.Assert(progress.Add<double>("key", 1.0));
Debug.Assert(progress.AddOrUpdate<double>("key", 1.0));
}
public void TestProgressAddString()
{
Progress progress = new Progress();
Debug.Assert(progress.Add<string>("key", "Hello World!"));
Debug.Assert(progress.AddOrUpdate<string>("key", "Hello World!"));
}
public void TestProgressAddSerializableStruct()
{
Progress progress = new Progress();
Debug.Assert(progress.Add<SerializableStruct>("key", new SerializableStruct()));
Debug.Assert(progress.AddOrUpdate<SerializableStruct>("key", new SerializableStruct()));
}
public void TestProgressAddNonSerializableStruct()
@ -126,24 +127,33 @@ public class TestProgress : MonoBehaviour
Debug.Assert(AccessInvalidType());
}
public void TestProgressUpdate()
{
Progress progress = new Progress();
progress.AddOrUpdate<int>("key", 1);
Debug.Assert(progress.Get<int>("key") == 1);
progress.AddOrUpdate<int>("key", 2);
Debug.Assert(progress.Get<int>("key") == 2);
}
public void TestProgressGetInt()
{
Progress progress = new Progress();
progress.Add<int>("key", 1);
progress.AddOrUpdate<int>("key", 1);
Debug.Assert(progress.Get<int>("key") == 1);
}
public void TestProgressGetDouble()
{
Progress progress = new Progress();
progress.Add<double>("key", 1.0);
progress.AddOrUpdate<double>("key", 1.0);
Debug.Assert(progress.Get<double>("key") == 1.0);
}
public void TestProgressGetString()
{
Progress progress = new Progress();
progress.Add<string>("key", "Hello World!");
progress.AddOrUpdate<string>("key", "Hello World!");
Debug.Assert(progress.Get<string>("key") == "Hello World!");
}
@ -154,7 +164,7 @@ public class TestProgress : MonoBehaviour
int R = 1, G = 10, B = 100;
float X = 0.1f, Y = 0.01f, Z = 0.001f;
SerializableStruct data = new SerializableStruct { r = R, g = G, b = B, x = X, y = Y, z = Z };
progress.Add<SerializableStruct>("key", data);
progress.AddOrUpdate<SerializableStruct>("key", data);
SerializableStruct result = progress.Get<SerializableStruct>("key");
Debug.Assert(result.r == R);
Debug.Assert(result.g == G);

View File

@ -155,8 +155,9 @@ MonoBehaviour:
player: {fileID: 993952931}
button: {fileID: 1159630774}
pauseSprite: {fileID: 21300000, guid: 43db869a07cf51f45a411b6e4a417743, type: 3}
word_image: {fileID: 2145235737}
wordImage: {fileID: 2145235737}
title: {fileID: 388014849}
userList: {fileID: 11400000, guid: 072bec636a40f7e4e93b0ac624a3bda2, type: 2}
courselist: {fileID: 11400000, guid: a7ab583094b7897468bbca9243717608, type: 2}
--- !u!4 &118887550
Transform:
@ -166,7 +167,7 @@ Transform:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 118887548}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 1009.74774, y: 545.9465, z: -3.3333964}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
@ -1081,7 +1082,7 @@ Transform:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 993952930}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 341.03647, y: 173.12453, z: -3.6324117}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
@ -1748,7 +1749,7 @@ Transform:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1485779444}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 1018.7385, y: 488.39554, z: 0.26466587}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []

View File

@ -13,4 +13,4 @@ MonoBehaviour:
m_Name: CourseList
m_EditorClassIdentifier:
courses:
- {fileID: 11400000, guid: c1c54aeff4d069a41b2799b2dd26498f, type: 2}
- {fileID: 11400000, guid: 300921292bfd5564b8ce70b834c3f334, type: 2}

View File

@ -1,28 +0,0 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f6b23e64e6ffb12459ed4f37d7305852, type: 3}
m_Name: Course_0
m_EditorClassIdentifier:
title: Course_0
description: This is a dummy course used for testing.
thumbnail: {fileID: 21300000, guid: ac9b0ab2b71d2f14593726feaffa6b6e, type: 3}
progress: 0
images:
- {fileID: 21300000, guid: 9da6e6e67d226734aa34575722c59389, type: 3}
- {fileID: 21300000, guid: 6a1a8ea5d7cae95449c449abcfa51640, type: 3}
- {fileID: 21300000, guid: 2defbdfec73217847bb2a9c687668006, type: 3}
- {fileID: 21300000, guid: 8a664ceb4c0d45a40aa7545537b03798, type: 3}
videos:
- {fileID: 32900000, guid: bf0807dbf3931c846951ab6ce07286f7, type: 3}
- {fileID: 32900000, guid: 2a387512265e5e747bd69194d90a9c76, type: 3}
- {fileID: 32900000, guid: c64e80628c275574aa425e17639b1c19, type: 3}
- {fileID: 32900000, guid: e201d74a82223164684a7771abbbcfe0, type: 3}

View File

@ -0,0 +1,31 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f6b23e64e6ffb12459ed4f37d7305852, type: 3}
m_Name: Fingerspelling
m_EditorClassIdentifier:
index: 0
title: Fingerspelling
description: Learn the basics of fingerspelling
thumbnail: {fileID: 21300000, guid: f2344cd67769733ceb363a41e1d88a65, type: 3}
learnables:
- name: A
image: {fileID: 21300000, guid: fceabadca8d3ed2cdbf652d2826639ea, type: 3}
clip: {fileID: 32900000, guid: 219638b5c33528443a0a1bc0946ed68e, type: 3}
- name: B
image: {fileID: 21300000, guid: c2620dd626ef0921cb6a5f2d2b1fbea8, type: 3}
clip: {fileID: 32900000, guid: 01bb71617b10fe4429a03f2127286a90, type: 3}
- name: C
image: {fileID: 21300000, guid: 68ac0fd4dcce2b9c09ac3ff5c2604ef2, type: 3}
clip: {fileID: 32900000, guid: 5fc69105a51e8dc498ec01e5068b4d3d, type: 3}
- name: D
image: {fileID: 21300000, guid: d3f490003d163ac7b99ccfbee2025738, type: 3}
clip: {fileID: 32900000, guid: 126ae1ab33f626b49bbafe6595619a5f, type: 3}

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 300921292bfd5564b8ce70b834c3f334
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,16 +1,35 @@
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Video;
[CreateAssetMenu(fileName="New Course", menuName="course")]
[CreateAssetMenu(menuName = "Create new Scriptable/Course")]
public class Course : ScriptableObject
{
public string title;
public string description;
public Sprite thumbnail;
public int progress;
[Serializable]
// Small class to hold information about a single learnable (e.g., a word or a letter)
public class Learnable
{
// Name of the word/letter to learn
public string name;
// Sprite of this word/letter
public Sprite image;
// Example video clip
public VideoClip clip;
}
public Sprite[] images;
public VideoClip[] videos;
[Header("Course info")]
// Course index
public CourseIndex index;
// Course title
public string title;
// Short desciption of the course
public string description;
// Thumbnail of the course
public Sprite thumbnail;
[Header("Learnable words")]
// List of learnable words/letters
public List<Learnable> learnables = new List<Learnable>();
}

View File

@ -2,8 +2,8 @@ using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public static class CourseIndex
// TODO: add other courses
public enum CourseIndex
{
// Start is called before the first frame update
public static int index = 0;
FINGERSPELLING
}

View File

@ -2,8 +2,14 @@ using System.Collections;
using System.Collections.Generic;
using UnityEngine;
[CreateAssetMenu(fileName="New CourseList", menuName="CourseList")]
[CreateAssetMenu(menuName = "Create new Scriptable/CourseList")]
public class CourseList : ScriptableObject
{
public Course[] courses;
[Header("Current Course")]
// Index of the current course
public int currentCourseIndex = 0;
[Header("Courses")]
// List of courses
public List<Course> courses = new List<Course>();
}

View File

@ -1,40 +1,76 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Video; // To alter video
using UnityEngine.UI; // For general image + button jobs
using TMPro; // For text
using UnityEngine.Video;
using UnityEngine.UI;
using TMPro;
using UnityEditor;
public class StartPause : MonoBehaviour
{
[Header("UI References")]
// Reference to instructional video player
public VideoPlayer player;
// Reference to pause button
public Button button;
// Reference to sprite for the pause button
public Sprite pauseSprite;
public Image word_image;
// Reference to the image for displaying the current words sprite
public Image wordImage;
// Reference to the text object for displaying the current word
public TextMeshProUGUI title;
[Header("User")]
// Reference to user list to get current user
public UserList userList;
// The current user
private User user;
// Current user progress for this course
private Progress progress = null;
[Header("Course")]
// ScriptableObject with list of all courses
public CourseList courselist;
// Reference to Course ScriptableObject
private Course course;
private int word_i = 0;
// Index of the current word/letter in the course.learnables list
private int currentWordIndex = 0;
// In my example, i have 4 videos/images
private int max_words = 4;
private int maxWords = 4;
// Number of correct words so far
// (can be modified to a list or something like that to give better feedback)
private int correctWords = 0;
// Start is called before the first frame update
public void Awake()
{
course = courselist.courses[CourseIndex.index];
// Setting up course
course = courselist.courses[courselist.currentCourseIndex];
// Create entry in current user for keeping track of progress
user = userList.users[userList.currentUserIndex];
progress = user.courses.Find((p) => p != null && p.Get<CourseIndex>("courseIndex") == course.index);
if (progress == null)
{
progress = new Progress();
progress.AddOrUpdate<CourseIndex>("courseIndex", CourseIndex.FINGERSPELLING);
progress.AddOrUpdate<float>("courseProgress", -1.0f);
user.courses.Add(progress);
}
EditorUtility.SetDirty(user);
// Setup UI
button.image.sprite = pauseSprite;
title.text = course.name;
next_video();
next_image();
NextVideo();
NextImage();
}
// These two functions generate video and image from files
private void next_video(){
player.clip = course.videos[word_i];
private void NextVideo()
{
player.clip = course.learnables[currentWordIndex].clip;
// This loads first frame, so that it can be used as a sort-of preview for the video
player.Play();
player.Pause();
@ -45,11 +81,9 @@ public class StartPause : MonoBehaviour
}
// This doesn't work
private void next_image(){
Sprite tex = course.images[word_i];
word_image.sprite = tex;
private void NextImage()
{
wordImage.sprite = course.learnables[currentWordIndex].image;
}
// Activate by pressing the center of the screen
@ -74,10 +108,32 @@ public class StartPause : MonoBehaviour
}
// Press next-sign button for next word
public void NextSign(){
word_i++;
word_i %= max_words;
next_video();
next_image();
public void NextSign()
{
// Goto the next word/letter
currentWordIndex++;
// TODO: fix correct word count
correctWords++;
progress.AddOrUpdate<float>("courseProgress", (float)correctWords / (float)maxWords);
EditorUtility.SetDirty(user);
// Update UI if course is not finished yet
if (currentWordIndex < maxWords)
{
NextVideo();
NextImage();
}
// Finish course and record progress
else
{
FinishCourse();
}
}
public void FinishCourse()
{
// TODO: update progress (maybe this can also be at the `NextSign()`-method)
progress.AddOrUpdate<float>("courseProgress", correctWords / maxWords);
}
}

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 2a387512265e5e747bd69194d90a9c76
guid: 219638b5c33528443a0a1bc0946ed68e
VideoClipImporter:
externalObjects: {}
serializedVersion: 2

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: c64e80628c275574aa425e17639b1c19
guid: 01bb71617b10fe4429a03f2127286a90
VideoClipImporter:
externalObjects: {}
serializedVersion: 2

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: e201d74a82223164684a7771abbbcfe0
guid: 5fc69105a51e8dc498ec01e5068b4d3d
VideoClipImporter:
externalObjects: {}
serializedVersion: 2

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: bf0807dbf3931c846951ab6ce07286f7
guid: 126ae1ab33f626b49bbafe6595619a5f
VideoClipImporter:
externalObjects: {}
serializedVersion: 2

View File

@ -1674,6 +1674,8 @@ MonoBehaviour:
correctLettersText: {fileID: 978093276}
gameEndedPanel: {fileID: 757133117}
replayButton: {fileID: 1346891278}
userList: {fileID: 11400000, guid: 072bec636a40f7e4e93b0ac624a3bda2, type: 2}
minigame: {fileID: 11400000, guid: 8a087d241d652634eb4f6352267ea7dc, type: 2}
letterPrefab: {fileID: 4639383499500021565, guid: c3e66e8957864914cb022af914df6a28, type: 3}
letterContainer: {fileID: 1346005056}
wordImage: {fileID: 1338727891}

View File

@ -0,0 +1,19 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d7809d135a59849458ccb29ffad535c5, type: 3}
m_Name: SpellingBee
m_EditorClassIdentifier:
index: 0
title: Spelling Bee
description: A simple spelling minigame
thumbnail: {fileID: 21300000, guid: d99bb2dc44e35344fa358208a01c06c4, type: 3}
minigameEntryPoint: SpellingBee/Scenes/ThemeSelection

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 8a087d241d652634eb4f6352267ea7dc
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -5,6 +5,8 @@ using System;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
using static Unity.VisualScripting.Member;
using UnityEditor;
public class GameController : MonoBehaviour
{
@ -60,10 +62,24 @@ public class GameController : MonoBehaviour
// Counter that keeps track of how many letters have been spelled correctly
private int spelledWords;
[Header("User")]
// Reference to the user list to access the current user
public UserList userList;
// Reference to the current user
private User user;
// Reference to the minigame progress of the current user
private Progress progress = null;
[Header("Minigame")]
// Reference to the minigame ScriptableObject
public Minigame minigame;
[Header("Letter prefab")]
// Letter prefab
public GameObject letterPrefab;
[Header("UI References")]
// Reference to letter prefab
public Transform letterContainer;
@ -72,7 +88,7 @@ public class GameController : MonoBehaviour
// Timer display
public TMP_Text timerText;
[Header("private variables")]
[Header("Private Variables")]
// The GameObjects representing the letters
private List<GameObject> letters = new List<GameObject>();
@ -90,6 +106,20 @@ public class GameController : MonoBehaviour
gameEndedPanel.SetActive(false);
replayButton.onClick.AddListener(Start);
// Create entry in current user for keeping track of progress
user = userList.users[userList.currentUserIndex];
progress = user.minigames.Find((p) => p != null && p.Get<MinigameIndex>("minigameIndex") == minigame.index);
if (progress == null)
{
progress = new Progress();
progress.AddOrUpdate<MinigameIndex>("minigameIndex", MinigameIndex.SPELLING_BEE);
// TODO: add progress we want to keep track off
// (for example 'highscore')
progress.AddOrUpdate<int>("highscore", 0);
user.minigames.Add(progress);
}
EditorUtility.SetDirty(user);
// TODO: change to ScriptableObject
themeList = ThemeLoader.LoadJson();
currentTheme = FindThemeByName(PlayerPrefs.GetString("themeName"));
@ -153,6 +183,18 @@ public class GameController : MonoBehaviour
// Display win screen
private void ActivateWin()
{
int score = words.Length;
// Update progress
// TODO: update all tracked progress
int highscore = progress.Get<int>("highscore");
if (score < highscore)
{
progress.AddOrUpdate<int>("highsscore", score);
EditorUtility.SetDirty(user);
}
// @lukas stuff
DeleteWord();
endText.text = "YOU WIN!";
correctLettersText.text = "Your time: " + spelledLetters.ToString();
@ -208,7 +250,7 @@ public class GameController : MonoBehaviour
// Delete all letter objects
private void DeleteWord()
{
for (int i = 0; i < currentWord.Length; i++)
for (int i = 0; i < letters.Count; i++)
{
Destroy(letters[i]);
}