Question by
Nightcore8643 · Mar 08, 2021 at 10:04 PM ·
androidscore system
Score Keeps resetting
Hi! I am new to programming and l am making a quiz game but score keeps resets every time. I look at the brackeys serie and based on him. This is The code I have been coding.
using System.Collections; using System.Collections.Generic; using UnityEngine; using System.Linq; using UnityEngine.UI; using UnityEngine.SceneManagement;
public class GameManager : MonoBehaviour { public Question[] questions; private static List unansweredQuestions; private Question currentQuestion;
[SerializeField]
private Text factText;
[SerializeField]
private Text trueAnswerText;
[SerializeField]
private Text falseAnswerText;
[SerializeField]
private Animator animator;
[SerializeField]
private float timeBetweenQuestions = 1f;
[SerializeField]
public int pointsAddedForCorrectAnswer;
public Text scoreDisplayText;
private int playerScore;
void Start()
{
playerScore = 0;
if (unansweredQuestions == null || unansweredQuestions.Count == 0)
{
unansweredQuestions = questions.ToList<Question>();
}
SetCurrenQuestion();
}
void SetCurrenQuestion()
{
int randomQuestionIndex = Random.Range(0, unansweredQuestions.Count);
currentQuestion = unansweredQuestions[randomQuestionIndex];
factText.text=currentQuestion.fact;
if (currentQuestion.isTrue)
{
trueAnswerText.text = "DOĞRU";
falseAnswerText.text = "YANLIŞ";
}else
{
trueAnswerText.text = "YANLIŞ";
falseAnswerText.text = "DOĞRU";
}
}
IEnumerator TransitionToNextQuestion()
{
unansweredQuestions.Remove(currentQuestion);
yield return new WaitForSeconds(timeBetweenQuestions);
SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex);
}
public void UserSelectTrue()
{
animator.SetTrigger("True");
if (currentQuestion.isTrue)
{
Debug.Log("CORRECT!");
playerScore += pointsAddedForCorrectAnswer;
scoreDisplayText.text = "SKOR: " + playerScore.ToString();
}
else
{
Debug.Log("WRONG!");
playerScore += pointsAddedForCorrectAnswer;
scoreDisplayText.text = "SKOR: " + playerScore.ToString();
}
StartCoroutine(TransitionToNextQuestion());
}
public void UserSelectFalse()
{
animator.SetTrigger("False");
if (!currentQuestion.isTrue)
{
Debug.Log("CORRECT!");
}
else
{
Debug.Log("WRONG!");
}
StartCoroutine(TransitionToNextQuestion());
}
}
Comment