Setup Unity Gaming Services Cloud Services and Authentication Login Sign Up, Implement Register Login Logout and Save Data to Cloud, Save Player Data to Cloud
This commit is contained in:
parent
3c5152143f
commit
855a335a9e
|
@ -12,14 +12,12 @@ MonoBehaviour:
|
|||
m_Script: {fileID: 11500000, guid: 31b9fba0680987640ade1fdf5d7d7a95, type: 3}
|
||||
m_Name: Quis Kesehatan Gigi 5
|
||||
m_EditorClassIdentifier:
|
||||
question: 'Apa fungsi fluoride dalam pasta gigi?
|
||||
|
||||
'
|
||||
question: Mengapa penting menyikat gigi sampai bagian dalam?
|
||||
imageQuestion: {fileID: 0}
|
||||
answers:
|
||||
- 'Memperkuat gigi dan melawan kuman '
|
||||
- 'Memberi rasa manis '
|
||||
- 'Membuat gigi menjadi warna-warni '
|
||||
- Karena gigi bagian dalam juga bisa berlubang
|
||||
- Supaya gigi depan lebih putih
|
||||
- Karena hanya itu yang terlihat
|
||||
- 'Mengilapkan gigi seperti cermin '
|
||||
answerIndex: 0
|
||||
nextSceneName: Lv3HardB
|
||||
|
|
|
@ -15,10 +15,10 @@ MonoBehaviour:
|
|||
question: Berapa kali sebaiknya kita sikat gigi dalam sehari?
|
||||
imageQuestion: {fileID: 0}
|
||||
answers:
|
||||
- Gusi menjadi sehat
|
||||
- Gigi menjadi lebih kuat
|
||||
- Gusi bisa terkena radang (gingivitis)
|
||||
- Gigi terasa aneh
|
||||
answerIndex: 2
|
||||
- 1 kali
|
||||
- 2 kali
|
||||
- 6 kali
|
||||
- 5 kali
|
||||
answerIndex: 1
|
||||
nextSceneName: Lv1MediumB
|
||||
isMateriKesehatanGigi: 0
|
||||
|
|
|
@ -12,13 +12,13 @@ MonoBehaviour:
|
|||
m_Script: {fileID: 11500000, guid: 31b9fba0680987640ade1fdf5d7d7a95, type: 3}
|
||||
m_Name: Quis Penyakit Gigi 3
|
||||
m_EditorClassIdentifier:
|
||||
question: 'Mengapa gigi bisa jadi sensitif? '
|
||||
question: Apa penyakit mulut yang menyebabkan luka perih saat makan?
|
||||
imageQuestion: {fileID: 0}
|
||||
answers:
|
||||
- Karena terlalu banyak tertawa
|
||||
- Karena makan makanan panas atau dingin dan email gigi rusak
|
||||
- Karena terlalu banyak menyikat lidah
|
||||
- Karena terlalu banyak bicara
|
||||
answerIndex: 1
|
||||
- Sariawan
|
||||
- Bau mulut
|
||||
- Gusi berdarah
|
||||
- Gigi Berlubang
|
||||
answerIndex: 0
|
||||
nextSceneName: Lv3MediumB
|
||||
isMateriKesehatanGigi: 0
|
||||
|
|
|
@ -724,6 +724,7 @@ RectTransform:
|
|||
- {fileID: 4124210431478050539}
|
||||
- {fileID: 794432689946867042}
|
||||
- {fileID: 8502661750080424787}
|
||||
- {fileID: 3539403489947509410}
|
||||
- {fileID: 7328646711994992198}
|
||||
m_Father: {fileID: 6160525822650539252}
|
||||
m_RootOrder: 0
|
||||
|
@ -773,7 +774,7 @@ RectTransform:
|
|||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 4707047837917099116}
|
||||
m_RootOrder: 4
|
||||
m_RootOrder: 5
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
|
@ -1809,6 +1810,82 @@ MonoBehaviour:
|
|||
m_FillOrigin: 0
|
||||
m_UseSpriteMesh: 0
|
||||
m_PixelsPerUnitMultiplier: 1
|
||||
--- !u!1 &6125453419945116066
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 4864164393396034508}
|
||||
- component: {fileID: 6339128215419607562}
|
||||
- component: {fileID: 6711664751602305243}
|
||||
m_Layer: 5
|
||||
m_Name: Penyakit Gigi Image (1)
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &4864164393396034508
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6125453419945116066}
|
||||
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: 6160525824616842327}
|
||||
m_RootOrder: 4
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
m_AnchoredPosition: {x: -13, y: -20}
|
||||
m_SizeDelta: {x: 219.2324, y: 219.2324}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &6339128215419607562
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6125453419945116066}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &6711664751602305243
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6125453419945116066}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_Sprite: {fileID: 21300000, guid: 14f19c212af9b334891d9cbe3494aed9, type: 3}
|
||||
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
|
||||
--- !u!1 &6130626563550905904
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -1923,141 +2000,6 @@ RectTransform:
|
|||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!1 &6160525822842323524
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 6160525822842323525}
|
||||
- component: {fileID: 6160525822842323527}
|
||||
- component: {fileID: 6160525822842323526}
|
||||
m_Layer: 5
|
||||
m_Name: Text - Blue
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &6160525822842323525
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6160525822842323524}
|
||||
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: 6160525824274756855}
|
||||
m_RootOrder: 1
|
||||
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: -43}
|
||||
m_SizeDelta: {x: 500, y: 200}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &6160525822842323527
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6160525822842323524}
|
||||
m_CullTransparentMesh: 0
|
||||
--- !u!114 &6160525822842323526
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6160525822842323524}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_text: ...
|
||||
m_isRightToLeft: 0
|
||||
m_fontAsset: {fileID: 11400000, guid: 9fa5016cb7e534c0aa0c0adb2ecf9124, type: 2}
|
||||
m_sharedMaterial: {fileID: 6098576539282327867, guid: 9fa5016cb7e534c0aa0c0adb2ecf9124, type: 2}
|
||||
m_fontSharedMaterials: []
|
||||
m_fontMaterial: {fileID: 0}
|
||||
m_fontMaterials: []
|
||||
m_fontColor32:
|
||||
serializedVersion: 2
|
||||
rgba: 4289492527
|
||||
m_fontColor: {r: 0.18431373, g: 0.46274513, b: 0.6745098, 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: 32
|
||||
m_fontSizeBase: 32
|
||||
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: 1
|
||||
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 &6160525823035598679
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -2665,7 +2607,6 @@ RectTransform:
|
|||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 6160525824137767687}
|
||||
- {fileID: 6160525822842323525}
|
||||
m_Father: {fileID: 6160525824616842327}
|
||||
m_RootOrder: 3
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
|
@ -2740,6 +2681,7 @@ RectTransform:
|
|||
- {fileID: 6160525823035598672}
|
||||
- {fileID: 6160525823877426963}
|
||||
- {fileID: 6160525824274756855}
|
||||
- {fileID: 4864164393396034508}
|
||||
- {fileID: 4485271863734941484}
|
||||
m_Father: {fileID: 6160525822650539252}
|
||||
m_RootOrder: 1
|
||||
|
@ -2858,7 +2800,7 @@ RectTransform:
|
|||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 6160525824616842327}
|
||||
m_RootOrder: 4
|
||||
m_RootOrder: 5
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
|
@ -2959,141 +2901,6 @@ MonoBehaviour:
|
|||
m_StringArgument:
|
||||
m_BoolArgument: 0
|
||||
m_CallState: 2
|
||||
--- !u!1 &8387392542494244182
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 5524173658643523724}
|
||||
- component: {fileID: 3288269222743727964}
|
||||
- component: {fileID: 5850116848677802938}
|
||||
m_Layer: 5
|
||||
m_Name: Text - Blue
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &5524173658643523724
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8387392542494244182}
|
||||
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: 8502661750080424787}
|
||||
m_RootOrder: 1
|
||||
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: -43}
|
||||
m_SizeDelta: {x: 500, y: 200}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &3288269222743727964
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8387392542494244182}
|
||||
m_CullTransparentMesh: 0
|
||||
--- !u!114 &5850116848677802938
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8387392542494244182}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_text: ...
|
||||
m_isRightToLeft: 0
|
||||
m_fontAsset: {fileID: 11400000, guid: 9fa5016cb7e534c0aa0c0adb2ecf9124, type: 2}
|
||||
m_sharedMaterial: {fileID: 6098576539282327867, guid: 9fa5016cb7e534c0aa0c0adb2ecf9124, type: 2}
|
||||
m_fontSharedMaterials: []
|
||||
m_fontMaterial: {fileID: 0}
|
||||
m_fontMaterials: []
|
||||
m_fontColor32:
|
||||
serializedVersion: 2
|
||||
rgba: 4289492527
|
||||
m_fontColor: {r: 0.18431373, g: 0.46274513, b: 0.6745098, 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: 32
|
||||
m_fontSizeBase: 32
|
||||
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: 1
|
||||
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 &8502661750092402385
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -3125,7 +2932,6 @@ RectTransform:
|
|||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 2116146483998663769}
|
||||
- {fileID: 5524173658643523724}
|
||||
m_Father: {fileID: 4707047837917099116}
|
||||
m_RootOrder: 3
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
|
@ -3302,3 +3108,79 @@ MonoBehaviour:
|
|||
m_StringArgument:
|
||||
m_BoolArgument: 0
|
||||
m_CallState: 2
|
||||
--- !u!1 &9149000356172206776
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 3539403489947509410}
|
||||
- component: {fileID: 8616712200334048911}
|
||||
- component: {fileID: 726804256977735436}
|
||||
m_Layer: 5
|
||||
m_Name: Penyakit Gigi Image
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &3539403489947509410
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 9149000356172206776}
|
||||
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: 4707047837917099116}
|
||||
m_RootOrder: 4
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
m_AnchoredPosition: {x: 28, y: -24}
|
||||
m_SizeDelta: {x: 219.2324, y: 219.2324}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &8616712200334048911
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 9149000356172206776}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &726804256977735436
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 9149000356172206776}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_Sprite: {fileID: 21300000, guid: 59751712fc244c848a514f65d4258b6e, type: 3}
|
||||
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
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,7 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 5f1beeb75b08c7c48b8a8aebaf8a2f87
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -2279,8 +2279,8 @@ MonoBehaviour:
|
|||
m_faceColor:
|
||||
serializedVersion: 2
|
||||
rgba: 4294967295
|
||||
m_fontSize: 30
|
||||
m_fontSizeBase: 30
|
||||
m_fontSize: 20
|
||||
m_fontSizeBase: 20
|
||||
m_fontWeight: 400
|
||||
m_enableAutoSizing: 0
|
||||
m_fontSizeMin: 18
|
||||
|
@ -2549,8 +2549,8 @@ MonoBehaviour:
|
|||
m_faceColor:
|
||||
serializedVersion: 2
|
||||
rgba: 4294967295
|
||||
m_fontSize: 30
|
||||
m_fontSizeBase: 30
|
||||
m_fontSize: 20
|
||||
m_fontSizeBase: 20
|
||||
m_fontWeight: 400
|
||||
m_enableAutoSizing: 0
|
||||
m_fontSizeMin: 18
|
||||
|
@ -2684,8 +2684,8 @@ MonoBehaviour:
|
|||
m_faceColor:
|
||||
serializedVersion: 2
|
||||
rgba: 4294967295
|
||||
m_fontSize: 30
|
||||
m_fontSizeBase: 30
|
||||
m_fontSize: 20
|
||||
m_fontSizeBase: 20
|
||||
m_fontWeight: 400
|
||||
m_enableAutoSizing: 0
|
||||
m_fontSizeMin: 18
|
||||
|
@ -3019,8 +3019,8 @@ MonoBehaviour:
|
|||
m_faceColor:
|
||||
serializedVersion: 2
|
||||
rgba: 4294967295
|
||||
m_fontSize: 30
|
||||
m_fontSizeBase: 30
|
||||
m_fontSize: 20
|
||||
m_fontSizeBase: 20
|
||||
m_fontWeight: 400
|
||||
m_enableAutoSizing: 0
|
||||
m_fontSizeMin: 18
|
||||
|
@ -3325,7 +3325,6 @@ MonoBehaviour:
|
|||
timerImage: {fileID: 1037614131}
|
||||
timerText: {fileID: 760767126207873636}
|
||||
gameManager: {fileID: 0}
|
||||
dataManager: {fileID: 0}
|
||||
isComplete: 0
|
||||
timeToCompleteQuestion: 30
|
||||
timeToShowCorrectAnswer: 2
|
||||
|
|
|
@ -669,11 +669,12 @@ MonoBehaviour:
|
|||
m_Script: {fileID: 11500000, guid: 3a8a7cdcb02211e4ba08e1b9a5b4498d, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
dataManager: {fileID: 0}
|
||||
namePlayer: {fileID: 5989088459531031757}
|
||||
agePlayer: {fileID: 5989088459031437811}
|
||||
dataKesehatanGigiImage: {fileID: 5989088458950881636}
|
||||
dataPenyakitGigiImage: {fileID: 7238889675074438120}
|
||||
dataKesehatanGigiText: {fileID: 5989088458163191664}
|
||||
dataPenyakitGigiText: {fileID: 2910266453543154359}
|
||||
--- !u!1 &2956738819727036066
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -789,6 +790,141 @@ RectTransform:
|
|||
m_AnchoredPosition: {x: 161.67, y: 33}
|
||||
m_SizeDelta: {x: 500, y: 60}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!1 &3174394660026767848
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 4561798414990139740}
|
||||
- component: {fileID: 8041633165140102979}
|
||||
- component: {fileID: 1707263176721272571}
|
||||
m_Layer: 5
|
||||
m_Name: Text (TMP)
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &4561798414990139740
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3174394660026767848}
|
||||
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: 7360489094576182663}
|
||||
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: 200, y: 50}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &8041633165140102979
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3174394660026767848}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &1707263176721272571
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3174394660026767848}
|
||||
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: Logout
|
||||
m_isRightToLeft: 0
|
||||
m_fontAsset: {fileID: 11400000, guid: 9fa5016cb7e534c0aa0c0adb2ecf9124, type: 2}
|
||||
m_sharedMaterial: {fileID: 6098576539282327867, guid: 9fa5016cb7e534c0aa0c0adb2ecf9124, type: 2}
|
||||
m_fontSharedMaterials: []
|
||||
m_fontMaterial: {fileID: 0}
|
||||
m_fontMaterials: []
|
||||
m_fontColor32:
|
||||
serializedVersion: 2
|
||||
rgba: 4294967295
|
||||
m_fontColor: {r: 1, g: 1, b: 1, 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: 36
|
||||
m_fontSizeBase: 36
|
||||
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 &3385972757574593593
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -1178,6 +1314,140 @@ MonoBehaviour:
|
|||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_ShowMaskGraphic: 1
|
||||
--- !u!1 &5604665394772602486
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 7360489094576182663}
|
||||
- component: {fileID: 920540867146194746}
|
||||
- component: {fileID: 5780962337112213680}
|
||||
- component: {fileID: 293547466212429131}
|
||||
m_Layer: 5
|
||||
m_Name: Log Out Button
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &7360489094576182663
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5604665394772602486}
|
||||
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: 4561798414990139740}
|
||||
m_Father: {fileID: 5989088458541418536}
|
||||
m_RootOrder: 2
|
||||
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: 38.8}
|
||||
m_SizeDelta: {x: 260, y: 100}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &920540867146194746
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5604665394772602486}
|
||||
m_CullTransparentMesh: 0
|
||||
--- !u!114 &5780962337112213680
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5604665394772602486}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_Sprite: {fileID: 21300000, guid: e6404ce3667f546569c1c59a6de9495d, type: 3}
|
||||
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: 2.6
|
||||
--- !u!114 &293547466212429131
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5604665394772602486}
|
||||
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: 5780962337112213680}
|
||||
m_OnClick:
|
||||
m_PersistentCalls:
|
||||
m_Calls:
|
||||
- m_Target: {fileID: 2614602336836879672}
|
||||
m_TargetAssemblyTypeName: ProfileMenu, Assembly-CSharp
|
||||
m_MethodName: LogoutButton
|
||||
m_Mode: 1
|
||||
m_Arguments:
|
||||
m_ObjectArgument: {fileID: 0}
|
||||
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
|
||||
m_IntArgument: 0
|
||||
m_FloatArgument: 0
|
||||
m_StringArgument:
|
||||
m_BoolArgument: 0
|
||||
m_CallState: 2
|
||||
--- !u!1 &5989088457677213986
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -2842,10 +3112,10 @@ RectTransform:
|
|||
m_Father: {fileID: 5989088457849387791}
|
||||
m_RootOrder: 3
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 1}
|
||||
m_AnchorMax: {x: 0, y: 1}
|
||||
m_AnchoredPosition: {x: 485, y: -60}
|
||||
m_SizeDelta: {x: 120, y: 120}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &5989088457945970232
|
||||
CanvasRenderer:
|
||||
|
@ -3883,7 +4153,7 @@ GameObject:
|
|||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
m_IsActive: 0
|
||||
--- !u!224 &5989088458129619889
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -4402,10 +4672,10 @@ RectTransform:
|
|||
m_Father: {fileID: 5989088457849387791}
|
||||
m_RootOrder: 7
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 1}
|
||||
m_AnchorMax: {x: 0, y: 1}
|
||||
m_AnchoredPosition: {x: 485, y: -200}
|
||||
m_SizeDelta: {x: 120, y: 120}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &5989088458207346053
|
||||
CanvasRenderer:
|
||||
|
@ -4630,10 +4900,10 @@ RectTransform:
|
|||
m_Father: {fileID: 5989088457849387791}
|
||||
m_RootOrder: 5
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 1}
|
||||
m_AnchorMax: {x: 0, y: 1}
|
||||
m_AnchoredPosition: {x: 205, y: -200}
|
||||
m_SizeDelta: {x: 120, y: 120}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &5989088458209613039
|
||||
CanvasRenderer:
|
||||
|
@ -5120,10 +5390,10 @@ RectTransform:
|
|||
m_Father: {fileID: 5989088457849387791}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 1}
|
||||
m_AnchorMax: {x: 0, y: 1}
|
||||
m_AnchoredPosition: {x: 65, y: -60}
|
||||
m_SizeDelta: {x: 120, y: 120}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &5989088458342110391
|
||||
CanvasRenderer:
|
||||
|
@ -5518,7 +5788,7 @@ GameObject:
|
|||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
m_IsActive: 0
|
||||
--- !u!224 &5989088458441590670
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -5885,7 +6155,7 @@ GameObject:
|
|||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
m_IsActive: 0
|
||||
--- !u!224 &5989088458470902464
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -5901,7 +6171,7 @@ RectTransform:
|
|||
- {fileID: 5989088458249421289}
|
||||
- {fileID: 5989088458465249831}
|
||||
m_Father: {fileID: 5989088458541418536}
|
||||
m_RootOrder: 3
|
||||
m_RootOrder: 5
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
|
@ -6468,7 +6738,7 @@ GameObject:
|
|||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &5989088458541418536
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -6483,11 +6753,12 @@ RectTransform:
|
|||
m_Children:
|
||||
- {fileID: 5989088458999910891}
|
||||
- {fileID: 5989088459606568522}
|
||||
- {fileID: 7360489094576182663}
|
||||
- {fileID: 5989088459056493161}
|
||||
- {fileID: 5989088458584838678}
|
||||
- {fileID: 5989088458470902464}
|
||||
- {fileID: 5989088458783075994}
|
||||
- {fileID: 5989088459435989731}
|
||||
- {fileID: 5989088459056493161}
|
||||
m_Father: {fileID: 5989088458532923596}
|
||||
m_RootOrder: 3
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
|
@ -6588,7 +6859,7 @@ GameObject:
|
|||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
m_IsActive: 0
|
||||
--- !u!224 &5989088458584838678
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -6604,7 +6875,7 @@ RectTransform:
|
|||
- {fileID: 5989088458441590670}
|
||||
- {fileID: 5989088458769959667}
|
||||
m_Father: {fileID: 5989088458541418536}
|
||||
m_RootOrder: 2
|
||||
m_RootOrder: 4
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
|
@ -7207,10 +7478,10 @@ RectTransform:
|
|||
m_Father: {fileID: 5989088457849387791}
|
||||
m_RootOrder: 6
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 1}
|
||||
m_AnchorMax: {x: 0, y: 1}
|
||||
m_AnchoredPosition: {x: 345, y: -200}
|
||||
m_SizeDelta: {x: 120, y: 120}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &5989088458741577436
|
||||
CanvasRenderer:
|
||||
|
@ -7476,8 +7747,8 @@ RectTransform:
|
|||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 1}
|
||||
m_AnchorMax: {x: 0, y: 1}
|
||||
m_AnchoredPosition: {x: 538.75, y: -45}
|
||||
m_SizeDelta: {x: 262.5, y: 60}
|
||||
m_AnchoredPosition: {x: 357.5, y: -45}
|
||||
m_SizeDelta: {x: 625, y: 60}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &5989088458769959666
|
||||
CanvasRenderer:
|
||||
|
@ -7505,7 +7776,7 @@ GameObject:
|
|||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
m_IsActive: 0
|
||||
--- !u!224 &5989088458783075994
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -7522,7 +7793,7 @@ RectTransform:
|
|||
- {fileID: 5989088459403015217}
|
||||
- {fileID: 5989088458848783171}
|
||||
m_Father: {fileID: 5989088458541418536}
|
||||
m_RootOrder: 4
|
||||
m_RootOrder: 6
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0.5}
|
||||
m_AnchorMax: {x: 0, y: 0.5}
|
||||
|
@ -8377,10 +8648,10 @@ RectTransform:
|
|||
m_Father: {fileID: 5989088457849387791}
|
||||
m_RootOrder: 1
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 1}
|
||||
m_AnchorMax: {x: 0, y: 1}
|
||||
m_AnchoredPosition: {x: 205, y: -60}
|
||||
m_SizeDelta: {x: 120, y: 120}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &5989088458907099098
|
||||
CanvasRenderer:
|
||||
|
@ -9710,7 +9981,7 @@ RectTransform:
|
|||
- {fileID: 5989088459805680634}
|
||||
- {fileID: 5989088457849387791}
|
||||
m_Father: {fileID: 5989088458541418536}
|
||||
m_RootOrder: 6
|
||||
m_RootOrder: 3
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
|
@ -10370,10 +10641,10 @@ RectTransform:
|
|||
m_Father: {fileID: 5989088457849387791}
|
||||
m_RootOrder: 4
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 1}
|
||||
m_AnchorMax: {x: 0, y: 1}
|
||||
m_AnchoredPosition: {x: 65, y: -200}
|
||||
m_SizeDelta: {x: 120, y: 120}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &5989088459196100026
|
||||
CanvasRenderer:
|
||||
|
@ -11512,7 +11783,7 @@ GameObject:
|
|||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
m_IsActive: 0
|
||||
--- !u!224 &5989088459375460310
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -12308,7 +12579,7 @@ GameObject:
|
|||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
m_IsActive: 0
|
||||
--- !u!224 &5989088459435989731
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -12326,7 +12597,7 @@ RectTransform:
|
|||
- {fileID: 5989088459511910105}
|
||||
- {fileID: 5989088458455795845}
|
||||
m_Father: {fileID: 5989088458541418536}
|
||||
m_RootOrder: 5
|
||||
m_RootOrder: 7
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
|
@ -12590,10 +12861,10 @@ RectTransform:
|
|||
m_Father: {fileID: 5989088459606568522}
|
||||
m_RootOrder: 1
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 1}
|
||||
m_AnchorMax: {x: 0, y: 1}
|
||||
m_AnchoredPosition: {x: 335, y: -155}
|
||||
m_SizeDelta: {x: 670, y: 90}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 90}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &5989088459438126736
|
||||
CanvasRenderer:
|
||||
|
@ -12788,10 +13059,10 @@ RectTransform:
|
|||
m_Father: {fileID: 5989088459606568522}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 1}
|
||||
m_AnchorMax: {x: 0, y: 1}
|
||||
m_AnchoredPosition: {x: 335, y: -45}
|
||||
m_SizeDelta: {x: 670, y: 90}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 90}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &5989088459442087505
|
||||
CanvasRenderer:
|
||||
|
@ -13896,7 +14167,7 @@ RectTransform:
|
|||
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: 151.55005, y: 260}
|
||||
m_AnchoredPosition: {x: 13, y: 234}
|
||||
m_SizeDelta: {x: 670, y: 200}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &5989088459606568525
|
||||
|
@ -14895,10 +15166,10 @@ RectTransform:
|
|||
m_Father: {fileID: 5989088457849387791}
|
||||
m_RootOrder: 2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 1}
|
||||
m_AnchorMax: {x: 0, y: 1}
|
||||
m_AnchoredPosition: {x: 345, y: -60}
|
||||
m_SizeDelta: {x: 120, y: 120}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &5989088459801418017
|
||||
CanvasRenderer:
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -274,58 +274,6 @@ Transform:
|
|||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 1
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &929289286
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 929289287}
|
||||
- component: {fileID: 929289288}
|
||||
m_Layer: 0
|
||||
m_Name: Data Manager
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &929289287
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 929289286}
|
||||
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: 0}
|
||||
m_RootOrder: 6
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &929289288
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 929289286}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: eb75bd0186f02cd4f85f84944eba0994, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
saveData:
|
||||
playerName: Player
|
||||
agePlayer: 0
|
||||
unlockLevel: 1
|
||||
kesehatanGigiStatistik: 0
|
||||
PenyakitGigiStatistik: 0
|
||||
isMateriKesehatanGigiComplete: 00000000
|
||||
isMateriPenyakitGigi1Complete: 000000
|
||||
--- !u!1 &1144006186
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
|
|
@ -1,21 +1,35 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
using TMPro;
|
||||
using Unity.Services.Authentication;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
|
||||
public class AuntMenu : Menu<AuntMenu>
|
||||
{
|
||||
[SerializeField] private TMP_InputField usernameFieldLogin, paswordFieldLogin;
|
||||
[SerializeField] private TMP_InputField usernameFieldRegister, paswordRegister, EmailRegister;
|
||||
[Header("Register")]
|
||||
[SerializeField] private TMP_InputField usernameFieldRegister;
|
||||
[SerializeField] private TMP_InputField nameFieldRegister;
|
||||
[SerializeField] private TMP_InputField ageFieldRegister;
|
||||
[SerializeField] private TMP_InputField paswordFieldRegister;
|
||||
[SerializeField] private TMP_InputField EmailFieldRegister;
|
||||
private string usernameRegister;
|
||||
private string AgeRegister;
|
||||
private string EmailRegister;
|
||||
private string paswordRegister;
|
||||
|
||||
[SerializeField] private string username, password;
|
||||
[Header("Login")]
|
||||
[SerializeField] private TMP_InputField usernameFieldLogin;
|
||||
[SerializeField] private TMP_InputField paswordFieldLogin;
|
||||
private string usernameLogin;
|
||||
private string passwordLogin;
|
||||
|
||||
SaveData saveData;
|
||||
|
||||
|
||||
private void OnEnable()
|
||||
{
|
||||
AuthenticationService.Instance.SignedIn += NextToMenu;
|
||||
|
||||
}
|
||||
|
||||
private void OnDisable()
|
||||
|
@ -23,13 +37,24 @@ public class AuntMenu : Menu<AuntMenu>
|
|||
AuthenticationService.Instance.SignedIn -= NextToMenu;
|
||||
}
|
||||
|
||||
public void Login()
|
||||
public async void Login()
|
||||
{
|
||||
username = usernameFieldLogin.text ;
|
||||
password = paswordFieldLogin.text ;
|
||||
AuthenticationManager.SigninUsernamePassword(username, password);
|
||||
usernameLogin = usernameFieldLogin.text.Trim();
|
||||
passwordLogin = paswordFieldLogin.text.Trim();
|
||||
|
||||
if (string.IsNullOrEmpty(usernameLogin) || string.IsNullOrEmpty(passwordLogin))
|
||||
{
|
||||
Debug.LogWarning("Username or password is empty!");
|
||||
return;
|
||||
}
|
||||
|
||||
await AuthenticationManager.SigninUsernamePassword(usernameLogin, passwordLogin);
|
||||
|
||||
usernameFieldLogin.text = "";
|
||||
paswordFieldLogin.text = "";
|
||||
}
|
||||
|
||||
|
||||
private void NextToMenu()
|
||||
{
|
||||
MainMenu.Open();
|
||||
|
@ -37,8 +62,23 @@ public class AuntMenu : Menu<AuntMenu>
|
|||
}
|
||||
|
||||
|
||||
public void Register()
|
||||
public async void Register()
|
||||
{
|
||||
AuthenticationManager.SignUpUsernamePassword(usernameFieldRegister.text, paswordRegister.text, EmailRegister.text);
|
||||
usernameRegister = usernameFieldRegister.text;
|
||||
paswordRegister = paswordFieldRegister.text;
|
||||
EmailRegister = EmailFieldRegister.text;
|
||||
AgeRegister = ageFieldRegister.text;
|
||||
|
||||
if (string.IsNullOrEmpty(usernameRegister) || string.IsNullOrEmpty(paswordRegister))
|
||||
{
|
||||
Debug.LogWarning("Username or password is empty!");
|
||||
return;
|
||||
}
|
||||
|
||||
await AuthenticationManager.SignUpUsernamePassword(usernameRegister, paswordRegister, EmailRegister, AgeRegister);
|
||||
SaveData dataToSave = new SaveData();
|
||||
dataToSave.playerName = nameFieldRegister.text;
|
||||
dataToSave.agePlayer = AgeRegister;
|
||||
await Cloudsave.SaveData(dataToSave, "DataPlayer");
|
||||
}
|
||||
}
|
||||
|
|
|
@ -77,7 +77,7 @@ public static class AuthenticationManager
|
|||
/// <param name="email">The user's email address.</param>
|
||||
/// <param name="provincy">The user's province or region.</param>
|
||||
/// <returns>A Task representing the asynchronous operation.</returns>
|
||||
public static async Task SignUpUsernamePassword(string userName, string password, string email)
|
||||
public static async Task SignUpUsernamePassword(string userName, string password, string email, string age)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
@ -97,7 +97,7 @@ public static class AuthenticationManager
|
|||
/// <param name="email">The user's email address.</param>
|
||||
/// <param name="provincy">The user's province or region.</param>
|
||||
/// <returns>A Task representing the asynchronous operation.</returns>
|
||||
public static async Task LinkAccountUsernamePassword(string userName, string password, string email)
|
||||
public static async Task LinkAccountUsernamePassword(string userName, string password, string email, string age)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
|
|
@ -1,91 +0,0 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
public class DataManager : MonoBehaviour
|
||||
{
|
||||
public static DataManager instance;
|
||||
public SaveData saveData;
|
||||
private JsonSaver jsonSaver;
|
||||
|
||||
private void OnEnable()
|
||||
{
|
||||
if (instance == null)
|
||||
{
|
||||
instance = this;
|
||||
}
|
||||
else
|
||||
{
|
||||
Destroy(gameObject);
|
||||
}
|
||||
}
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
|
||||
saveData = new SaveData();
|
||||
jsonSaver = new JsonSaver();
|
||||
|
||||
}
|
||||
|
||||
private void Start()
|
||||
{
|
||||
DontDestroyOnLoad(gameObject);
|
||||
}
|
||||
|
||||
public bool[] isMateriKesehatanGigiComplete
|
||||
{
|
||||
get { return saveData.isMateriKesehatanGigiComplete; }
|
||||
set { saveData.isMateriKesehatanGigiComplete = value; }
|
||||
}
|
||||
|
||||
public bool[] isMateriPenyakitGigi1Complete
|
||||
{
|
||||
get { return saveData.isMateriPenyakitGigi1Complete; }
|
||||
set { saveData.isMateriPenyakitGigi1Complete = value; }
|
||||
}
|
||||
|
||||
|
||||
|
||||
public float MateriKesehatanGigi
|
||||
{
|
||||
get { return saveData.kesehatanGigiStatistik; }
|
||||
set { saveData.kesehatanGigiStatistik = value; }
|
||||
}
|
||||
|
||||
public float MateriPenyakitGigi
|
||||
{
|
||||
get { return saveData.PenyakitGigiStatistik; }
|
||||
set { saveData.PenyakitGigiStatistik = value; }
|
||||
}
|
||||
|
||||
public int UnlockLevel
|
||||
{
|
||||
get { return saveData.unlockLevel; }
|
||||
set { saveData.unlockLevel = value; }
|
||||
}
|
||||
|
||||
|
||||
public string playerName
|
||||
{
|
||||
get { return saveData.playerName; }
|
||||
set { saveData.playerName = value; }
|
||||
}
|
||||
|
||||
public string agePlayer
|
||||
{
|
||||
get { return saveData.agePlayer; }
|
||||
set { saveData.agePlayer = value; }
|
||||
}
|
||||
|
||||
public void Save()
|
||||
{
|
||||
jsonSaver.Save(saveData);
|
||||
}
|
||||
|
||||
public void Load()
|
||||
{
|
||||
jsonSaver.Load(saveData);
|
||||
}
|
||||
}
|
|
@ -1,11 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: eb75bd0186f02cd4f85f84944eba0994
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -1,48 +0,0 @@
|
|||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using System.IO;
|
||||
|
||||
public class JsonSaver
|
||||
{
|
||||
private static readonly string filename = "saveData1.sav";
|
||||
public static string GetSaveFilename()
|
||||
{
|
||||
return Application.persistentDataPath + "/" + filename;
|
||||
}
|
||||
|
||||
public void Save(SaveData data)
|
||||
{
|
||||
string json = JsonUtility.ToJson(data);
|
||||
string saveFilename = GetSaveFilename();
|
||||
|
||||
FileStream fileStream = new FileStream(saveFilename, FileMode.Create);
|
||||
|
||||
using(StreamWriter writer = new StreamWriter(fileStream))
|
||||
{
|
||||
writer.Write(json);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public bool Load(SaveData data)
|
||||
{
|
||||
string loadFilename = GetSaveFilename();
|
||||
if(File.Exists(loadFilename))
|
||||
{
|
||||
using(StreamReader reader = new StreamReader(loadFilename))
|
||||
{
|
||||
string json = reader.ReadToEnd();
|
||||
JsonUtility.FromJsonOverwrite(json, data);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
|
||||
}
|
||||
|
||||
public void Delete()
|
||||
{
|
||||
File.Delete(GetSaveFilename());
|
||||
}
|
||||
}
|
|
@ -1,11 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: fcdd4c3df6d1bde43a4fa1728fb10e14
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -6,18 +6,18 @@ using UnityEngine.Serialization;
|
|||
[Serializable]
|
||||
public class SaveData
|
||||
{
|
||||
public string fileName = "SaveData";
|
||||
public string playerName;
|
||||
private readonly string defaultPlayerName = "Player";
|
||||
public string agePlayer;
|
||||
public int unlockLevel;
|
||||
|
||||
public float kesehatanGigiStatistik;
|
||||
public float PenyakitGigiStatistik;
|
||||
|
||||
public bool[] isMateriKesehatanGigiComplete = new bool[4];
|
||||
public bool[] isMateriPenyakitGigi1Complete= new bool[3];
|
||||
|
||||
|
||||
|
||||
public SaveData()
|
||||
{
|
||||
playerName = defaultPlayerName;
|
||||
|
@ -35,7 +35,5 @@ public class SaveData
|
|||
{
|
||||
isMateriPenyakitGigi1Complete[i] = false;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,6 +2,8 @@ using System;
|
|||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
|
||||
public class Enemy : MonoBehaviour
|
||||
{
|
||||
|
@ -14,6 +16,10 @@ public class Enemy : MonoBehaviour
|
|||
public float damage;
|
||||
public bool isBosStage2;
|
||||
[SerializeField] private GameObject pastaGigi;
|
||||
|
||||
private SaveData saveData;
|
||||
|
||||
|
||||
|
||||
private void Start()
|
||||
{
|
||||
|
@ -35,12 +41,13 @@ public class Enemy : MonoBehaviour
|
|||
transform.position = Vector3.MoveTowards(transform.position, target.position, moveSpeed * Time.deltaTime);
|
||||
}
|
||||
|
||||
private void OnTriggerEnter2D(Collider2D other)
|
||||
private async void OnTriggerEnter2D(Collider2D other)
|
||||
{
|
||||
if (other.CompareTag("Bullet"))
|
||||
{
|
||||
GameObject bullet = other.gameObject;
|
||||
bullet.gameObject.SetActive(false);
|
||||
bullet.SetActive(false);
|
||||
|
||||
if (health >= 1)
|
||||
{
|
||||
health -= damage;
|
||||
|
@ -49,31 +56,34 @@ public class Enemy : MonoBehaviour
|
|||
{
|
||||
pastaGigi.SetActive(true);
|
||||
}
|
||||
|
||||
|
||||
if (health <= 0)
|
||||
{
|
||||
ExecuteBosDeath();
|
||||
await ExecuteBosDeath();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
ExecuteBosDeath();
|
||||
await ExecuteBosDeath();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void ExecuteBosDeath()
|
||||
private async Task ExecuteBosDeath()
|
||||
{
|
||||
SaveData saveData = await Cloudsave.LoadData<SaveData>("DataPlayer");
|
||||
|
||||
if (isBosStage2)
|
||||
{
|
||||
int currentLevel = gameManager.levelCurrentIndex;
|
||||
if (currentLevel == DataManager.instance.UnlockLevel)
|
||||
if (currentLevel == saveData.unlockLevel)
|
||||
{
|
||||
DataManager.instance.UnlockLevel = currentLevel + 1;
|
||||
saveData.unlockLevel = currentLevel + 1;
|
||||
}
|
||||
await Cloudsave.SaveData(saveData, "DataPlayer");
|
||||
gameObject.SetActive(false);
|
||||
WinScreen.Open();
|
||||
DataManager.instance.Save();
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -81,6 +91,6 @@ public class Enemy : MonoBehaviour
|
|||
QuizPopUp.Open();
|
||||
gameObject.SetActive(false);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -1,62 +0,0 @@
|
|||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using TMPro;
|
||||
using UnityEngine;
|
||||
|
||||
public class FirstData : Menu<FirstData>
|
||||
{
|
||||
[SerializeField] private DataManager dataManager;
|
||||
protected override void Awake()
|
||||
{
|
||||
base.Awake();
|
||||
dataManager = DataManager.instance;
|
||||
}
|
||||
|
||||
public void OnValueTextNameChange(string name)
|
||||
{
|
||||
if (dataManager != null)
|
||||
{
|
||||
dataManager.playerName = name;
|
||||
}
|
||||
}
|
||||
|
||||
public void OnValueIntAgeChange(string age)
|
||||
{
|
||||
if (dataManager != null)
|
||||
{
|
||||
dataManager.agePlayer = age;
|
||||
}
|
||||
}
|
||||
|
||||
public void OnValueBoolBoyGenderChange(bool isBoy)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public void OnValueTextNameEndChanged()
|
||||
{
|
||||
dataManager.Save();
|
||||
}
|
||||
|
||||
public void OnValueTextAgeEndChanged()
|
||||
{
|
||||
dataManager.Save();
|
||||
}
|
||||
|
||||
public void NextToMainMenu()
|
||||
{
|
||||
audioController.Instance.PlaySFX("TombolClose", 0.5f);
|
||||
|
||||
if (dataManager.playerName == string.Empty || dataManager.agePlayer == string.Empty)
|
||||
{
|
||||
Debug.Log("Please isi dulu lek");
|
||||
}
|
||||
else
|
||||
{
|
||||
dataManager.Save();
|
||||
Debug.Log("string ga kosong");
|
||||
MainMenu.Open();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -1,11 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: e759119ed3ba28844a72d557edecf0e0
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -6,13 +6,6 @@ using UnityEngine;
|
|||
|
||||
public class MainMenu : Menu<MainMenu>
|
||||
{
|
||||
[SerializeField] private DataManager dataManager;
|
||||
protected override void Awake()
|
||||
{
|
||||
base.Awake();
|
||||
dataManager = DataManager.instance;
|
||||
}
|
||||
|
||||
private void Start()
|
||||
{
|
||||
audioController.Instance.PlayBGM("Background Music", 0.5f);
|
||||
|
@ -24,11 +17,6 @@ public class MainMenu : Menu<MainMenu>
|
|||
yield return new WaitForSeconds(1);
|
||||
}
|
||||
|
||||
private void LoadData()
|
||||
{
|
||||
dataManager.Load();
|
||||
}
|
||||
|
||||
public void OnPlayPressed()
|
||||
{
|
||||
audioController.Instance.PlaySFX("TombolUmum", 0.5f);
|
||||
|
@ -57,6 +45,7 @@ public class MainMenu : Menu<MainMenu>
|
|||
public override void OnBackPressed()
|
||||
{
|
||||
audioController.Instance.PlaySFX("TombolClose", 0.5f);
|
||||
AuthenticationManager.Signout();
|
||||
Application.Quit();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -31,6 +31,25 @@ public abstract class Menu<T> : Menu where T : Menu<T>
|
|||
MenuManager.Instance.OpenMenu(Instance);
|
||||
}
|
||||
}
|
||||
|
||||
private void OnApplicationPause(bool pause)
|
||||
{
|
||||
if (pause)
|
||||
{
|
||||
HandleAppExit();
|
||||
}
|
||||
}
|
||||
|
||||
private void OnApplicationQuit()
|
||||
{
|
||||
HandleAppExit();
|
||||
}
|
||||
|
||||
private void HandleAppExit()
|
||||
{
|
||||
AuthenticationManager.Signout();
|
||||
Debug.Log("User logged out automatically on app exit");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -55,6 +55,7 @@ public class MenuManager : MonoBehaviour
|
|||
|
||||
private void InitializeMenus()
|
||||
{
|
||||
int isFirst;
|
||||
|
||||
Debug.Log(Application.persistentDataPath);
|
||||
if (menuParent == null)
|
||||
|
@ -77,7 +78,10 @@ public class MenuManager : MonoBehaviour
|
|||
Menu menuInstance = Instantiate(prefab, menuParent);
|
||||
menuInstance.gameObject.SetActive(true); // Refresh the instance to prevent a null reference.
|
||||
menuInstance.gameObject.SetActive(false);
|
||||
if (prefab == mainMenuPrefabs)
|
||||
|
||||
|
||||
|
||||
if (prefab == auntMenuPrefabs)
|
||||
{
|
||||
OpenMenu(menuInstance);
|
||||
}
|
||||
|
|
|
@ -1,146 +0,0 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using TMPro;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
public class PopUpQuestion : Menu<PopUpQuestion>
|
||||
{
|
||||
public QuestionSO question;
|
||||
[SerializeField] private TextMeshProUGUI questionText;
|
||||
[SerializeField] private TextMeshProUGUI[] answers;
|
||||
|
||||
[SerializeField] private Button[] answerButtons;
|
||||
[SerializeField] DataManager dataManager;
|
||||
[SerializeField] private GameManager gameManager;
|
||||
|
||||
private bool hasAnswerEarly;
|
||||
|
||||
[Header("Timer")]
|
||||
[SerializeField] Image timerImage;
|
||||
Timer timer;
|
||||
public bool isComplete = false;
|
||||
|
||||
private Image defaultButtonImage;
|
||||
|
||||
private void OnEnable()
|
||||
{
|
||||
timer = GetComponent<Timer>();
|
||||
dataManager = DataManager.instance;
|
||||
gameManager = FindObjectOfType<GameManager>();
|
||||
if (gameManager != null)
|
||||
{
|
||||
question = gameManager.currentQuestion;
|
||||
questionText.text = question.question;
|
||||
ResetQuestionUI();
|
||||
for (int i = 0; i < answerButtons.Length; i++)
|
||||
{
|
||||
answers[i].text = question.answers[i];
|
||||
SetButtonState(true);
|
||||
}
|
||||
SetDefaultButtonSprites();
|
||||
}
|
||||
}
|
||||
|
||||
void ResetQuestionUI()
|
||||
{
|
||||
hasAnswerEarly = false;
|
||||
isComplete = false;
|
||||
|
||||
if (question != null)
|
||||
questionText.text = question.question;
|
||||
|
||||
for (int i = 0; i < answerButtons.Length; i++)
|
||||
{
|
||||
answers[i].text = question.answers[i];
|
||||
|
||||
Image buttonImage = answerButtons[i].GetComponent<Image>();
|
||||
buttonImage.color = Color.white;
|
||||
|
||||
answerButtons[i].interactable = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SetButtonState(bool state)
|
||||
{
|
||||
for (int i = 0; i < answerButtons.Length; i++)
|
||||
{
|
||||
answerButtons[i].interactable = state;
|
||||
}
|
||||
}
|
||||
|
||||
private void Update()
|
||||
{
|
||||
StateQuestion();
|
||||
}
|
||||
|
||||
void StateQuestion()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void SetDefaultButtonSprites()
|
||||
{
|
||||
for (int i = 0; i < answerButtons.Length; i++)
|
||||
{
|
||||
Image buttonImage = answerButtons[i].gameObject.GetComponent<Image>();
|
||||
defaultButtonImage = buttonImage;
|
||||
}
|
||||
}
|
||||
|
||||
public void OnAnswerSelected(int index)
|
||||
{
|
||||
hasAnswerEarly = true;
|
||||
DisplayAnswer(index);
|
||||
SetButtonState(false);
|
||||
}
|
||||
|
||||
void DisplayAnswer(int index)
|
||||
{
|
||||
if (index == question.answerIndex)
|
||||
{
|
||||
// audio benar
|
||||
questionText.text = "Kamu Benar !";
|
||||
Image buttonImage = answerButtons[index].gameObject.GetComponent<Image>();
|
||||
buttonImage.color = Color.green;
|
||||
isComplete = true;
|
||||
StartCoroutine(DelayAfterAnswerTrue());
|
||||
}
|
||||
else
|
||||
{
|
||||
// audio salah
|
||||
questionText.text = "Jawaban Salah !";
|
||||
Image buttonImage = answerButtons[index].gameObject.GetComponent<Image>();
|
||||
buttonImage.color = Color.red;
|
||||
StartCoroutine(DelayAfterAnswerFalse());
|
||||
}
|
||||
}
|
||||
|
||||
IEnumerator DelayAfterAnswerTrue()
|
||||
{
|
||||
if (question.isMateriKesehatanGigi)
|
||||
{
|
||||
dataManager.MateriKesehatanGigi += 20;
|
||||
}
|
||||
else
|
||||
{
|
||||
dataManager.MateriPenyakitGigi += 25;
|
||||
}
|
||||
yield return new WaitForSeconds(1f);
|
||||
SceneController.Instance.LoadScene(question.nextSceneName);
|
||||
dataManager.Save();
|
||||
GameMenu.Open();
|
||||
}
|
||||
|
||||
IEnumerator DelayAfterAnswerFalse()
|
||||
{
|
||||
yield return new WaitForSeconds(.5f);
|
||||
SceneController.Instance.RestartScene();
|
||||
GameMenu.Open();
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -1,11 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 9c3d76c74951e8a42b03c742b7d69ece
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -1,40 +1,48 @@
|
|||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
using TMPro;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
public class ProfileMenu : Menu<ProfileMenu>
|
||||
{
|
||||
[SerializeField] private DataManager dataManager;
|
||||
private SaveData saveData;
|
||||
|
||||
[SerializeField] private TextMeshProUGUI namePlayer, agePlayer;
|
||||
|
||||
[SerializeField] private Image dataKesehatanGigiImage;
|
||||
[SerializeField] private Image dataPenyakitGigiImage;
|
||||
|
||||
[SerializeField] private TextMeshProUGUI dataKesehatanGigiText;
|
||||
[SerializeField] private TextMeshProUGUI dataPenyakitGigiText;
|
||||
|
||||
private void OnEnable()
|
||||
{
|
||||
StartCoroutine(DelayShowData());
|
||||
LoadAndRefresh();
|
||||
}
|
||||
|
||||
IEnumerator DelayShowData()
|
||||
private async void LoadAndRefresh()
|
||||
{
|
||||
yield return new WaitForSeconds(1);
|
||||
dataManager = DataManager.instance;
|
||||
dataManager.Load();
|
||||
|
||||
namePlayer.text = dataManager.playerName;
|
||||
agePlayer.text = dataManager.agePlayer + " " + "Tahun";
|
||||
|
||||
dataKesehatanGigiImage.fillAmount = dataManager.MateriKesehatanGigi / 100f;
|
||||
dataPenyakitGigiImage.fillAmount = dataManager.MateriPenyakitGigi / 100f;
|
||||
|
||||
dataManager.Save();
|
||||
|
||||
var task = Cloudsave.SaveData(dataManager.saveData, "Bebas");
|
||||
yield return task;
|
||||
saveData = await Cloudsave.LoadData<SaveData>("DataPlayer");
|
||||
|
||||
if (saveData == null)
|
||||
{
|
||||
Debug.LogWarning("DataPlayer tidak ditemukan di cloud!");
|
||||
return;
|
||||
}
|
||||
|
||||
namePlayer.text = saveData.playerName;
|
||||
agePlayer.text = saveData.agePlayer + " Tahun";
|
||||
dataKesehatanGigiImage.fillAmount = (float)saveData.kesehatanGigiStatistik / 100f;
|
||||
dataPenyakitGigiImage.fillAmount = (float)saveData.PenyakitGigiStatistik / 100f;
|
||||
|
||||
dataKesehatanGigiText.text = saveData.kesehatanGigiStatistik.ToString("F1");
|
||||
dataPenyakitGigiText.text = saveData.PenyakitGigiStatistik.ToString("F1");
|
||||
}
|
||||
|
||||
|
||||
|
||||
public override void OnBackPressed()
|
||||
{
|
||||
audioController.Instance.PlaySFX("TombolClose", 0.5f);
|
||||
|
@ -47,6 +55,13 @@ public class ProfileMenu : Menu<ProfileMenu>
|
|||
|
||||
}
|
||||
|
||||
public void LogoutButton()
|
||||
{
|
||||
audioController.Instance.PlaySFX("TombolClose", 0.5f);
|
||||
AuthenticationManager.Signout();
|
||||
AuntMenu.Open();
|
||||
}
|
||||
|
||||
public void StatisticProfileButton()
|
||||
{
|
||||
audioController.Instance.PlaySFX("TombolUmum", 0.5f);
|
||||
|
|
|
@ -24,7 +24,6 @@ public class QuizPopUp : Menu<QuizPopUp>
|
|||
[SerializeField] Image timerImage;
|
||||
[SerializeField] TextMeshProUGUI timerText;
|
||||
public GameManager gameManager;
|
||||
public DataManager dataManager;
|
||||
|
||||
public bool isComplete = false;
|
||||
|
||||
|
@ -43,7 +42,6 @@ public class QuizPopUp : Menu<QuizPopUp>
|
|||
private void OnEnable()
|
||||
{
|
||||
gameManager = FindObjectOfType<GameManager>();
|
||||
dataManager = FindObjectOfType<DataManager>();
|
||||
|
||||
if (gameManager == null) return;
|
||||
|
||||
|
@ -196,7 +194,7 @@ public class QuizPopUp : Menu<QuizPopUp>
|
|||
buttonImage.sprite = trueAnswerSprite;
|
||||
// implement score ++;
|
||||
isComplete = true;
|
||||
StartCoroutine(DelayAfterAnswerTrue());
|
||||
DelayAfterAnswerTrue();
|
||||
|
||||
}
|
||||
|
||||
|
@ -207,7 +205,6 @@ public class QuizPopUp : Menu<QuizPopUp>
|
|||
buttonImage = answerButtons[index].GetComponent<Image>();
|
||||
buttonImage.sprite = falseAnswerSprite;
|
||||
StartCoroutine(DelayAfterAnswerFalse());
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -231,34 +228,51 @@ public class QuizPopUp : Menu<QuizPopUp>
|
|||
}
|
||||
}
|
||||
|
||||
IEnumerator DelayAfterAnswerTrue()
|
||||
private async void DelayAfterAnswerTrue()
|
||||
{
|
||||
dataManager.Load();
|
||||
SaveData saveData = await Cloudsave.LoadData<SaveData>("DataPlayer");
|
||||
int checkData = gameManager.indexQuestion;
|
||||
|
||||
if (currentQuestion.isMateriKesehatanGigi)
|
||||
{
|
||||
int checkData = gameManager.indexQuestion;
|
||||
if (dataManager.isMateriKesehatanGigiComplete[checkData] == false)
|
||||
if (checkData >= 0 && checkData < saveData.isMateriKesehatanGigiComplete.Length)
|
||||
{
|
||||
dataManager.isMateriKesehatanGigiComplete[checkData] = true;
|
||||
dataManager.MateriKesehatanGigi += 20;
|
||||
dataManager.Save();
|
||||
if (!saveData.isMateriKesehatanGigiComplete[checkData])
|
||||
{
|
||||
saveData.isMateriKesehatanGigiComplete[checkData] = true;
|
||||
saveData.kesehatanGigiStatistik = Mathf.Min(saveData.kesehatanGigiStatistik + 25f, 100f);
|
||||
await Cloudsave.SaveData(saveData, "DataPlayer");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Debug.LogWarning($"Index {checkData} out of bounds for isMateriKesehatanGigiComplete (length: {saveData.isMateriKesehatanGigiComplete.Length})");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
int checkData = gameManager.indexQuestion;
|
||||
if (dataManager.isMateriPenyakitGigi1Complete[checkData] == false)
|
||||
if (checkData >= 0 && checkData < saveData.isMateriPenyakitGigi1Complete.Length)
|
||||
{
|
||||
dataManager.isMateriPenyakitGigi1Complete[checkData] = true;
|
||||
dataManager.MateriPenyakitGigi += 25;
|
||||
dataManager.Save();
|
||||
if (!saveData.isMateriPenyakitGigi1Complete[checkData])
|
||||
{
|
||||
saveData.isMateriPenyakitGigi1Complete[checkData] = true;
|
||||
saveData.PenyakitGigiStatistik = Mathf.Min(Mathf.Ceil(saveData.PenyakitGigiStatistik + 33.33f), 100f);
|
||||
await Cloudsave.SaveData(saveData, "DataPlayer");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Debug.LogWarning($"Index {checkData} out of bounds for isMateriPenyakitGigi1Complete (length: {saveData.isMateriPenyakitGigi1Complete.Length})");
|
||||
}
|
||||
}
|
||||
yield return new WaitForSeconds(1);
|
||||
|
||||
SceneController.Instance.LoadScene(currentQuestion.nextSceneName);
|
||||
dataManager.Save();
|
||||
await Cloudsave.SaveData(saveData, "DataPlayer");
|
||||
|
||||
GameMenu.Open();
|
||||
}
|
||||
|
||||
|
||||
|
||||
IEnumerator DelayAfterAnswerFalse()
|
||||
{
|
||||
|
|
|
@ -2,8 +2,8 @@ using System;
|
|||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Serialization;
|
||||
using UnityEngine.UI;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
public class SelectLevel : Menu<SelectLevel>
|
||||
{
|
||||
|
@ -12,33 +12,32 @@ public class SelectLevel : Menu<SelectLevel>
|
|||
|
||||
[SerializeField] private Button[] buttons;
|
||||
[SerializeField] private int indexUnlock;
|
||||
[SerializeField] private DataManager dataManager;
|
||||
|
||||
[SerializeField] private Sprite completeSprite;
|
||||
[SerializeField] private Sprite lockedSprite;
|
||||
[SerializeField] private Sprite currentSprite;
|
||||
|
||||
private void OnEnable()
|
||||
private SaveData saveData;
|
||||
|
||||
private async void OnEnable()
|
||||
{
|
||||
dataManager = DataManager.instance;
|
||||
StartCoroutine(DelayDataManager());
|
||||
await LoadAndRefresh();
|
||||
}
|
||||
|
||||
IEnumerator DelayDataManager()
|
||||
private async Task LoadAndRefresh()
|
||||
{
|
||||
yield return new WaitForSeconds(.1f);
|
||||
RefreshButtonsUnlockProggres();
|
||||
saveData = await Cloudsave.LoadData<SaveData>( "DataPlayer");
|
||||
|
||||
RefreshButtonsUnlockProgress();
|
||||
}
|
||||
|
||||
private void OnDisable()
|
||||
void RefreshButtonsUnlockProgress()
|
||||
{
|
||||
RefreshButtonsUnlockProggres();
|
||||
}
|
||||
|
||||
void RefreshButtonsUnlockProggres()
|
||||
{
|
||||
dataManager.Load();
|
||||
indexUnlock = dataManager.UnlockLevel;
|
||||
indexUnlock = saveData.unlockLevel;
|
||||
if (indexUnlock == null)
|
||||
{
|
||||
indexUnlock = 1;
|
||||
}
|
||||
|
||||
for (int i = 0; i < buttons.Length; i++)
|
||||
{
|
||||
|
@ -46,28 +45,22 @@ public class SelectLevel : Menu<SelectLevel>
|
|||
|
||||
if (i < indexUnlock - 1)
|
||||
{
|
||||
// ✅ Level yang sudah selesai → completeSprite, tidak bisa dibuka
|
||||
imgSprite.sprite = completeSprite;
|
||||
buttons[i].interactable = true;
|
||||
}
|
||||
else if (i == indexUnlock - 1)
|
||||
{
|
||||
// ✅ Level yang sedang bisa dimainkan → currentSprite, bisa dibuka
|
||||
imgSprite.sprite = currentSprite;
|
||||
buttons[i].interactable = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
// ❌ Level yang belum dibuka → lockedSprite, tidak bisa dibuka
|
||||
imgSprite.sprite = lockedSprite;
|
||||
buttons[i].interactable = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
void RefreshContainer()
|
||||
{
|
||||
for (int i = 0; i < containerLevelButton.Length; i++)
|
||||
|
@ -79,27 +72,23 @@ public class SelectLevel : Menu<SelectLevel>
|
|||
|
||||
public void NextLevelButton()
|
||||
{
|
||||
Debug.Log("NextLevelButton");
|
||||
indexContainer++;
|
||||
if (indexContainer >= containerLevelButton.Length)
|
||||
{
|
||||
indexContainer = 0;
|
||||
}
|
||||
|
||||
RefreshContainer();
|
||||
|
||||
RefreshContainer();
|
||||
}
|
||||
|
||||
public void PreviousLevelButton()
|
||||
{
|
||||
Debug.Log("PreviousLevelButton");
|
||||
|
||||
indexContainer--;
|
||||
if (indexContainer < 0)
|
||||
{
|
||||
indexContainer = containerLevelButton.Length - 1;
|
||||
}
|
||||
|
||||
|
||||
RefreshContainer();
|
||||
}
|
||||
|
||||
|
|
|
@ -6,30 +6,15 @@ using UnityEngine.UI;
|
|||
|
||||
public class SettingsMenu : Menu<SettingsMenu>
|
||||
{
|
||||
private DataManager dataManager;
|
||||
|
||||
public bool isMusicOn = true;
|
||||
public bool isSfxOn = true;
|
||||
|
||||
protected override void Awake()
|
||||
{
|
||||
base.Awake();
|
||||
dataManager = DataManager.instance;
|
||||
}
|
||||
|
||||
private void Start()
|
||||
{
|
||||
}
|
||||
|
||||
public override void OnBackPressed()
|
||||
{
|
||||
base.OnBackPressed();
|
||||
audioController.Instance.PlaySFX("TombolClose", 0.5f);
|
||||
|
||||
if (dataManager != null)
|
||||
{
|
||||
dataManager.Save();
|
||||
}
|
||||
}
|
||||
|
||||
public void SwapSoundMusic()
|
||||
|
@ -72,14 +57,4 @@ public class SettingsMenu : Menu<SettingsMenu>
|
|||
}
|
||||
}
|
||||
|
||||
//public void LoadData()
|
||||
//{
|
||||
// if (dataManager == null || sfxSliderVolume == null || musicSliderVolume == null)
|
||||
// return;
|
||||
|
||||
// dataManager.Load();
|
||||
|
||||
// sfxSliderVolume.enabled = dataManager.sfxVolume;
|
||||
// musicSliderVolume.enabled = dataManager.musicVolume;
|
||||
//}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
"EnvironmentName": "",
|
||||
"EnvironmentId": "00000000-0000-0000-0000-000000000000"
|
||||
}
|
|
@ -801,11 +801,11 @@ PlayerSettings:
|
|||
apiCompatibilityLevel: 6
|
||||
activeInputHandler: 0
|
||||
windowsGamepadBackendHint: 0
|
||||
cloudProjectId: c564a27f-9043-4e3d-a0b4-b056edbc5b3f
|
||||
cloudProjectId: eb23755b-bad6-47c2-8913-d9a87307f7f0
|
||||
framebufferDepthMemorylessMode: 0
|
||||
qualitySettingsNames: []
|
||||
projectName: ToothyV
|
||||
organizationId: asuranimation
|
||||
organizationId: shaviragirls
|
||||
cloudEnabled: 0
|
||||
legacyClampBlendShapeWeights: 0
|
||||
playerDataPath:
|
||||
|
|
Loading…
Reference in New Issue