using UnityEngine; using UnityEngine.UI; using UnityEngine.SceneManagement; public class LevelSelector : MonoBehaviour { // Array Button level (1-6). Assign di Inspector sesuai urutan level. public Button[] levelButtons; // Sprite untuk kondisi "unlocked" (tiap level punya sprite berbeda). // Misalnya unlockedSprites[0] untuk level 1, unlockedSprites[1] untuk level 2, dst. public Sprite[] unlockedSprites; // Sprite untuk kondisi "locked" (bisa satu sprite yang sama untuk semua level). public Sprite lockedSprite; private void Start() { // Ambil info level tertinggi yang sudah terbuka, default = 1 int maxLevelUnlocked = PlayerPrefs.GetInt("maxLevelUnlocked", 1); // Atur setiap tombol level for (int i = 0; i < levelButtons.Length; i++) { int levelNumber = i + 1; // karena index mulai dari 0, level mulai dari 1 if (levelNumber <= maxLevelUnlocked) { // Level ini unlocked levelButtons[i].image.sprite = unlockedSprites[i]; // sprite unlocked levelButtons[i].interactable = true; } else { // Level ini masih locked levelButtons[i].image.sprite = lockedSprite; // sprite lock levelButtons[i].interactable = false; } } } // Fungsi untuk dipanggil oleh OnClick tiap tombol level public void SelectLevel(int level) { // Pastikan level ini tidak melebihi maxLevelUnlocked int maxLevelUnlocked = PlayerPrefs.GetInt("maxLevelUnlocked", 1); if (level <= maxLevelUnlocked) { PlayerPrefs.SetInt("selectedLevel", level); SceneManager.LoadScene("Quest2 2"); // Ganti dengan nama scene quest Anda } else { Debug.Log("Level " + level + " masih terkunci!"); } } }