Kernel60Hz
Decapat
- Katılım
- 22 Nisan 2023
- Mesajlar
- 221
- Çözümler
- 1
Daha fazla
- Cinsiyet
- Erkek
Bu kodda QnA kısmındaki element 0'da şarkı çalmıyor şarkı çalmaya element 1'den başlatıyor.
C#:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using TMPro;
using UnityEngine.SceneManagement;
public class QuizManager : MonoBehaviour
{
public List<QnA> qna;
public GameObject[] options;
public int currentQuestion;
public GameObject Quizpanel;
public GameObject GoPanel;
[SerializeField] private TMP_Text QuestionTxt;
[SerializeField] private TMP_Text ScoreTxt;
public AudioSource audioSource;
public List<AudioClip> songs;
int totalQuestions = 0;
public int score;
private void Start()
{
totalQuestions = qna.Count;
GoPanel.SetActive(false);
currentQuestion = 0;
generateQuestion();
}
public void Retry()
{
SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex);
}
public void Menu()
{
SceneManager.LoadScene(0);
}
void GameOver()
{
Quizpanel.SetActive(false);
GoPanel.SetActive(true);
ScoreTxt.text = score + "/" + totalQuestions;
}
public void correct()
{
score += 1;
qna.RemoveAt(currentQuestion);
PlayNextSong();
if (qna.Count == 0)
{
GameOver();
}
else
{
generateQuestion();
}
}
public void wrong()
{
qna.RemoveAt(currentQuestion);
PlayNextSong();
if (qna.Count == 0)
{
GameOver();
}
else
{
generateQuestion();
}
}
void SetAnswers()
{
for (int i = 0; i < options.Length; i++)
{
options[i].GetComponent<AnswerScript>().isCorrect = false;
options[i].transform.GetChild(0).GetComponent<TMP_Text>().text = qna[currentQuestion].Answers[i];
if (qna[currentQuestion].CorrectAnswer == i + 1)
{
options[i].GetComponent<AnswerScript>().isCorrect = true;
}
}
}
void PlayNextSong()
{
if (songs.Count > 0)
{
audioSource.Stop();
audioSource.clip = songs[0];
audioSource.Play();
songs.RemoveAt(0);
}
}
void generateQuestion()
{
if (qna.Count > 0)
{
if (currentQuestion < qna.Count)
{
QuestionTxt.text = qna[currentQuestion].Question;
SetAnswers();
}
else
{
Debug.Log("Sorular Bitti");
GameOver();
}
}
}
}