create pretest and post test features and display username and password in profile

This commit is contained in:
Shavira 2025-05-29 09:16:46 +07:00
parent 61346c0039
commit 14825b06a0
59 changed files with 11242 additions and 59 deletions

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 148e6b86f3b2b254794913576b5500e1
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: f7f36eb0264ad2c40b56726bd4c4d9b6
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,24 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 31b9fba0680987640ade1fdf5d7d7a95, type: 3}
m_Name: Quis Kesehatan Gigi 1
m_EditorClassIdentifier:
question: Berapa jumlah gigi susu yang dimiliki anak-anak?
imageQuestion: {fileID: 0}
answers:
- '16 '
- '32 '
- '28 '
- '20 '
answerIndex: 3
nextSceneName:
isMateriKesehatanGigi: 1

View File

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

View File

@ -0,0 +1,24 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 31b9fba0680987640ade1fdf5d7d7a95, type: 3}
m_Name: Quis Kesehatan Gigi 2
m_EditorClassIdentifier:
question: Kapan waktu yang tepat untuk menggosok gigi?
imageQuestion: {fileID: 0}
answers:
- Setelah sarapan dan sebelum tidur
- Setelah makan malam dan sebelum tidur
- Setelah sarapan dan sebelum makan
- Setelah bangun tidur
answerIndex: 0
nextSceneName:
isMateriKesehatanGigi: 1

View File

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

View File

@ -0,0 +1,24 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 31b9fba0680987640ade1fdf5d7d7a95, type: 3}
m_Name: Quis Kesehatan Gigi 3
m_EditorClassIdentifier:
question: 'Apa nama gigi yang tumbuh setelah gigi susu copot? '
imageQuestion: {fileID: 0}
answers:
- Gigi premolar
- Gigi taring
- Gigi permanen
- Gigi susu
answerIndex: 2
nextSceneName:
isMateriKesehatanGigi: 1

View File

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

View File

@ -0,0 +1,24 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 31b9fba0680987640ade1fdf5d7d7a95, type: 3}
m_Name: Quis Kesehatan Gigi 4
m_EditorClassIdentifier:
question: Apa fungsi fluoride dalam pasta gigi?
imageQuestion: {fileID: 0}
answers:
- Memperkuat gigi dan melawan kuman
- Memberi rasa manis
- Membuat gigi menjadi warna-warni
- 'Gigi tumbuh lebih cepat '
answerIndex: 0
nextSceneName:
isMateriKesehatanGigi: 1

View File

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

View File

@ -0,0 +1,24 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 31b9fba0680987640ade1fdf5d7d7a95, type: 3}
m_Name: Quis Kesehatan Gigi 5
m_EditorClassIdentifier:
question: Mengapa penting menyikat gigi sampai bagian dalam?
imageQuestion: {fileID: 0}
answers:
- Karena gigi bagian dalam juga bisa berlubang
- Supaya gigi depan lebih putih
- Karena hanya itu yang terlihat
- 'Mengilapkan gigi seperti cermin '
answerIndex: 0
nextSceneName:
isMateriKesehatanGigi: 1

View File

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

View File

@ -0,0 +1,24 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 31b9fba0680987640ade1fdf5d7d7a95, type: 3}
m_Name: Quis Penyakit Gigi 1
m_EditorClassIdentifier:
question: Apa penyebab utama gigi berlubang?
imageQuestion: {fileID: 0}
answers:
- Jarang makan sayur
- Jarang minum air putih
- Jarang sikat gigi dan banyak makan makanan manis
- Jarang makan buah
answerIndex: 2
nextSceneName:
isMateriKesehatanGigi: 0

View File

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

View File

@ -0,0 +1,24 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 31b9fba0680987640ade1fdf5d7d7a95, type: 3}
m_Name: Quis Penyakit Gigi 2
m_EditorClassIdentifier:
question: Berapa kali sebaiknya kita sikat gigi dalam sehari?
imageQuestion: {fileID: 0}
answers:
- 6 kali
- 5 kali
- 1 kali
- 2 kali
answerIndex: 3
nextSceneName:
isMateriKesehatanGigi: 0

View File

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

View File

@ -0,0 +1,24 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 31b9fba0680987640ade1fdf5d7d7a95, type: 3}
m_Name: Quis Penyakit Gigi 3
m_EditorClassIdentifier:
question: Apa penyakit mulut yang menyebabkan luka perih saat makan?
imageQuestion: {fileID: 0}
answers:
- Sariawan
- Bau mulut
- Gusi berdarah
- Gigi Berlubang
answerIndex: 0
nextSceneName:
isMateriKesehatanGigi: 0

View File

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

View File

@ -0,0 +1,24 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 31b9fba0680987640ade1fdf5d7d7a95, type: 3}
m_Name: Quis Penyakit Gigi 4
m_EditorClassIdentifier:
question: Mengapa plak gigi berbahaya jika tidak dibersihkan?
imageQuestion: {fileID: 0}
answers:
- Bisa berubah jadi karang gigi yang keras
- Membuat gigi lebih putih
- Membuat gusi kuat
- Membuat Gigi Kotor
answerIndex: 0
nextSceneName:
isMateriKesehatanGigi: 0

View File

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

150
Assets/PostTestMenu.cs Normal file
View File

@ -0,0 +1,150 @@
using System.Collections;
using System.Collections.Generic;
using System.Threading.Tasks;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
public class PostTestMenu : Menu<PostTestMenu>
{
[Header("Questions")]
[SerializeField] TextMeshProUGUI questionText;
[SerializeField] List<QuestionSO> questions = new List<QuestionSO>();
[SerializeField] GameObject[] answerButtons;
[Header("UI")]
[SerializeField] TextMeshProUGUI timerText;
[Header("Settings")]
[SerializeField] float timeToComplete = 30f;
[SerializeField] float timeToShowAnswer = 10f;
float timer;
bool isAnswering = true;
bool hasAnsweredEarly = false;
int correctAnswerIndex;
QuestionSO currentQuestion;
bool isComplete = false;
SaveData saveData;
int correctAnswers = 0;
int totalQuestions = 9;
private async void OnEnable()
{
LoadRandomQuestion();
await LoadAndRefresh();
}
private async Task LoadAndRefresh()
{
saveData = await Cloudsave.LoadData<SaveData>("DataPlayer");
}
void Update()
{
if (isComplete) return;
timer -= Time.deltaTime;
int minutes = Mathf.FloorToInt(timer / 60);
int seconds = Mathf.FloorToInt(timer % 60);
timerText.text = string.Format("{0:00}:{1:00}", minutes, seconds);
if (isAnswering && timer <= 0f)
{
ShowCorrectAnswer();
}
else if (!isAnswering && timer <= 0f)
{
LoadNextQuestion();
}
}
async void LoadRandomQuestion()
{
if (questions.Count == 0)
{
await EndGame();
return;
}
int index = Random.Range(0, questions.Count);
currentQuestion = questions[index];
questions.RemoveAt(index);
questionText.text = currentQuestion.question;
for (int i = 0; i < answerButtons.Length; i++)
{
TextMeshProUGUI buttonText = answerButtons[i].GetComponentInChildren<TextMeshProUGUI>();
buttonText.text = currentQuestion.GetAnswer(i);
answerButtons[i].GetComponent<Image>().color = Color.white;
answerButtons[i].GetComponent<Button>().interactable = true;
}
correctAnswerIndex = currentQuestion.answerIndex;
timer = timeToComplete;
isAnswering = true;
hasAnsweredEarly = false;
}
public void OnAnswerSelected(int index)
{
if (!isAnswering) return;
hasAnsweredEarly = true;
isAnswering = false;
timer = timeToShowAnswer;
foreach (GameObject btn in answerButtons)
{
btn.GetComponent<Button>().interactable = false;
}
Image selectedImage = answerButtons[index].GetComponent<Image>();
if (index == correctAnswerIndex)
{
correctAnswers++;
selectedImage.color = Color.green;
questionText.text = "Jawaban Benar!";
}
else
{
selectedImage.color = Color.black;
questionText.text = "Jawaban Salah";
}
saveData.postTestStatistik = (int)(((float)correctAnswers / totalQuestions) * 100f);
}
void ShowCorrectAnswer()
{
isAnswering = false;
timer = timeToShowAnswer;
foreach (GameObject btn in answerButtons)
{
btn.GetComponent<Button>().interactable = false;
}
questionText.text = "Waktu habis";
}
void LoadNextQuestion()
{
LoadRandomQuestion();
}
private async Task EndGame()
{
isComplete = true;
int finalScore = (int)(((float)correctAnswers / totalQuestions) * 100f);
saveData.postTestStatistik = finalScore;
await Cloudsave.SaveData(saveData, "DataPlayer");
MainMenu.Open();
}
}

View File

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

153
Assets/PreTestMenu.cs Normal file
View File

@ -0,0 +1,153 @@
using System.Collections.Generic;
using System.Threading.Tasks;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
using Random = UnityEngine.Random;
public class PreTestMenu : Menu<PreTestMenu>
{
[Header("Questions")]
[SerializeField] TextMeshProUGUI questionText;
[SerializeField] List<QuestionSO> questions = new List<QuestionSO>();
[SerializeField] GameObject[] answerButtons;
[Header("UI")]
[SerializeField] TextMeshProUGUI timerText;
[Header("Settings")]
[SerializeField] float timeToComplete = 30f;
[SerializeField] float timeToShowAnswer = 10f;
float timer;
bool isAnswering = true;
bool hasAnsweredEarly = false;
int correctAnswerIndex;
QuestionSO currentQuestion;
bool isComplete = false;
SaveData saveData;
int correctAnswers = 0;
int totalQuestions = 9;
private async void OnEnable()
{
await LoadAndRefresh();
LoadRandomQuestion();
}
private async Task LoadAndRefresh()
{
saveData = await Cloudsave.LoadData<SaveData>("DataPlayer");
saveData.isPreTestComplete = true;
}
void Update()
{
if (isComplete) return;
timer -= Time.deltaTime;
int minutes = Mathf.FloorToInt(timer / 60);
int seconds = Mathf.FloorToInt(timer % 60);
timerText.text = string.Format("{0:00}:{1:00}", minutes, seconds);
if (isAnswering && timer <= 0f)
{
ShowCorrectAnswer();
}
else if (!isAnswering && timer <= 0f)
{
LoadNextQuestion();
}
}
async void LoadRandomQuestion()
{
if (questions.Count == 0)
{
await EndGame();
return;
}
int index = Random.Range(0, questions.Count);
currentQuestion = questions[index];
questions.RemoveAt(index);
questionText.text = currentQuestion.question;
for (int i = 0; i < answerButtons.Length; i++)
{
TextMeshProUGUI buttonText = answerButtons[i].GetComponentInChildren<TextMeshProUGUI>();
buttonText.text = currentQuestion.GetAnswer(i);
answerButtons[i].GetComponent<Image>().color = Color.white;
answerButtons[i].GetComponent<Button>().interactable = true;
}
correctAnswerIndex = currentQuestion.answerIndex;
timer = timeToComplete;
isAnswering = true;
hasAnsweredEarly = false;
}
public void OnAnswerSelected(int index)
{
if (!isAnswering) return;
hasAnsweredEarly = true;
isAnswering = false;
timer = timeToShowAnswer;
foreach (GameObject btn in answerButtons)
{
btn.GetComponent<Button>().interactable = false;
}
Image selectedImage = answerButtons[index].GetComponent<Image>();
if (index == correctAnswerIndex)
{
correctAnswers++;
selectedImage.color = Color.green;
questionText.text = "Jawaban Benar!";
}
else
{
selectedImage.color = Color.black;
questionText.text = "Jawaban Salah";
}
saveData.preTestStatistik = (int)(((float)correctAnswers / totalQuestions) * 100f);
}
void ShowCorrectAnswer()
{
isAnswering = false;
timer = timeToShowAnswer;
foreach (GameObject btn in answerButtons)
{
btn.GetComponent<Button>().interactable = false;
}
questionText.text = "Waktu habis";
}
void LoadNextQuestion()
{
LoadRandomQuestion();
}
private async Task EndGame()
{
isComplete = true;
int finalScore = (int)(((float)correctAnswers / totalQuestions) * 100f);
saveData.preTestStatistik = finalScore;
await Cloudsave.SaveData(saveData, "DataPlayer");
MainMenu.Open();
SelectLevel.Open();
}
}

View File

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

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

View File

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

File diff suppressed because it is too large Load Diff

View File

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

View File

@ -1414,8 +1414,8 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 525, y: -180}
m_SizeDelta: {x: 350, y: 100}
m_AnchoredPosition: {x: 522.758, y: -180}
m_SizeDelta: {x: 417.7296, y: 100}
m_Pivot: {x: 0, y: 0.5}
--- !u!222 &6656031382942894524
CanvasRenderer:
@ -2359,8 +2359,8 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 125, y: -180}
m_SizeDelta: {x: 350, y: 100}
m_AnchoredPosition: {x: 45.352783, y: -180}
m_SizeDelta: {x: 417.7296, y: 100}
m_Pivot: {x: 0, y: 0.5}
--- !u!222 &6656031384000762737
CanvasRenderer:
@ -2829,8 +2829,8 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 125, y: -60}
m_SizeDelta: {x: 350, y: 100}
m_AnchoredPosition: {x: 45.352783, y: -60}
m_SizeDelta: {x: 417.7296, y: 100}
m_Pivot: {x: 0, y: 0.5}
--- !u!222 &6656031384507987101
CanvasRenderer:
@ -3099,8 +3099,8 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 525, y: -60}
m_SizeDelta: {x: 350, y: 100}
m_AnchoredPosition: {x: 522.758, y: -60}
m_SizeDelta: {x: 417.7296, y: 100}
m_Pivot: {x: 0, y: 0.5}
--- !u!222 &6656031384673122407
CanvasRenderer:

View File

@ -76,6 +76,85 @@ MonoBehaviour:
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!1 &111553254451988261
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 423692219054571255}
- component: {fileID: 8196455824468203352}
- component: {fileID: 5042853172847534576}
m_Layer: 5
m_Name: Pasword
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &423692219054571255
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 111553254451988261}
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: 1560895651524149751}
- {fileID: 342807353292072371}
- {fileID: 6979301902131314372}
m_Father: {fileID: 5989088459606568522}
m_RootOrder: 3
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 90}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &8196455824468203352
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 111553254451988261}
m_CullTransparentMesh: 0
--- !u!114 &5042853172847534576
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 111553254451988261}
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: a6fc6d26c5ecb46bda1d412ea880ac5a, type: 3}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 2.6
--- !u!1 &860962329390977423
GameObject:
m_ObjectHideFlags: 0
@ -228,6 +307,82 @@ MonoBehaviour:
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!1 &1464890190223204991
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 3297699942982832524}
- component: {fileID: 8871281228902284480}
- component: {fileID: 4394074256844003427}
m_Layer: 5
m_Name: Inner Glow
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &3297699942982832524
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1464890190223204991}
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: 6184116753578752458}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &8871281228902284480
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1464890190223204991}
m_CullTransparentMesh: 0
--- !u!114 &4394074256844003427
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1464890190223204991}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0.799, g: 0.958, 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: 36ac48352a1534c0a8ea272586c70954, type: 3}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 2.6
--- !u!1 &1513592456116811480
GameObject:
m_ObjectHideFlags: 0
@ -266,6 +421,82 @@ RectTransform:
m_AnchoredPosition: {x: -142, y: 43}
m_SizeDelta: {x: 60, y: 60}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!1 &1908704443210674580
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1560895651524149751}
- component: {fileID: 5343498718621218695}
- component: {fileID: 6595871861745553212}
m_Layer: 5
m_Name: Inner Glow
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1560895651524149751
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1908704443210674580}
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: 423692219054571255}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &5343498718621218695
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1908704443210674580}
m_CullTransparentMesh: 0
--- !u!114 &6595871861745553212
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1908704443210674580}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0.799, g: 0.958, 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: 36ac48352a1534c0a8ea272586c70954, type: 3}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 2.6
--- !u!1 &2138083234640170915
GameObject:
m_ObjectHideFlags: 0
@ -342,6 +573,141 @@ MonoBehaviour:
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!1 &2396958038677153488
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 5381443265506474032}
- component: {fileID: 8625575654141408155}
- component: {fileID: 5700396118992272954}
m_Layer: 5
m_Name: Text
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &5381443265506474032
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2396958038677153488}
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: 6979301902131314372}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 46.86428, y: 0}
m_SizeDelta: {x: -93.7286, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &8625575654141408155
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2396958038677153488}
m_CullTransparentMesh: 0
--- !u!114 &5700396118992272954
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2396958038677153488}
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: 015573da50ed04390be9f20287a541d6, type: 2}
m_sharedMaterial: {fileID: -2237749729835323621, guid: 015573da50ed04390be9f20287a541d6, 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: 36
m_fontSizeBase: 36
m_fontWeight: 400
m_enableAutoSizing: 0
m_fontSizeMin: 18
m_fontSizeMax: 72
m_fontStyle: 0
m_HorizontalAlignment: 1
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: 0
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 1
m_enableExtraPadding: 1
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 &2696670409808967345
GameObject:
m_ObjectHideFlags: 0
@ -671,6 +1037,8 @@ MonoBehaviour:
m_EditorClassIdentifier:
namePlayer: {fileID: 5989088459531031757}
agePlayer: {fileID: 5989088459031437811}
passwordPlayer: {fileID: 5700396118992272954}
usernamePlayer: {fileID: 6371219621691764083}
dataKesehatanGigiImage: {fileID: 5989088458950881636}
dataPenyakitGigiImage: {fileID: 7238889675074438120}
dataKesehatanGigiText: {fileID: 5989088458163191664}
@ -1039,6 +1407,58 @@ RectTransform:
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!1 &3867260280900597872
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 555650987944692792}
- component: {fileID: 4965468529700703876}
m_Layer: 5
m_Name: Text Area
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &555650987944692792
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3867260280900597872}
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: 90432107727043591}
m_Father: {fileID: 6184116753578752458}
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: -0.5}
m_SizeDelta: {x: -100, y: -13}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &4965468529700703876
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3867260280900597872}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 3312d7739989d2b4e91e6319e9a96d76, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Padding: {x: 0, y: 0, z: 0, w: 0}
m_Softness: {x: 0, y: 0}
--- !u!1 &4764765854677235428
GameObject:
m_ObjectHideFlags: 0
@ -1349,11 +1769,11 @@ RectTransform:
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_AnchorMin: {x: 0.5, y: 0}
m_AnchorMax: {x: 0.5, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 260, y: 100}
m_Pivot: {x: 0.5, y: 0.5}
m_Pivot: {x: 0.5, y: 0}
--- !u!222 &920540867146194746
CanvasRenderer:
m_ObjectHideFlags: 0
@ -1448,6 +1868,85 @@ MonoBehaviour:
m_StringArgument:
m_BoolArgument: 0
m_CallState: 2
--- !u!1 &5814129683596211895
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6184116753578752458}
- component: {fileID: 368031201146382263}
- component: {fileID: 3794517484624002810}
m_Layer: 5
m_Name: UserName
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &6184116753578752458
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5814129683596211895}
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: 3297699942982832524}
- {fileID: 8197923424456991408}
- {fileID: 555650987944692792}
m_Father: {fileID: 5989088459606568522}
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 90}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &368031201146382263
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5814129683596211895}
m_CullTransparentMesh: 0
--- !u!114 &3794517484624002810
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5814129683596211895}
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: a6fc6d26c5ecb46bda1d412ea880ac5a, type: 3}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 2.6
--- !u!1 &5989088457677213986
GameObject:
m_ObjectHideFlags: 0
@ -6699,7 +7198,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: 14}
m_AnchoredPosition: {x: 0, y: 53}
m_SizeDelta: {x: 1200, y: 700.3953}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!95 &5989088458532923598
@ -9631,8 +10130,8 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_AnchoredPosition: {x: 46.86428, y: 0}
m_SizeDelta: {x: -93.7286, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &5989088459031437810
CanvasRenderer:
@ -9662,7 +10161,7 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: "\u200B"
m_text:
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 015573da50ed04390be9f20287a541d6, type: 2}
m_sharedMaterial: {fileID: -2237749729835323621, guid: 015573da50ed04390be9f20287a541d6, type: 2}
@ -9696,7 +10195,7 @@ MonoBehaviour:
m_fontSizeMin: 18
m_fontSizeMax: 72
m_fontStyle: 0
m_HorizontalAlignment: 2
m_HorizontalAlignment: 1
m_VerticalAlignment: 512
m_textAlignment: 65535
m_characterSpacing: 0
@ -13878,8 +14377,8 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_AnchoredPosition: {x: 46.86428, y: 0}
m_SizeDelta: {x: -93.7286, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &5989088459531031756
CanvasRenderer:
@ -13909,7 +14408,7 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: "\u200B"
m_text:
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 015573da50ed04390be9f20287a541d6, type: 2}
m_sharedMaterial: {fileID: -2237749729835323621, guid: 015573da50ed04390be9f20287a541d6, type: 2}
@ -13943,7 +14442,7 @@ MonoBehaviour:
m_fontSizeMin: 18
m_fontSizeMax: 72
m_fontStyle: 0
m_HorizontalAlignment: 2
m_HorizontalAlignment: 1
m_VerticalAlignment: 512
m_textAlignment: 65535
m_characterSpacing: 0
@ -14162,12 +14661,14 @@ RectTransform:
m_Children:
- {fileID: 5989088459442087852}
- {fileID: 5989088459438126831}
- {fileID: 6184116753578752458}
- {fileID: 423692219054571255}
m_Father: {fileID: 5989088458541418536}
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: 13, y: 234}
m_AnchoredPosition: {x: 13, y: 276}
m_SizeDelta: {x: 670, y: 200}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &5989088459606568525
@ -15834,6 +16335,345 @@ MonoBehaviour:
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 4.9
--- !u!1 &7291990549501624306
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6979301902131314372}
- component: {fileID: 6317754662872377932}
m_Layer: 5
m_Name: Text Area
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &6979301902131314372
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7291990549501624306}
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: 5381443265506474032}
m_Father: {fileID: 423692219054571255}
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: -0.5}
m_SizeDelta: {x: -100, y: -13}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &6317754662872377932
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7291990549501624306}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 3312d7739989d2b4e91e6319e9a96d76, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Padding: {x: 0, y: 0, z: 0, w: 0}
m_Softness: {x: 0, y: 0}
--- !u!1 &7475190579277651705
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 90432107727043591}
- component: {fileID: 6331724560355628772}
- component: {fileID: 6371219621691764083}
m_Layer: 5
m_Name: Text
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &90432107727043591
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7475190579277651705}
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: 555650987944692792}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 46.86428, y: 0}
m_SizeDelta: {x: -93.7286, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &6331724560355628772
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7475190579277651705}
m_CullTransparentMesh: 0
--- !u!114 &6371219621691764083
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7475190579277651705}
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: 015573da50ed04390be9f20287a541d6, type: 2}
m_sharedMaterial: {fileID: -2237749729835323621, guid: 015573da50ed04390be9f20287a541d6, 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: 36
m_fontSizeBase: 36
m_fontWeight: 400
m_enableAutoSizing: 0
m_fontSizeMin: 18
m_fontSizeMax: 72
m_fontStyle: 0
m_HorizontalAlignment: 1
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: 0
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 1
m_enableExtraPadding: 1
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 &7499864979966773000
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8197923424456991408}
- component: {fileID: 4953242685443836898}
- component: {fileID: 8629498916341466785}
m_Layer: 5
m_Name: icon
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &8197923424456991408
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7499864979966773000}
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: 6184116753578752458}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0.5}
m_AnchorMax: {x: 0, y: 0.5}
m_AnchoredPosition: {x: 50, y: 0}
m_SizeDelta: {x: 40, y: 40}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &4953242685443836898
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7499864979966773000}
m_CullTransparentMesh: 0
--- !u!114 &8629498916341466785
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7499864979966773000}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0.19215687, g: 0.654902, b: 0.8862745, 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: e816c5485193147a2a2823ae50dfa711, 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 &8239948818509904904
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 342807353292072371}
- component: {fileID: 1498276897722155659}
- component: {fileID: 8936974727615660324}
m_Layer: 5
m_Name: icon
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &342807353292072371
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8239948818509904904}
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: 423692219054571255}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0.5}
m_AnchorMax: {x: 0, y: 0.5}
m_AnchoredPosition: {x: 50, y: 0}
m_SizeDelta: {x: 40, y: 40}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &1498276897722155659
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8239948818509904904}
m_CullTransparentMesh: 0
--- !u!114 &8936974727615660324
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8239948818509904904}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0.19215687, g: 0.654902, b: 0.8862745, 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: ab30815065ec94a46b82a72c3423188a, 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 &8543482114639889965
GameObject:
m_ObjectHideFlags: 0

File diff suppressed because it is too large Load Diff

View File

@ -122,6 +122,107 @@ NavMeshSettings:
debug:
m_Flags: 0
m_NavMeshData: {fileID: 0}
--- !u!1 &154800206
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 154800210}
- component: {fileID: 154800209}
- component: {fileID: 154800208}
- component: {fileID: 154800207}
m_Layer: 5
m_Name: Canvas
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &154800207
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 154800206}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
m_Name:
m_EditorClassIdentifier:
m_IgnoreReversedGraphics: 1
m_BlockingObjects: 0
m_BlockingMask:
serializedVersion: 2
m_Bits: 4294967295
--- !u!114 &154800208
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 154800206}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
m_Name:
m_EditorClassIdentifier:
m_UiScaleMode: 0
m_ReferencePixelsPerUnit: 100
m_ScaleFactor: 1
m_ReferenceResolution: {x: 800, y: 600}
m_ScreenMatchMode: 0
m_MatchWidthOrHeight: 0
m_PhysicalUnit: 3
m_FallbackScreenDPI: 96
m_DefaultSpriteDPI: 96
m_DynamicPixelsPerUnit: 1
m_PresetInfoIsWorld: 0
--- !u!223 &154800209
Canvas:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 154800206}
m_Enabled: 1
serializedVersion: 3
m_RenderMode: 0
m_Camera: {fileID: 0}
m_PlaneDistance: 100
m_PixelPerfect: 0
m_ReceivesEvents: 1
m_OverrideSorting: 0
m_OverridePixelPerfect: 0
m_SortingBucketNormalizedSize: 0
m_VertexColorAlwaysGammaSpace: 0
m_AdditionalShaderChannelsFlag: 25
m_SortingLayerID: 0
m_SortingOrder: 0
m_TargetDisplay: 0
--- !u!224 &154800210
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 154800206}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0, y: 0, z: 0}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 6
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0, y: 0}
--- !u!1 &519420028
GameObject:
m_ObjectHideFlags: 0
@ -702,6 +803,8 @@ MonoBehaviour:
popUpQuestionPrefab: {fileID: 7284241765694688841, guid: efc615e7a3f143647ac781132ddebcae, type: 3}
gameOverPrefab: {fileID: 3108861017409193441, guid: 24cc2bd43e2441a46bb4a5bf7b3ef088, type: 3}
auntMenuPrefabs: {fileID: 2300231812597875134, guid: b706950de544ddf468110fd6f167f06e, type: 3}
preTestMenuPrefabs: {fileID: 5617056066621529306, guid: 14b0f36ab5ec0b944a6fb82cc67f20ad, type: 3}
postTestMenuPrefabs: {fileID: 2121418773813650335, guid: 01fc3f8c5b29e8e488e1875d7633472e, type: 3}
menuParent: {fileID: 0}
--- !u!4 &2008949262
Transform:

View File

@ -135,6 +135,8 @@ public class AuntMenu : Menu<AuntMenu>
SaveData dataToSave = new SaveData();
dataToSave.playerName = nameFieldRegister.text;
dataToSave.agePlayer = AgeRegister;
dataToSave.username = usernameRegister;
dataToSave.password = paswordRegister;
await Cloudsave.SaveData(dataToSave, "DataPlayer");
}

View File

@ -8,16 +8,22 @@ public class SaveData
{
public string fileName = "SaveData";
public string playerName;
public string username;
public string password;
private readonly string defaultPlayerName = "Player";
public string agePlayer;
public int unlockLevel;
public bool isPreTestComplete;
public float kesehatanGigiStatistik;
public float PenyakitGigiStatistik;
public float preTestStatistik;
public float postTestStatistik;
public bool[] isQuisKesehatanGigiComplete = new bool[5];
public bool[] isQuisPenyakitGigiComplete= new bool[4];
public SaveData()
{
playerName = defaultPlayerName;
@ -25,7 +31,8 @@ public class SaveData
unlockLevel = 1;
kesehatanGigiStatistik = 0;
PenyakitGigiStatistik = 0;
username = "";
password = "";
for (int i = 0; i < isQuisKesehatanGigiComplete.Length; i++)
{
isQuisKesehatanGigiComplete[i] = false;

View File

@ -11,5 +11,7 @@ public class GameManager : MonoBehaviour
public int indexQuestion;
public int levelCurrentIndex;
public int indexPreTest;
}

View File

@ -15,5 +15,6 @@ public class QuestionSO : ScriptableObject
public string nextSceneName;
public bool isMateriKesehatanGigi;
public string GetAnswer(int index) => answers[index];
}

View File

@ -20,6 +20,8 @@ public class MenuManager : MonoBehaviour
[SerializeField] private QuizPopUp popUpQuestionPrefab;
[SerializeField] private GameOver gameOverPrefab;
[SerializeField] private AuntMenu auntMenuPrefabs;
[SerializeField] private PreTestMenu preTestMenuPrefabs;
[SerializeField] private PostTestMenu postTestMenuPrefabs;
private Stack<Menu> menuStack = new Stack<Menu>();

View File

@ -10,7 +10,7 @@ public class ProfileMenu : Menu<ProfileMenu>
private SaveData saveData;
[SerializeField] private TextMeshProUGUI namePlayer, agePlayer;
[SerializeField] private TextMeshProUGUI passwordPlayer , usernamePlayer;
[SerializeField] private Image dataKesehatanGigiImage;
[SerializeField] private Image dataPenyakitGigiImage;
@ -32,8 +32,10 @@ public class ProfileMenu : Menu<ProfileMenu>
return;
}
namePlayer.text = saveData.playerName;
agePlayer.text = saveData.agePlayer + " Tahun";
namePlayer.text = "Nama = " + saveData.playerName;
agePlayer.text = "Usia = " + saveData.agePlayer + " Tahun";
passwordPlayer.text = "Pasword = " + saveData.password;
usernamePlayer.text = "Username = " + saveData.username;
dataKesehatanGigiImage.fillAmount = (float)saveData.kesehatanGigiStatistik / 100f;
dataPenyakitGigiImage.fillAmount = (float)saveData.PenyakitGigiStatistik / 100f;

View File

@ -21,6 +21,7 @@ public class QuizPopUp : Menu<QuizPopUp>
bool hasAnsweredEarly;
[Header("Timer")]
[SerializeField] Image timerImage;
[SerializeField] TextMeshProUGUI timerText;
public GameManager gameManager;
@ -63,7 +64,6 @@ public class QuizPopUp : Menu<QuizPopUp>
private void OnDisable()
{
// Reset question and timer state
isAnsweringQuestion = false;
hasAnsweredEarly = false;
loadNextQuestion = false;
@ -71,20 +71,17 @@ public class QuizPopUp : Menu<QuizPopUp>
fillFraction = 1f;
timerValue = 0f;
// Reset question text
questionText.text = "";
// Reset all button colors and enable them
for (int i = 0; i < answerButtons.Length; i++)
{
Button button = answerButtons[i].GetComponent<Button>();
button.interactable = true;
Image buttonImage = answerButtons[i].GetComponent<Image>();
buttonImage.color = Color.white; // ganti ke warna default
buttonImage.color = Color.white;
}
// Reset timer UI
if (timerImage != null)
{
timerImage.fillAmount = 1f;
@ -189,11 +186,9 @@ public class QuizPopUp : Menu<QuizPopUp>
if (index == currentQuestion.answerIndex)
{
//implement sound
questionText.text = "Jawaban Benar!";
buttonImage = answerButtons[index].GetComponent<Image>();
buttonImage.sprite = trueAnswerSprite;
// implement score ++;
isComplete = true;
DelayAfterAnswerTrue();

View File

@ -17,6 +17,8 @@ public class SelectLevel : Menu<SelectLevel>
[SerializeField] private Sprite lockedSprite;
[SerializeField] private Sprite currentSprite;
[SerializeField] private GameObject infolockPostTest;
private SaveData saveData;
private async void OnEnable()
@ -31,6 +33,24 @@ public class SelectLevel : Menu<SelectLevel>
RefreshButtonsUnlockProgress();
}
public void OpenPretest()
{
PreTestMenu.Open();
}
public void OpenPostTest()
{
if (indexUnlock == 10)
{
PostTestMenu.Open();
}
else
{
infolockPostTest.SetActive(true);
Debug.Log("Selesaikan Dulu");
}
}
void RefreshButtonsUnlockProgress()
{
indexUnlock = saveData.unlockLevel;
@ -59,6 +79,25 @@ public class SelectLevel : Menu<SelectLevel>
buttons[i].interactable = false;
}
}
CheckPreTest();
}
private void CheckPreTest()
{
if (!saveData.isPreTestComplete)
{
Image imgSprite = buttons[0].GetComponent<Image>();
imgSprite.sprite = lockedSprite;
buttons[0].interactable = false;
}
else
{
Image imgSprite = buttons[0].GetComponent<Image>();
imgSprite.sprite = currentSprite;
buttons[0].interactable = true;
}
}
void RefreshContainer()