using System.Collections; using System.Collections.Generic; using System.Linq; using TMPro; using UnityEngine; using UnityEngine.UI; public class Test : MonoBehaviour { [Header("Daftar Pertanyaan")] public List daftarPertanyaan; [Header("UI Komponen")] public List textPertanyaanList; public List toggleJawabanList; public GameObject questionBox; public GameObject questionBox2; public GameObject questionBox3; public GameObject movementBlock; public ToggleGroup toggleGroup; public List collectedJawaban = new List(); private List pertanyaanTeracak; private void Awake() { } // Start is called before the first frame update void Start() { // Acak pertanyaan saja pertanyaanTeracak = daftarPertanyaan.OrderBy(q => Random.value).ToList(); // Tampilkan pertanyaan dan jawaban (jawaban tidak diacak) for (int i = 0; i < textPertanyaanList.Count && i < pertanyaanTeracak.Count; i++) { var pertanyaan = pertanyaanTeracak[i]; // Set teks pertanyaan textPertanyaanList[i].text = pertanyaan.pertanyaan; // Tidak mengacak jawaban var jawaban = pertanyaan.jawaban; // Set teks jawaban ke Toggle var toggleGroup = toggleJawabanList[i].toggles; for (int j = 0; j < toggleGroup.Count && j < jawaban.Count; j++) { toggleGroup[j].GetComponentInChildren().text = jawaban[j]; } } } // Update is called once per frame void Update() { } public void QuestionsBox() { questionBox.SetActive(true); } public void SubmitButton() { Toggle toggle = toggleGroup.ActiveToggles().FirstOrDefault(); if (toggle != null) { string jawabanUser = toggle.GetComponentInChildren().text; Debug.Log("Jawaban user: " + jawabanUser); // Cari pertanyaan aktif berdasarkan text pertanyaan string teksPertanyaanAktif = textPertanyaanList[0].text; Questions pertanyaanAktif = pertanyaanTeracak .FirstOrDefault(q => q.pertanyaan == teksPertanyaanAktif); if (pertanyaanAktif != null) { // Contoh perbandingan jawaban if (jawabanUser == pertanyaanAktif.jawabanBenar) { Debug.Log("Jawaban Benar: " + pertanyaanAktif.jawabanBenar + ", true"); collectedJawaban.Add(1); } else { Debug.Log("Jawaban Benar: " + pertanyaanAktif.jawabanBenar + ", false"); collectedJawaban.Add(2); } } else { Debug.LogWarning("Pertanyaan aktif tidak ditemukan!"); } } questionBox.SetActive(false); movementBlock.SetActive(false); } public void ShowQuestion(int index) { if (index < pertanyaanTeracak.Count) { var pertanyaan = pertanyaanTeracak[index]; questionBox.SetActive(true); movementBlock.SetActive(true); // Set text pertanyaan textPertanyaanList[0].text = pertanyaan.pertanyaan; // Set jawaban ke Toggle var jawaban = pertanyaan.jawaban; var toggleGroup = toggleJawabanList[0].toggles; for (int j = 0; j < toggleGroup.Count && j < jawaban.Count; j++) { toggleGroup[j].GetComponentInChildren().text = jawaban[j]; } } } }