75 lines
2.3 KiB
C#
75 lines
2.3 KiB
C#
using UnityEngine;
|
|
using TMPro;
|
|
using UnityEngine.SceneManagement;
|
|
|
|
public class EndingManager : MonoBehaviour
|
|
{
|
|
[Header("UI Text Komponen")]
|
|
public TextMeshProUGUI txtSkorPoin;
|
|
public TextMeshProUGUI txtSkorSopan;
|
|
public TextMeshProUGUI txtPredikat;
|
|
public TextMeshProUGUI txtSaran;
|
|
|
|
[Header("Pengaturan Navigasi")]
|
|
public string namaSceneMainMenu = "Main Menu";
|
|
public string namaSceneMenuLevel = "Scene_MenuLevel";
|
|
|
|
private void Start()
|
|
{
|
|
// Ambil data skor dari level terakhir.
|
|
int poin = PlayerPrefs.GetInt("SkorFinalPoin", 0);
|
|
int sopan = PlayerPrefs.GetInt("SkorFinalSopan", 100);
|
|
|
|
// Tampilkan skor ke UI.
|
|
if (txtSkorPoin != null)
|
|
txtSkorPoin.text = "Poin Game: " + poin;
|
|
|
|
if (txtSkorSopan != null)
|
|
txtSkorSopan.text = "Skor Kesopanan: " + sopan;
|
|
|
|
// Tentukan predikat berdasarkan skor kesopanan.
|
|
TampilkanPredikat(sopan);
|
|
}
|
|
|
|
private void TampilkanPredikat(int sopan)
|
|
{
|
|
if (txtPredikat == null || txtSaran == null) return;
|
|
|
|
if (sopan >= 220)
|
|
{
|
|
txtPredikat.text = "PREDIKAT: ANAK SANGAT SANTUN";
|
|
txtPredikat.color = Color.green;
|
|
txtSaran.text = "Luar biasa! Salim sudah bersikap sopan di rumah, sekolah, dan tempat umum.";
|
|
}
|
|
else if (sopan >= 140)
|
|
{
|
|
txtPredikat.text = "PREDIKAT: ANAK BAIK DAN SOPAN";
|
|
txtPredikat.color = Color.blue;
|
|
txtSaran.text = "Bagus! Salim sudah belajar berbicara sopan dan peduli kepada orang lain.";
|
|
}
|
|
else
|
|
{
|
|
txtPredikat.text = "PREDIKAT: PERLU BELAJAR LAGI";
|
|
txtPredikat.color = Color.red;
|
|
txtSaran.text = "Ayo belajar lagi. Biasakan menyapa, meminta izin, dan berbicara sopan ya.";
|
|
}
|
|
}
|
|
|
|
// Tombol kembali ke Main Menu.
|
|
public void KeMenuUtama()
|
|
{
|
|
SceneManager.LoadScene(namaSceneMainMenu);
|
|
}
|
|
|
|
// Tombol kembali ke Menu Level RPG.
|
|
public void KeMenuLevel()
|
|
{
|
|
SceneManager.LoadScene(namaSceneMenuLevel);
|
|
}
|
|
|
|
// Fungsi umum kalau ingin pindah ke scene lain lewat Inspector.
|
|
public void PindahScene(string namaScene)
|
|
{
|
|
SceneManager.LoadScene(namaScene);
|
|
}
|
|
} |