using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.SceneManagement; using UnityEngine.UI; using UnityEngine.EventSystems; public class Quest : MonoBehaviour { public Text soalText; public Text[] jawabanTexts; public int[] randomJawabans; public ControlQuest[] controlQuest; public static int nomorQuest; int nomorSoal; [Tooltip("GameRound mengikuti nilai array 0=1 1=2")] public int GameRound; public GameObject panelHasil; public int[] randomSoals; [Header("Point")] public Text pointText; public int point; public static int totalPoint; public Text textPointGame; [Header("Timer")] public int increaseTime; public int decreaseTime; public Slider timerSlider; [Header("Power Up")] int nomorJawabanBenar; public Button[] powerUps; [Header("Soal Image")] public Image imageSoal; public Button[] buttonJawabans; void Start() { textPointGame.text = totalPoint.ToString(); totalPoint = 0; Debug.Log(TimerGame.isStop + " isStop"); RandomNomerSoal(); GenerateQuest(); } void Update() { } public void ButtonPowerUpTrueAnswer() { powerUps[1].interactable = false; for (int i = 0; i < jawabanTexts.Length; i++) { if (jawabanTexts[i].text == controlQuest[nomorQuest].soals[randomSoals[nomorSoal]].elementSoal.jawabans[controlQuest[nomorQuest].soals[randomSoals[nomorSoal]].elementSoal.jawabanBenar]) { Debug.Log(i + "nomor benar"); nomorJawabanBenar = i; break; } } for (int i = 0; i < jawabanTexts.Length; i++) { if (i != nomorJawabanBenar) { jawabanTexts[i].transform.parent.gameObject.SetActive(false); } } } public void ButtonPowerUpFifty() { powerUps[0].interactable = false; for (int i = 0; i < jawabanTexts.Length; i++) { if (jawabanTexts[i].text == controlQuest[nomorQuest].soals[randomSoals[nomorSoal]].elementSoal.jawabans[controlQuest[nomorQuest].soals[randomSoals[nomorSoal]].elementSoal.jawabanBenar]) { Debug.Log(i + "nomor benar"); nomorJawabanBenar = i; break; } } Debug.Log("break"); if (nomorJawabanBenar - 1 <= 0) { jawabanTexts[jawabanTexts.Length - 1].transform.parent.gameObject.SetActive(false); } else { jawabanTexts[nomorJawabanBenar - 1].transform.parent.gameObject.SetActive(false); } if (nomorJawabanBenar + 1 >= jawabanTexts.Length) { jawabanTexts[0].transform.parent.gameObject.SetActive(false); } else { jawabanTexts[nomorJawabanBenar + 1].transform.parent.gameObject.SetActive(false); } } void RandomNomerSoal() { for (int i = 0; i < randomSoals.Length; i++) { int a = randomSoals[i]; int b = Random.Range(0, randomSoals.Length); randomSoals[i] = randomSoals[b]; randomSoals[b] = a; } } void RandomNomerJawaban() { for (int i = 0; i < randomJawabans.Length; i++) { int a = randomJawabans[i]; int b = Random.Range(0, randomJawabans.Length); randomJawabans[i] = randomJawabans[b]; randomJawabans[b] = a; } } void GenerateQuest() { RandomNomerJawaban(); RandomNomerSoal(); soalText.text = controlQuest[nomorQuest].soals[randomSoals[nomorSoal]].elementSoal.soal; imageSoal.sprite = controlQuest[nomorQuest].soals[randomSoals[nomorSoal]].elementSoal.spriteSoal; for (int i = 0; i < buttonJawabans.Length; i++) { jawabanTexts[i].transform.parent.gameObject.SetActive(true); jawabanTexts[i].text = controlQuest[nomorQuest].soals[randomSoals[nomorSoal]].elementSoal.jawabans[randomJawabans[i]]; buttonJawabans[i].image.sprite = controlQuest[nomorQuest].soals[randomSoals[nomorSoal]].elementSoal.spriteJawabans[randomJawabans[i]]; } } public void ButtonJawabanSoal() { Text currentJawaban = EventSystem.current.currentSelectedGameObject.transform.GetChild(0).GetComponent(); if (currentJawaban.text == controlQuest[nomorQuest].soals[randomSoals[nomorSoal]].elementSoal.jawabans[controlQuest[nomorQuest].soals[randomSoals[nomorSoal]].elementSoal.jawabanBenar]) { Debug.Log("benar"); /* if (nomorSoal == GameRound) { panelHasil.transform.GetChild(1).GetComponent().text = "Selamat. semua soal telah Terjawab!"; panelHasil.transform.GetChild(2).gameObject.SetActive(false); } */ totalPoint += point; timerSlider.value += increaseTime; } else { Debug.Log("salah"); //panelHasil.transform.GetChild(1).GetComponent().text = "Ayo Coba Lagi!"; //panelHasil.transform.GetChild(2).gameObject.SetActive(false); if (totalPoint >= 0) { } totalPoint += point / 2; timerSlider.value -= decreaseTime; } Sprite spriteJawaban = EventSystem.current.currentSelectedGameObject.GetComponent