MIF_E31230101/Assets/Script Manager/EndingManager.cs

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);
}
}