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_Script: {fileID: 11500000, guid: 31b9fba0680987640ade1fdf5d7d7a95, type: 3}
|
||||||
m_Name: Quis Kesehatan Gigi 5
|
m_Name: Quis Kesehatan Gigi 5
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
question: 'Apa fungsi fluoride dalam pasta gigi?
|
question: Mengapa penting menyikat gigi sampai bagian dalam?
|
||||||
|
|
||||||
'
|
|
||||||
imageQuestion: {fileID: 0}
|
imageQuestion: {fileID: 0}
|
||||||
answers:
|
answers:
|
||||||
- 'Memperkuat gigi dan melawan kuman '
|
- Karena gigi bagian dalam juga bisa berlubang
|
||||||
- 'Memberi rasa manis '
|
- Supaya gigi depan lebih putih
|
||||||
- 'Membuat gigi menjadi warna-warni '
|
- Karena hanya itu yang terlihat
|
||||||
- 'Mengilapkan gigi seperti cermin '
|
- 'Mengilapkan gigi seperti cermin '
|
||||||
answerIndex: 0
|
answerIndex: 0
|
||||||
nextSceneName: Lv3HardB
|
nextSceneName: Lv3HardB
|
||||||
|
|
|
||||||
|
|
@ -15,10 +15,10 @@ MonoBehaviour:
|
||||||
question: Berapa kali sebaiknya kita sikat gigi dalam sehari?
|
question: Berapa kali sebaiknya kita sikat gigi dalam sehari?
|
||||||
imageQuestion: {fileID: 0}
|
imageQuestion: {fileID: 0}
|
||||||
answers:
|
answers:
|
||||||
- Gusi menjadi sehat
|
- 1 kali
|
||||||
- Gigi menjadi lebih kuat
|
- 2 kali
|
||||||
- Gusi bisa terkena radang (gingivitis)
|
- 6 kali
|
||||||
- Gigi terasa aneh
|
- 5 kali
|
||||||
answerIndex: 2
|
answerIndex: 1
|
||||||
nextSceneName: Lv1MediumB
|
nextSceneName: Lv1MediumB
|
||||||
isMateriKesehatanGigi: 0
|
isMateriKesehatanGigi: 0
|
||||||
|
|
|
||||||
|
|
@ -12,13 +12,13 @@ MonoBehaviour:
|
||||||
m_Script: {fileID: 11500000, guid: 31b9fba0680987640ade1fdf5d7d7a95, type: 3}
|
m_Script: {fileID: 11500000, guid: 31b9fba0680987640ade1fdf5d7d7a95, type: 3}
|
||||||
m_Name: Quis Penyakit Gigi 3
|
m_Name: Quis Penyakit Gigi 3
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
question: 'Mengapa gigi bisa jadi sensitif? '
|
question: Apa penyakit mulut yang menyebabkan luka perih saat makan?
|
||||||
imageQuestion: {fileID: 0}
|
imageQuestion: {fileID: 0}
|
||||||
answers:
|
answers:
|
||||||
- Karena terlalu banyak tertawa
|
- Sariawan
|
||||||
- Karena makan makanan panas atau dingin dan email gigi rusak
|
- Bau mulut
|
||||||
- Karena terlalu banyak menyikat lidah
|
- Gusi berdarah
|
||||||
- Karena terlalu banyak bicara
|
- Gigi Berlubang
|
||||||
answerIndex: 1
|
answerIndex: 0
|
||||||
nextSceneName: Lv3MediumB
|
nextSceneName: Lv3MediumB
|
||||||
isMateriKesehatanGigi: 0
|
isMateriKesehatanGigi: 0
|
||||||
|
|
|
||||||
|
|
@ -724,6 +724,7 @@ RectTransform:
|
||||||
- {fileID: 4124210431478050539}
|
- {fileID: 4124210431478050539}
|
||||||
- {fileID: 794432689946867042}
|
- {fileID: 794432689946867042}
|
||||||
- {fileID: 8502661750080424787}
|
- {fileID: 8502661750080424787}
|
||||||
|
- {fileID: 3539403489947509410}
|
||||||
- {fileID: 7328646711994992198}
|
- {fileID: 7328646711994992198}
|
||||||
m_Father: {fileID: 6160525822650539252}
|
m_Father: {fileID: 6160525822650539252}
|
||||||
m_RootOrder: 0
|
m_RootOrder: 0
|
||||||
|
|
@ -773,7 +774,7 @@ RectTransform:
|
||||||
m_ConstrainProportionsScale: 0
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 4707047837917099116}
|
m_Father: {fileID: 4707047837917099116}
|
||||||
m_RootOrder: 4
|
m_RootOrder: 5
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
m_AnchorMax: {x: 1, y: 1}
|
m_AnchorMax: {x: 1, y: 1}
|
||||||
|
|
@ -1809,6 +1810,82 @@ MonoBehaviour:
|
||||||
m_FillOrigin: 0
|
m_FillOrigin: 0
|
||||||
m_UseSpriteMesh: 0
|
m_UseSpriteMesh: 0
|
||||||
m_PixelsPerUnitMultiplier: 1
|
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
|
--- !u!1 &6130626563550905904
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|
@ -1923,141 +2000,6 @@ RectTransform:
|
||||||
m_AnchoredPosition: {x: 0, y: 0}
|
m_AnchoredPosition: {x: 0, y: 0}
|
||||||
m_SizeDelta: {x: 0, y: 0}
|
m_SizeDelta: {x: 0, y: 0}
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
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
|
--- !u!1 &6160525823035598679
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|
@ -2665,7 +2607,6 @@ RectTransform:
|
||||||
m_ConstrainProportionsScale: 0
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 6160525824137767687}
|
- {fileID: 6160525824137767687}
|
||||||
- {fileID: 6160525822842323525}
|
|
||||||
m_Father: {fileID: 6160525824616842327}
|
m_Father: {fileID: 6160525824616842327}
|
||||||
m_RootOrder: 3
|
m_RootOrder: 3
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
|
@ -2740,6 +2681,7 @@ RectTransform:
|
||||||
- {fileID: 6160525823035598672}
|
- {fileID: 6160525823035598672}
|
||||||
- {fileID: 6160525823877426963}
|
- {fileID: 6160525823877426963}
|
||||||
- {fileID: 6160525824274756855}
|
- {fileID: 6160525824274756855}
|
||||||
|
- {fileID: 4864164393396034508}
|
||||||
- {fileID: 4485271863734941484}
|
- {fileID: 4485271863734941484}
|
||||||
m_Father: {fileID: 6160525822650539252}
|
m_Father: {fileID: 6160525822650539252}
|
||||||
m_RootOrder: 1
|
m_RootOrder: 1
|
||||||
|
|
@ -2858,7 +2800,7 @@ RectTransform:
|
||||||
m_ConstrainProportionsScale: 0
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 6160525824616842327}
|
m_Father: {fileID: 6160525824616842327}
|
||||||
m_RootOrder: 4
|
m_RootOrder: 5
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
m_AnchorMax: {x: 1, y: 1}
|
m_AnchorMax: {x: 1, y: 1}
|
||||||
|
|
@ -2959,141 +2901,6 @@ MonoBehaviour:
|
||||||
m_StringArgument:
|
m_StringArgument:
|
||||||
m_BoolArgument: 0
|
m_BoolArgument: 0
|
||||||
m_CallState: 2
|
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
|
--- !u!1 &8502661750092402385
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|
@ -3125,7 +2932,6 @@ RectTransform:
|
||||||
m_ConstrainProportionsScale: 0
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 2116146483998663769}
|
- {fileID: 2116146483998663769}
|
||||||
- {fileID: 5524173658643523724}
|
|
||||||
m_Father: {fileID: 4707047837917099116}
|
m_Father: {fileID: 4707047837917099116}
|
||||||
m_RootOrder: 3
|
m_RootOrder: 3
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
|
@ -3302,3 +3108,79 @@ MonoBehaviour:
|
||||||
m_StringArgument:
|
m_StringArgument:
|
||||||
m_BoolArgument: 0
|
m_BoolArgument: 0
|
||||||
m_CallState: 2
|
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:
|
m_faceColor:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
rgba: 4294967295
|
rgba: 4294967295
|
||||||
m_fontSize: 30
|
m_fontSize: 20
|
||||||
m_fontSizeBase: 30
|
m_fontSizeBase: 20
|
||||||
m_fontWeight: 400
|
m_fontWeight: 400
|
||||||
m_enableAutoSizing: 0
|
m_enableAutoSizing: 0
|
||||||
m_fontSizeMin: 18
|
m_fontSizeMin: 18
|
||||||
|
|
@ -2549,8 +2549,8 @@ MonoBehaviour:
|
||||||
m_faceColor:
|
m_faceColor:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
rgba: 4294967295
|
rgba: 4294967295
|
||||||
m_fontSize: 30
|
m_fontSize: 20
|
||||||
m_fontSizeBase: 30
|
m_fontSizeBase: 20
|
||||||
m_fontWeight: 400
|
m_fontWeight: 400
|
||||||
m_enableAutoSizing: 0
|
m_enableAutoSizing: 0
|
||||||
m_fontSizeMin: 18
|
m_fontSizeMin: 18
|
||||||
|
|
@ -2684,8 +2684,8 @@ MonoBehaviour:
|
||||||
m_faceColor:
|
m_faceColor:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
rgba: 4294967295
|
rgba: 4294967295
|
||||||
m_fontSize: 30
|
m_fontSize: 20
|
||||||
m_fontSizeBase: 30
|
m_fontSizeBase: 20
|
||||||
m_fontWeight: 400
|
m_fontWeight: 400
|
||||||
m_enableAutoSizing: 0
|
m_enableAutoSizing: 0
|
||||||
m_fontSizeMin: 18
|
m_fontSizeMin: 18
|
||||||
|
|
@ -3019,8 +3019,8 @@ MonoBehaviour:
|
||||||
m_faceColor:
|
m_faceColor:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
rgba: 4294967295
|
rgba: 4294967295
|
||||||
m_fontSize: 30
|
m_fontSize: 20
|
||||||
m_fontSizeBase: 30
|
m_fontSizeBase: 20
|
||||||
m_fontWeight: 400
|
m_fontWeight: 400
|
||||||
m_enableAutoSizing: 0
|
m_enableAutoSizing: 0
|
||||||
m_fontSizeMin: 18
|
m_fontSizeMin: 18
|
||||||
|
|
@ -3325,7 +3325,6 @@ MonoBehaviour:
|
||||||
timerImage: {fileID: 1037614131}
|
timerImage: {fileID: 1037614131}
|
||||||
timerText: {fileID: 760767126207873636}
|
timerText: {fileID: 760767126207873636}
|
||||||
gameManager: {fileID: 0}
|
gameManager: {fileID: 0}
|
||||||
dataManager: {fileID: 0}
|
|
||||||
isComplete: 0
|
isComplete: 0
|
||||||
timeToCompleteQuestion: 30
|
timeToCompleteQuestion: 30
|
||||||
timeToShowCorrectAnswer: 2
|
timeToShowCorrectAnswer: 2
|
||||||
|
|
|
||||||
|
|
@ -669,11 +669,12 @@ MonoBehaviour:
|
||||||
m_Script: {fileID: 11500000, guid: 3a8a7cdcb02211e4ba08e1b9a5b4498d, type: 3}
|
m_Script: {fileID: 11500000, guid: 3a8a7cdcb02211e4ba08e1b9a5b4498d, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
dataManager: {fileID: 0}
|
|
||||||
namePlayer: {fileID: 5989088459531031757}
|
namePlayer: {fileID: 5989088459531031757}
|
||||||
agePlayer: {fileID: 5989088459031437811}
|
agePlayer: {fileID: 5989088459031437811}
|
||||||
dataKesehatanGigiImage: {fileID: 5989088458950881636}
|
dataKesehatanGigiImage: {fileID: 5989088458950881636}
|
||||||
dataPenyakitGigiImage: {fileID: 7238889675074438120}
|
dataPenyakitGigiImage: {fileID: 7238889675074438120}
|
||||||
|
dataKesehatanGigiText: {fileID: 5989088458163191664}
|
||||||
|
dataPenyakitGigiText: {fileID: 2910266453543154359}
|
||||||
--- !u!1 &2956738819727036066
|
--- !u!1 &2956738819727036066
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|
@ -789,6 +790,141 @@ RectTransform:
|
||||||
m_AnchoredPosition: {x: 161.67, y: 33}
|
m_AnchoredPosition: {x: 161.67, y: 33}
|
||||||
m_SizeDelta: {x: 500, y: 60}
|
m_SizeDelta: {x: 500, y: 60}
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
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
|
--- !u!1 &3385972757574593593
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|
@ -1178,6 +1314,140 @@ MonoBehaviour:
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
m_ShowMaskGraphic: 1
|
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
|
--- !u!1 &5989088457677213986
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|
@ -2842,10 +3112,10 @@ RectTransform:
|
||||||
m_Father: {fileID: 5989088457849387791}
|
m_Father: {fileID: 5989088457849387791}
|
||||||
m_RootOrder: 3
|
m_RootOrder: 3
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 1}
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
m_AnchorMax: {x: 0, y: 1}
|
m_AnchorMax: {x: 0, y: 0}
|
||||||
m_AnchoredPosition: {x: 485, y: -60}
|
m_AnchoredPosition: {x: 0, y: 0}
|
||||||
m_SizeDelta: {x: 120, y: 120}
|
m_SizeDelta: {x: 0, y: 0}
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
--- !u!222 &5989088457945970232
|
--- !u!222 &5989088457945970232
|
||||||
CanvasRenderer:
|
CanvasRenderer:
|
||||||
|
|
@ -3883,7 +4153,7 @@ GameObject:
|
||||||
m_Icon: {fileID: 0}
|
m_Icon: {fileID: 0}
|
||||||
m_NavMeshLayer: 0
|
m_NavMeshLayer: 0
|
||||||
m_StaticEditorFlags: 0
|
m_StaticEditorFlags: 0
|
||||||
m_IsActive: 1
|
m_IsActive: 0
|
||||||
--- !u!224 &5989088458129619889
|
--- !u!224 &5989088458129619889
|
||||||
RectTransform:
|
RectTransform:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|
@ -4402,10 +4672,10 @@ RectTransform:
|
||||||
m_Father: {fileID: 5989088457849387791}
|
m_Father: {fileID: 5989088457849387791}
|
||||||
m_RootOrder: 7
|
m_RootOrder: 7
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 1}
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
m_AnchorMax: {x: 0, y: 1}
|
m_AnchorMax: {x: 0, y: 0}
|
||||||
m_AnchoredPosition: {x: 485, y: -200}
|
m_AnchoredPosition: {x: 0, y: 0}
|
||||||
m_SizeDelta: {x: 120, y: 120}
|
m_SizeDelta: {x: 0, y: 0}
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
--- !u!222 &5989088458207346053
|
--- !u!222 &5989088458207346053
|
||||||
CanvasRenderer:
|
CanvasRenderer:
|
||||||
|
|
@ -4630,10 +4900,10 @@ RectTransform:
|
||||||
m_Father: {fileID: 5989088457849387791}
|
m_Father: {fileID: 5989088457849387791}
|
||||||
m_RootOrder: 5
|
m_RootOrder: 5
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 1}
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
m_AnchorMax: {x: 0, y: 1}
|
m_AnchorMax: {x: 0, y: 0}
|
||||||
m_AnchoredPosition: {x: 205, y: -200}
|
m_AnchoredPosition: {x: 0, y: 0}
|
||||||
m_SizeDelta: {x: 120, y: 120}
|
m_SizeDelta: {x: 0, y: 0}
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
--- !u!222 &5989088458209613039
|
--- !u!222 &5989088458209613039
|
||||||
CanvasRenderer:
|
CanvasRenderer:
|
||||||
|
|
@ -5120,10 +5390,10 @@ RectTransform:
|
||||||
m_Father: {fileID: 5989088457849387791}
|
m_Father: {fileID: 5989088457849387791}
|
||||||
m_RootOrder: 0
|
m_RootOrder: 0
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 1}
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
m_AnchorMax: {x: 0, y: 1}
|
m_AnchorMax: {x: 0, y: 0}
|
||||||
m_AnchoredPosition: {x: 65, y: -60}
|
m_AnchoredPosition: {x: 0, y: 0}
|
||||||
m_SizeDelta: {x: 120, y: 120}
|
m_SizeDelta: {x: 0, y: 0}
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
--- !u!222 &5989088458342110391
|
--- !u!222 &5989088458342110391
|
||||||
CanvasRenderer:
|
CanvasRenderer:
|
||||||
|
|
@ -5518,7 +5788,7 @@ GameObject:
|
||||||
m_Icon: {fileID: 0}
|
m_Icon: {fileID: 0}
|
||||||
m_NavMeshLayer: 0
|
m_NavMeshLayer: 0
|
||||||
m_StaticEditorFlags: 0
|
m_StaticEditorFlags: 0
|
||||||
m_IsActive: 1
|
m_IsActive: 0
|
||||||
--- !u!224 &5989088458441590670
|
--- !u!224 &5989088458441590670
|
||||||
RectTransform:
|
RectTransform:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|
@ -5885,7 +6155,7 @@ GameObject:
|
||||||
m_Icon: {fileID: 0}
|
m_Icon: {fileID: 0}
|
||||||
m_NavMeshLayer: 0
|
m_NavMeshLayer: 0
|
||||||
m_StaticEditorFlags: 0
|
m_StaticEditorFlags: 0
|
||||||
m_IsActive: 1
|
m_IsActive: 0
|
||||||
--- !u!224 &5989088458470902464
|
--- !u!224 &5989088458470902464
|
||||||
RectTransform:
|
RectTransform:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|
@ -5901,7 +6171,7 @@ RectTransform:
|
||||||
- {fileID: 5989088458249421289}
|
- {fileID: 5989088458249421289}
|
||||||
- {fileID: 5989088458465249831}
|
- {fileID: 5989088458465249831}
|
||||||
m_Father: {fileID: 5989088458541418536}
|
m_Father: {fileID: 5989088458541418536}
|
||||||
m_RootOrder: 3
|
m_RootOrder: 5
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||||
|
|
@ -6468,7 +6738,7 @@ GameObject:
|
||||||
m_Icon: {fileID: 0}
|
m_Icon: {fileID: 0}
|
||||||
m_NavMeshLayer: 0
|
m_NavMeshLayer: 0
|
||||||
m_StaticEditorFlags: 0
|
m_StaticEditorFlags: 0
|
||||||
m_IsActive: 0
|
m_IsActive: 1
|
||||||
--- !u!224 &5989088458541418536
|
--- !u!224 &5989088458541418536
|
||||||
RectTransform:
|
RectTransform:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|
@ -6483,11 +6753,12 @@ RectTransform:
|
||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 5989088458999910891}
|
- {fileID: 5989088458999910891}
|
||||||
- {fileID: 5989088459606568522}
|
- {fileID: 5989088459606568522}
|
||||||
|
- {fileID: 7360489094576182663}
|
||||||
|
- {fileID: 5989088459056493161}
|
||||||
- {fileID: 5989088458584838678}
|
- {fileID: 5989088458584838678}
|
||||||
- {fileID: 5989088458470902464}
|
- {fileID: 5989088458470902464}
|
||||||
- {fileID: 5989088458783075994}
|
- {fileID: 5989088458783075994}
|
||||||
- {fileID: 5989088459435989731}
|
- {fileID: 5989088459435989731}
|
||||||
- {fileID: 5989088459056493161}
|
|
||||||
m_Father: {fileID: 5989088458532923596}
|
m_Father: {fileID: 5989088458532923596}
|
||||||
m_RootOrder: 3
|
m_RootOrder: 3
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
|
@ -6588,7 +6859,7 @@ GameObject:
|
||||||
m_Icon: {fileID: 0}
|
m_Icon: {fileID: 0}
|
||||||
m_NavMeshLayer: 0
|
m_NavMeshLayer: 0
|
||||||
m_StaticEditorFlags: 0
|
m_StaticEditorFlags: 0
|
||||||
m_IsActive: 1
|
m_IsActive: 0
|
||||||
--- !u!224 &5989088458584838678
|
--- !u!224 &5989088458584838678
|
||||||
RectTransform:
|
RectTransform:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|
@ -6604,7 +6875,7 @@ RectTransform:
|
||||||
- {fileID: 5989088458441590670}
|
- {fileID: 5989088458441590670}
|
||||||
- {fileID: 5989088458769959667}
|
- {fileID: 5989088458769959667}
|
||||||
m_Father: {fileID: 5989088458541418536}
|
m_Father: {fileID: 5989088458541418536}
|
||||||
m_RootOrder: 2
|
m_RootOrder: 4
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||||
|
|
@ -7207,10 +7478,10 @@ RectTransform:
|
||||||
m_Father: {fileID: 5989088457849387791}
|
m_Father: {fileID: 5989088457849387791}
|
||||||
m_RootOrder: 6
|
m_RootOrder: 6
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 1}
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
m_AnchorMax: {x: 0, y: 1}
|
m_AnchorMax: {x: 0, y: 0}
|
||||||
m_AnchoredPosition: {x: 345, y: -200}
|
m_AnchoredPosition: {x: 0, y: 0}
|
||||||
m_SizeDelta: {x: 120, y: 120}
|
m_SizeDelta: {x: 0, y: 0}
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
--- !u!222 &5989088458741577436
|
--- !u!222 &5989088458741577436
|
||||||
CanvasRenderer:
|
CanvasRenderer:
|
||||||
|
|
@ -7476,8 +7747,8 @@ RectTransform:
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 1}
|
m_AnchorMin: {x: 0, y: 1}
|
||||||
m_AnchorMax: {x: 0, y: 1}
|
m_AnchorMax: {x: 0, y: 1}
|
||||||
m_AnchoredPosition: {x: 538.75, y: -45}
|
m_AnchoredPosition: {x: 357.5, y: -45}
|
||||||
m_SizeDelta: {x: 262.5, y: 60}
|
m_SizeDelta: {x: 625, y: 60}
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
--- !u!222 &5989088458769959666
|
--- !u!222 &5989088458769959666
|
||||||
CanvasRenderer:
|
CanvasRenderer:
|
||||||
|
|
@ -7505,7 +7776,7 @@ GameObject:
|
||||||
m_Icon: {fileID: 0}
|
m_Icon: {fileID: 0}
|
||||||
m_NavMeshLayer: 0
|
m_NavMeshLayer: 0
|
||||||
m_StaticEditorFlags: 0
|
m_StaticEditorFlags: 0
|
||||||
m_IsActive: 1
|
m_IsActive: 0
|
||||||
--- !u!224 &5989088458783075994
|
--- !u!224 &5989088458783075994
|
||||||
RectTransform:
|
RectTransform:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|
@ -7522,7 +7793,7 @@ RectTransform:
|
||||||
- {fileID: 5989088459403015217}
|
- {fileID: 5989088459403015217}
|
||||||
- {fileID: 5989088458848783171}
|
- {fileID: 5989088458848783171}
|
||||||
m_Father: {fileID: 5989088458541418536}
|
m_Father: {fileID: 5989088458541418536}
|
||||||
m_RootOrder: 4
|
m_RootOrder: 6
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 0.5}
|
m_AnchorMin: {x: 0, y: 0.5}
|
||||||
m_AnchorMax: {x: 0, y: 0.5}
|
m_AnchorMax: {x: 0, y: 0.5}
|
||||||
|
|
@ -8377,10 +8648,10 @@ RectTransform:
|
||||||
m_Father: {fileID: 5989088457849387791}
|
m_Father: {fileID: 5989088457849387791}
|
||||||
m_RootOrder: 1
|
m_RootOrder: 1
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 1}
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
m_AnchorMax: {x: 0, y: 1}
|
m_AnchorMax: {x: 0, y: 0}
|
||||||
m_AnchoredPosition: {x: 205, y: -60}
|
m_AnchoredPosition: {x: 0, y: 0}
|
||||||
m_SizeDelta: {x: 120, y: 120}
|
m_SizeDelta: {x: 0, y: 0}
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
--- !u!222 &5989088458907099098
|
--- !u!222 &5989088458907099098
|
||||||
CanvasRenderer:
|
CanvasRenderer:
|
||||||
|
|
@ -9710,7 +9981,7 @@ RectTransform:
|
||||||
- {fileID: 5989088459805680634}
|
- {fileID: 5989088459805680634}
|
||||||
- {fileID: 5989088457849387791}
|
- {fileID: 5989088457849387791}
|
||||||
m_Father: {fileID: 5989088458541418536}
|
m_Father: {fileID: 5989088458541418536}
|
||||||
m_RootOrder: 6
|
m_RootOrder: 3
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||||
|
|
@ -10370,10 +10641,10 @@ RectTransform:
|
||||||
m_Father: {fileID: 5989088457849387791}
|
m_Father: {fileID: 5989088457849387791}
|
||||||
m_RootOrder: 4
|
m_RootOrder: 4
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 1}
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
m_AnchorMax: {x: 0, y: 1}
|
m_AnchorMax: {x: 0, y: 0}
|
||||||
m_AnchoredPosition: {x: 65, y: -200}
|
m_AnchoredPosition: {x: 0, y: 0}
|
||||||
m_SizeDelta: {x: 120, y: 120}
|
m_SizeDelta: {x: 0, y: 0}
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
--- !u!222 &5989088459196100026
|
--- !u!222 &5989088459196100026
|
||||||
CanvasRenderer:
|
CanvasRenderer:
|
||||||
|
|
@ -11512,7 +11783,7 @@ GameObject:
|
||||||
m_Icon: {fileID: 0}
|
m_Icon: {fileID: 0}
|
||||||
m_NavMeshLayer: 0
|
m_NavMeshLayer: 0
|
||||||
m_StaticEditorFlags: 0
|
m_StaticEditorFlags: 0
|
||||||
m_IsActive: 1
|
m_IsActive: 0
|
||||||
--- !u!224 &5989088459375460310
|
--- !u!224 &5989088459375460310
|
||||||
RectTransform:
|
RectTransform:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|
@ -12308,7 +12579,7 @@ GameObject:
|
||||||
m_Icon: {fileID: 0}
|
m_Icon: {fileID: 0}
|
||||||
m_NavMeshLayer: 0
|
m_NavMeshLayer: 0
|
||||||
m_StaticEditorFlags: 0
|
m_StaticEditorFlags: 0
|
||||||
m_IsActive: 1
|
m_IsActive: 0
|
||||||
--- !u!224 &5989088459435989731
|
--- !u!224 &5989088459435989731
|
||||||
RectTransform:
|
RectTransform:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|
@ -12326,7 +12597,7 @@ RectTransform:
|
||||||
- {fileID: 5989088459511910105}
|
- {fileID: 5989088459511910105}
|
||||||
- {fileID: 5989088458455795845}
|
- {fileID: 5989088458455795845}
|
||||||
m_Father: {fileID: 5989088458541418536}
|
m_Father: {fileID: 5989088458541418536}
|
||||||
m_RootOrder: 5
|
m_RootOrder: 7
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||||
|
|
@ -12590,10 +12861,10 @@ RectTransform:
|
||||||
m_Father: {fileID: 5989088459606568522}
|
m_Father: {fileID: 5989088459606568522}
|
||||||
m_RootOrder: 1
|
m_RootOrder: 1
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 1}
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
m_AnchorMax: {x: 0, y: 1}
|
m_AnchorMax: {x: 0, y: 0}
|
||||||
m_AnchoredPosition: {x: 335, y: -155}
|
m_AnchoredPosition: {x: 0, y: 0}
|
||||||
m_SizeDelta: {x: 670, y: 90}
|
m_SizeDelta: {x: 0, y: 90}
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
--- !u!222 &5989088459438126736
|
--- !u!222 &5989088459438126736
|
||||||
CanvasRenderer:
|
CanvasRenderer:
|
||||||
|
|
@ -12788,10 +13059,10 @@ RectTransform:
|
||||||
m_Father: {fileID: 5989088459606568522}
|
m_Father: {fileID: 5989088459606568522}
|
||||||
m_RootOrder: 0
|
m_RootOrder: 0
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 1}
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
m_AnchorMax: {x: 0, y: 1}
|
m_AnchorMax: {x: 0, y: 0}
|
||||||
m_AnchoredPosition: {x: 335, y: -45}
|
m_AnchoredPosition: {x: 0, y: 0}
|
||||||
m_SizeDelta: {x: 670, y: 90}
|
m_SizeDelta: {x: 0, y: 90}
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
--- !u!222 &5989088459442087505
|
--- !u!222 &5989088459442087505
|
||||||
CanvasRenderer:
|
CanvasRenderer:
|
||||||
|
|
@ -13896,7 +14167,7 @@ RectTransform:
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||||
m_AnchorMax: {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_SizeDelta: {x: 670, y: 200}
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
--- !u!114 &5989088459606568525
|
--- !u!114 &5989088459606568525
|
||||||
|
|
@ -14895,10 +15166,10 @@ RectTransform:
|
||||||
m_Father: {fileID: 5989088457849387791}
|
m_Father: {fileID: 5989088457849387791}
|
||||||
m_RootOrder: 2
|
m_RootOrder: 2
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 1}
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
m_AnchorMax: {x: 0, y: 1}
|
m_AnchorMax: {x: 0, y: 0}
|
||||||
m_AnchoredPosition: {x: 345, y: -60}
|
m_AnchoredPosition: {x: 0, y: 0}
|
||||||
m_SizeDelta: {x: 120, y: 120}
|
m_SizeDelta: {x: 0, y: 0}
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
--- !u!222 &5989088459801418017
|
--- !u!222 &5989088459801418017
|
||||||
CanvasRenderer:
|
CanvasRenderer:
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load Diff
|
|
@ -274,58 +274,6 @@ Transform:
|
||||||
m_Father: {fileID: 0}
|
m_Father: {fileID: 0}
|
||||||
m_RootOrder: 1
|
m_RootOrder: 1
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
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
|
--- !u!1 &1144006186
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|
|
||||||
|
|
@ -1,21 +1,35 @@
|
||||||
using System;
|
using System.Threading.Tasks;
|
||||||
using System.Collections;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using TMPro;
|
using TMPro;
|
||||||
using Unity.Services.Authentication;
|
using Unity.Services.Authentication;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
using UnityEngine.UI;
|
|
||||||
|
|
||||||
public class AuntMenu : Menu<AuntMenu>
|
public class AuntMenu : Menu<AuntMenu>
|
||||||
{
|
{
|
||||||
[SerializeField] private TMP_InputField usernameFieldLogin, paswordFieldLogin;
|
[Header("Register")]
|
||||||
[SerializeField] private TMP_InputField usernameFieldRegister, paswordRegister, EmailRegister;
|
[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()
|
private void OnEnable()
|
||||||
{
|
{
|
||||||
AuthenticationService.Instance.SignedIn += NextToMenu;
|
AuthenticationService.Instance.SignedIn += NextToMenu;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnDisable()
|
private void OnDisable()
|
||||||
|
|
@ -23,13 +37,24 @@ public class AuntMenu : Menu<AuntMenu>
|
||||||
AuthenticationService.Instance.SignedIn -= NextToMenu;
|
AuthenticationService.Instance.SignedIn -= NextToMenu;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Login()
|
public async void Login()
|
||||||
{
|
{
|
||||||
username = usernameFieldLogin.text ;
|
usernameLogin = usernameFieldLogin.text.Trim();
|
||||||
password = paswordFieldLogin.text ;
|
passwordLogin = paswordFieldLogin.text.Trim();
|
||||||
AuthenticationManager.SigninUsernamePassword(username, password);
|
|
||||||
|
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()
|
private void NextToMenu()
|
||||||
{
|
{
|
||||||
MainMenu.Open();
|
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="email">The user's email address.</param>
|
||||||
/// <param name="provincy">The user's province or region.</param>
|
/// <param name="provincy">The user's province or region.</param>
|
||||||
/// <returns>A Task representing the asynchronous operation.</returns>
|
/// <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
|
try
|
||||||
{
|
{
|
||||||
|
|
@ -97,7 +97,7 @@ public static class AuthenticationManager
|
||||||
/// <param name="email">The user's email address.</param>
|
/// <param name="email">The user's email address.</param>
|
||||||
/// <param name="provincy">The user's province or region.</param>
|
/// <param name="provincy">The user's province or region.</param>
|
||||||
/// <returns>A Task representing the asynchronous operation.</returns>
|
/// <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
|
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]
|
[Serializable]
|
||||||
public class SaveData
|
public class SaveData
|
||||||
{
|
{
|
||||||
|
public string fileName = "SaveData";
|
||||||
public string playerName;
|
public string playerName;
|
||||||
private readonly string defaultPlayerName = "Player";
|
private readonly string defaultPlayerName = "Player";
|
||||||
public string agePlayer;
|
public string agePlayer;
|
||||||
public int unlockLevel;
|
public int unlockLevel;
|
||||||
|
|
||||||
public float kesehatanGigiStatistik;
|
public float kesehatanGigiStatistik;
|
||||||
public float PenyakitGigiStatistik;
|
public float PenyakitGigiStatistik;
|
||||||
|
|
||||||
public bool[] isMateriKesehatanGigiComplete = new bool[4];
|
public bool[] isMateriKesehatanGigiComplete = new bool[4];
|
||||||
public bool[] isMateriPenyakitGigi1Complete= new bool[3];
|
public bool[] isMateriPenyakitGigi1Complete= new bool[3];
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public SaveData()
|
public SaveData()
|
||||||
{
|
{
|
||||||
playerName = defaultPlayerName;
|
playerName = defaultPlayerName;
|
||||||
|
|
@ -35,7 +35,5 @@ public class SaveData
|
||||||
{
|
{
|
||||||
isMateriPenyakitGigi1Complete[i] = false;
|
isMateriPenyakitGigi1Complete[i] = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,8 @@ using System;
|
||||||
using System.Collections;
|
using System.Collections;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
|
||||||
public class Enemy : MonoBehaviour
|
public class Enemy : MonoBehaviour
|
||||||
{
|
{
|
||||||
|
|
@ -14,6 +16,10 @@ public class Enemy : MonoBehaviour
|
||||||
public float damage;
|
public float damage;
|
||||||
public bool isBosStage2;
|
public bool isBosStage2;
|
||||||
[SerializeField] private GameObject pastaGigi;
|
[SerializeField] private GameObject pastaGigi;
|
||||||
|
|
||||||
|
private SaveData saveData;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private void Start()
|
private void Start()
|
||||||
{
|
{
|
||||||
|
|
@ -35,12 +41,13 @@ public class Enemy : MonoBehaviour
|
||||||
transform.position = Vector3.MoveTowards(transform.position, target.position, moveSpeed * Time.deltaTime);
|
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"))
|
if (other.CompareTag("Bullet"))
|
||||||
{
|
{
|
||||||
GameObject bullet = other.gameObject;
|
GameObject bullet = other.gameObject;
|
||||||
bullet.gameObject.SetActive(false);
|
bullet.SetActive(false);
|
||||||
|
|
||||||
if (health >= 1)
|
if (health >= 1)
|
||||||
{
|
{
|
||||||
health -= damage;
|
health -= damage;
|
||||||
|
|
@ -49,31 +56,34 @@ public class Enemy : MonoBehaviour
|
||||||
{
|
{
|
||||||
pastaGigi.SetActive(true);
|
pastaGigi.SetActive(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (health <= 0)
|
if (health <= 0)
|
||||||
{
|
{
|
||||||
ExecuteBosDeath();
|
await ExecuteBosDeath();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
ExecuteBosDeath();
|
await ExecuteBosDeath();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void ExecuteBosDeath()
|
private async Task ExecuteBosDeath()
|
||||||
{
|
{
|
||||||
|
SaveData saveData = await Cloudsave.LoadData<SaveData>("DataPlayer");
|
||||||
|
|
||||||
if (isBosStage2)
|
if (isBosStage2)
|
||||||
{
|
{
|
||||||
int currentLevel = gameManager.levelCurrentIndex;
|
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);
|
gameObject.SetActive(false);
|
||||||
WinScreen.Open();
|
WinScreen.Open();
|
||||||
DataManager.instance.Save();
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
@ -81,6 +91,6 @@ public class Enemy : MonoBehaviour
|
||||||
QuizPopUp.Open();
|
QuizPopUp.Open();
|
||||||
gameObject.SetActive(false);
|
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>
|
public class MainMenu : Menu<MainMenu>
|
||||||
{
|
{
|
||||||
[SerializeField] private DataManager dataManager;
|
|
||||||
protected override void Awake()
|
|
||||||
{
|
|
||||||
base.Awake();
|
|
||||||
dataManager = DataManager.instance;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void Start()
|
private void Start()
|
||||||
{
|
{
|
||||||
audioController.Instance.PlayBGM("Background Music", 0.5f);
|
audioController.Instance.PlayBGM("Background Music", 0.5f);
|
||||||
|
|
@ -24,11 +17,6 @@ public class MainMenu : Menu<MainMenu>
|
||||||
yield return new WaitForSeconds(1);
|
yield return new WaitForSeconds(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void LoadData()
|
|
||||||
{
|
|
||||||
dataManager.Load();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void OnPlayPressed()
|
public void OnPlayPressed()
|
||||||
{
|
{
|
||||||
audioController.Instance.PlaySFX("TombolUmum", 0.5f);
|
audioController.Instance.PlaySFX("TombolUmum", 0.5f);
|
||||||
|
|
@ -57,6 +45,7 @@ public class MainMenu : Menu<MainMenu>
|
||||||
public override void OnBackPressed()
|
public override void OnBackPressed()
|
||||||
{
|
{
|
||||||
audioController.Instance.PlaySFX("TombolClose", 0.5f);
|
audioController.Instance.PlaySFX("TombolClose", 0.5f);
|
||||||
|
AuthenticationManager.Signout();
|
||||||
Application.Quit();
|
Application.Quit();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -31,6 +31,25 @@ public abstract class Menu<T> : Menu where T : Menu<T>
|
||||||
MenuManager.Instance.OpenMenu(Instance);
|
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()
|
private void InitializeMenus()
|
||||||
{
|
{
|
||||||
|
int isFirst;
|
||||||
|
|
||||||
Debug.Log(Application.persistentDataPath);
|
Debug.Log(Application.persistentDataPath);
|
||||||
if (menuParent == null)
|
if (menuParent == null)
|
||||||
|
|
@ -77,7 +78,10 @@ public class MenuManager : MonoBehaviour
|
||||||
Menu menuInstance = Instantiate(prefab, menuParent);
|
Menu menuInstance = Instantiate(prefab, menuParent);
|
||||||
menuInstance.gameObject.SetActive(true); // Refresh the instance to prevent a null reference.
|
menuInstance.gameObject.SetActive(true); // Refresh the instance to prevent a null reference.
|
||||||
menuInstance.gameObject.SetActive(false);
|
menuInstance.gameObject.SetActive(false);
|
||||||
if (prefab == mainMenuPrefabs)
|
|
||||||
|
|
||||||
|
|
||||||
|
if (prefab == auntMenuPrefabs)
|
||||||
{
|
{
|
||||||
OpenMenu(menuInstance);
|
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;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.Threading.Tasks;
|
||||||
using TMPro;
|
using TMPro;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
using UnityEngine.UI;
|
using UnityEngine.UI;
|
||||||
|
|
||||||
public class ProfileMenu : Menu<ProfileMenu>
|
public class ProfileMenu : Menu<ProfileMenu>
|
||||||
{
|
{
|
||||||
[SerializeField] private DataManager dataManager;
|
private SaveData saveData;
|
||||||
|
|
||||||
[SerializeField] private TextMeshProUGUI namePlayer, agePlayer;
|
[SerializeField] private TextMeshProUGUI namePlayer, agePlayer;
|
||||||
|
|
||||||
[SerializeField] private Image dataKesehatanGigiImage;
|
[SerializeField] private Image dataKesehatanGigiImage;
|
||||||
[SerializeField] private Image dataPenyakitGigiImage;
|
[SerializeField] private Image dataPenyakitGigiImage;
|
||||||
|
|
||||||
|
[SerializeField] private TextMeshProUGUI dataKesehatanGigiText;
|
||||||
|
[SerializeField] private TextMeshProUGUI dataPenyakitGigiText;
|
||||||
|
|
||||||
private void OnEnable()
|
private void OnEnable()
|
||||||
{
|
{
|
||||||
StartCoroutine(DelayShowData());
|
LoadAndRefresh();
|
||||||
}
|
}
|
||||||
|
|
||||||
IEnumerator DelayShowData()
|
private async void LoadAndRefresh()
|
||||||
{
|
{
|
||||||
yield return new WaitForSeconds(1);
|
saveData = await Cloudsave.LoadData<SaveData>("DataPlayer");
|
||||||
dataManager = DataManager.instance;
|
|
||||||
dataManager.Load();
|
if (saveData == null)
|
||||||
|
{
|
||||||
namePlayer.text = dataManager.playerName;
|
Debug.LogWarning("DataPlayer tidak ditemukan di cloud!");
|
||||||
agePlayer.text = dataManager.agePlayer + " " + "Tahun";
|
return;
|
||||||
|
}
|
||||||
dataKesehatanGigiImage.fillAmount = dataManager.MateriKesehatanGigi / 100f;
|
|
||||||
dataPenyakitGigiImage.fillAmount = dataManager.MateriPenyakitGigi / 100f;
|
namePlayer.text = saveData.playerName;
|
||||||
|
agePlayer.text = saveData.agePlayer + " Tahun";
|
||||||
dataManager.Save();
|
dataKesehatanGigiImage.fillAmount = (float)saveData.kesehatanGigiStatistik / 100f;
|
||||||
|
dataPenyakitGigiImage.fillAmount = (float)saveData.PenyakitGigiStatistik / 100f;
|
||||||
var task = Cloudsave.SaveData(dataManager.saveData, "Bebas");
|
|
||||||
yield return task;
|
dataKesehatanGigiText.text = saveData.kesehatanGigiStatistik.ToString("F1");
|
||||||
|
dataPenyakitGigiText.text = saveData.PenyakitGigiStatistik.ToString("F1");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public override void OnBackPressed()
|
public override void OnBackPressed()
|
||||||
{
|
{
|
||||||
audioController.Instance.PlaySFX("TombolClose", 0.5f);
|
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()
|
public void StatisticProfileButton()
|
||||||
{
|
{
|
||||||
audioController.Instance.PlaySFX("TombolUmum", 0.5f);
|
audioController.Instance.PlaySFX("TombolUmum", 0.5f);
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,6 @@ public class QuizPopUp : Menu<QuizPopUp>
|
||||||
[SerializeField] Image timerImage;
|
[SerializeField] Image timerImage;
|
||||||
[SerializeField] TextMeshProUGUI timerText;
|
[SerializeField] TextMeshProUGUI timerText;
|
||||||
public GameManager gameManager;
|
public GameManager gameManager;
|
||||||
public DataManager dataManager;
|
|
||||||
|
|
||||||
public bool isComplete = false;
|
public bool isComplete = false;
|
||||||
|
|
||||||
|
|
@ -43,7 +42,6 @@ public class QuizPopUp : Menu<QuizPopUp>
|
||||||
private void OnEnable()
|
private void OnEnable()
|
||||||
{
|
{
|
||||||
gameManager = FindObjectOfType<GameManager>();
|
gameManager = FindObjectOfType<GameManager>();
|
||||||
dataManager = FindObjectOfType<DataManager>();
|
|
||||||
|
|
||||||
if (gameManager == null) return;
|
if (gameManager == null) return;
|
||||||
|
|
||||||
|
|
@ -196,7 +194,7 @@ public class QuizPopUp : Menu<QuizPopUp>
|
||||||
buttonImage.sprite = trueAnswerSprite;
|
buttonImage.sprite = trueAnswerSprite;
|
||||||
// implement score ++;
|
// implement score ++;
|
||||||
isComplete = true;
|
isComplete = true;
|
||||||
StartCoroutine(DelayAfterAnswerTrue());
|
DelayAfterAnswerTrue();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -207,7 +205,6 @@ public class QuizPopUp : Menu<QuizPopUp>
|
||||||
buttonImage = answerButtons[index].GetComponent<Image>();
|
buttonImage = answerButtons[index].GetComponent<Image>();
|
||||||
buttonImage.sprite = falseAnswerSprite;
|
buttonImage.sprite = falseAnswerSprite;
|
||||||
StartCoroutine(DelayAfterAnswerFalse());
|
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)
|
if (currentQuestion.isMateriKesehatanGigi)
|
||||||
{
|
{
|
||||||
int checkData = gameManager.indexQuestion;
|
if (checkData >= 0 && checkData < saveData.isMateriKesehatanGigiComplete.Length)
|
||||||
if (dataManager.isMateriKesehatanGigiComplete[checkData] == false)
|
|
||||||
{
|
{
|
||||||
dataManager.isMateriKesehatanGigiComplete[checkData] = true;
|
if (!saveData.isMateriKesehatanGigiComplete[checkData])
|
||||||
dataManager.MateriKesehatanGigi += 20;
|
{
|
||||||
dataManager.Save();
|
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
|
else
|
||||||
{
|
{
|
||||||
int checkData = gameManager.indexQuestion;
|
if (checkData >= 0 && checkData < saveData.isMateriPenyakitGigi1Complete.Length)
|
||||||
if (dataManager.isMateriPenyakitGigi1Complete[checkData] == false)
|
|
||||||
{
|
{
|
||||||
dataManager.isMateriPenyakitGigi1Complete[checkData] = true;
|
if (!saveData.isMateriPenyakitGigi1Complete[checkData])
|
||||||
dataManager.MateriPenyakitGigi += 25;
|
{
|
||||||
dataManager.Save();
|
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);
|
SceneController.Instance.LoadScene(currentQuestion.nextSceneName);
|
||||||
dataManager.Save();
|
await Cloudsave.SaveData(saveData, "DataPlayer");
|
||||||
|
|
||||||
GameMenu.Open();
|
GameMenu.Open();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
IEnumerator DelayAfterAnswerFalse()
|
IEnumerator DelayAfterAnswerFalse()
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -2,8 +2,8 @@ using System;
|
||||||
using System.Collections;
|
using System.Collections;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
using UnityEngine.Serialization;
|
|
||||||
using UnityEngine.UI;
|
using UnityEngine.UI;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
public class SelectLevel : Menu<SelectLevel>
|
public class SelectLevel : Menu<SelectLevel>
|
||||||
{
|
{
|
||||||
|
|
@ -12,33 +12,32 @@ public class SelectLevel : Menu<SelectLevel>
|
||||||
|
|
||||||
[SerializeField] private Button[] buttons;
|
[SerializeField] private Button[] buttons;
|
||||||
[SerializeField] private int indexUnlock;
|
[SerializeField] private int indexUnlock;
|
||||||
[SerializeField] private DataManager dataManager;
|
|
||||||
|
|
||||||
[SerializeField] private Sprite completeSprite;
|
[SerializeField] private Sprite completeSprite;
|
||||||
[SerializeField] private Sprite lockedSprite;
|
[SerializeField] private Sprite lockedSprite;
|
||||||
[SerializeField] private Sprite currentSprite;
|
[SerializeField] private Sprite currentSprite;
|
||||||
|
|
||||||
private void OnEnable()
|
private SaveData saveData;
|
||||||
|
|
||||||
|
private async void OnEnable()
|
||||||
{
|
{
|
||||||
dataManager = DataManager.instance;
|
await LoadAndRefresh();
|
||||||
StartCoroutine(DelayDataManager());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
IEnumerator DelayDataManager()
|
private async Task LoadAndRefresh()
|
||||||
{
|
{
|
||||||
yield return new WaitForSeconds(.1f);
|
saveData = await Cloudsave.LoadData<SaveData>( "DataPlayer");
|
||||||
RefreshButtonsUnlockProggres();
|
|
||||||
|
RefreshButtonsUnlockProgress();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnDisable()
|
void RefreshButtonsUnlockProgress()
|
||||||
{
|
{
|
||||||
RefreshButtonsUnlockProggres();
|
indexUnlock = saveData.unlockLevel;
|
||||||
}
|
if (indexUnlock == null)
|
||||||
|
{
|
||||||
void RefreshButtonsUnlockProggres()
|
indexUnlock = 1;
|
||||||
{
|
}
|
||||||
dataManager.Load();
|
|
||||||
indexUnlock = dataManager.UnlockLevel;
|
|
||||||
|
|
||||||
for (int i = 0; i < buttons.Length; i++)
|
for (int i = 0; i < buttons.Length; i++)
|
||||||
{
|
{
|
||||||
|
|
@ -46,28 +45,22 @@ public class SelectLevel : Menu<SelectLevel>
|
||||||
|
|
||||||
if (i < indexUnlock - 1)
|
if (i < indexUnlock - 1)
|
||||||
{
|
{
|
||||||
// ✅ Level yang sudah selesai → completeSprite, tidak bisa dibuka
|
|
||||||
imgSprite.sprite = completeSprite;
|
imgSprite.sprite = completeSprite;
|
||||||
buttons[i].interactable = true;
|
buttons[i].interactable = true;
|
||||||
}
|
}
|
||||||
else if (i == indexUnlock - 1)
|
else if (i == indexUnlock - 1)
|
||||||
{
|
{
|
||||||
// ✅ Level yang sedang bisa dimainkan → currentSprite, bisa dibuka
|
|
||||||
imgSprite.sprite = currentSprite;
|
imgSprite.sprite = currentSprite;
|
||||||
buttons[i].interactable = true;
|
buttons[i].interactable = true;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// ❌ Level yang belum dibuka → lockedSprite, tidak bisa dibuka
|
|
||||||
imgSprite.sprite = lockedSprite;
|
imgSprite.sprite = lockedSprite;
|
||||||
buttons[i].interactable = false;
|
buttons[i].interactable = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void RefreshContainer()
|
void RefreshContainer()
|
||||||
{
|
{
|
||||||
for (int i = 0; i < containerLevelButton.Length; i++)
|
for (int i = 0; i < containerLevelButton.Length; i++)
|
||||||
|
|
@ -79,27 +72,23 @@ public class SelectLevel : Menu<SelectLevel>
|
||||||
|
|
||||||
public void NextLevelButton()
|
public void NextLevelButton()
|
||||||
{
|
{
|
||||||
Debug.Log("NextLevelButton");
|
|
||||||
indexContainer++;
|
indexContainer++;
|
||||||
if (indexContainer >= containerLevelButton.Length)
|
if (indexContainer >= containerLevelButton.Length)
|
||||||
{
|
{
|
||||||
indexContainer = 0;
|
indexContainer = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
RefreshContainer();
|
|
||||||
|
|
||||||
|
RefreshContainer();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void PreviousLevelButton()
|
public void PreviousLevelButton()
|
||||||
{
|
{
|
||||||
Debug.Log("PreviousLevelButton");
|
|
||||||
|
|
||||||
indexContainer--;
|
indexContainer--;
|
||||||
if (indexContainer < 0)
|
if (indexContainer < 0)
|
||||||
{
|
{
|
||||||
indexContainer = containerLevelButton.Length - 1;
|
indexContainer = containerLevelButton.Length - 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
RefreshContainer();
|
RefreshContainer();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,30 +6,15 @@ using UnityEngine.UI;
|
||||||
|
|
||||||
public class SettingsMenu : Menu<SettingsMenu>
|
public class SettingsMenu : Menu<SettingsMenu>
|
||||||
{
|
{
|
||||||
private DataManager dataManager;
|
|
||||||
|
|
||||||
public bool isMusicOn = true;
|
public bool isMusicOn = true;
|
||||||
public bool isSfxOn = true;
|
public bool isSfxOn = true;
|
||||||
|
|
||||||
protected override void Awake()
|
|
||||||
{
|
|
||||||
base.Awake();
|
|
||||||
dataManager = DataManager.instance;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void Start()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
public override void OnBackPressed()
|
public override void OnBackPressed()
|
||||||
{
|
{
|
||||||
base.OnBackPressed();
|
base.OnBackPressed();
|
||||||
audioController.Instance.PlaySFX("TombolClose", 0.5f);
|
audioController.Instance.PlaySFX("TombolClose", 0.5f);
|
||||||
|
|
||||||
if (dataManager != null)
|
|
||||||
{
|
|
||||||
dataManager.Save();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SwapSoundMusic()
|
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
|
apiCompatibilityLevel: 6
|
||||||
activeInputHandler: 0
|
activeInputHandler: 0
|
||||||
windowsGamepadBackendHint: 0
|
windowsGamepadBackendHint: 0
|
||||||
cloudProjectId: c564a27f-9043-4e3d-a0b4-b056edbc5b3f
|
cloudProjectId: eb23755b-bad6-47c2-8913-d9a87307f7f0
|
||||||
framebufferDepthMemorylessMode: 0
|
framebufferDepthMemorylessMode: 0
|
||||||
qualitySettingsNames: []
|
qualitySettingsNames: []
|
||||||
projectName: ToothyV
|
projectName: ToothyV
|
||||||
organizationId: asuranimation
|
organizationId: shaviragirls
|
||||||
cloudEnabled: 0
|
cloudEnabled: 0
|
||||||
legacyClampBlendShapeWeights: 0
|
legacyClampBlendShapeWeights: 0
|
||||||
playerDataPath:
|
playerDataPath:
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue