Sie sind auf Seite 1von 7

using System.

Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using System.Linq;
using UnityEngine.SceneManagement;

public class GameManager : MonoBehaviour


{
public Question[] questions;

private static List<Question> unansweredQuestions;

private Question currentQuestion;

private int score;

public float startTime;

private float currentTime = 0f;

private string gamelevel;

private int randomQuestionIndex;

private int lastQuestionIndex;

AudioSource wrongbutton;

[SerializeField]
private GameObject endGameMenu;

[SerializeField]
private Text endScoreText;

[SerializeField]
private Text scoreText;

[SerializeField]
private Text timerText;

[SerializeField]
private Text answer1;

[SerializeField]
private Text answer2;

[SerializeField]
private Text answer3;

[SerializeField]
private float delayPerQuestions;

[SerializeField]
private GameObject check;

[SerializeField]
private GameObject x;
[SerializeField]
private GameObject WrongAudio;

[SerializeField]
private GameObject CorrectAudio;

void Start()
{

if (startTime == 0f)
{
startTime = PlayerPrefs.GetFloat("GameDificultyGTI");
}

Time.timeScale = 1f;

unansweredQuestions = questions.ToList<Question>();

SetCurrentQuestion();

void Update()
{
startTime -= 1 * Time.deltaTime;
timerText.text = "TIME: " + startTime.ToString("0");

if (startTime <= 0f) {


GameDone();
}
}

public void GameDone()


{
Time.timeScale = 0f;
endGameMenu.SetActive(true);
endScoreText.text = "SCORE: " + score.ToString();

if (PlayerPrefs.GetFloat("GameDificultyGTI") == 30f)
{
PlayerPrefs.SetInt("GTIEasy", score);
}
else if (PlayerPrefs.GetFloat("GameDificultyGTI") == 20f)
{
PlayerPrefs.SetInt("GTIMedium", score);
}
else if (PlayerPrefs.GetFloat("GameDificultyGTI") == 10f) {
PlayerPrefs.SetInt("GTIHard", score);
}
}

void SetCurrentQuestion()
{

while (randomQuestionIndex == lastQuestionIndex) {


randomQuestionIndex = Random.Range(0, unansweredQuestions.Count);
}

currentQuestion = unansweredQuestions[randomQuestionIndex];

lastQuestionIndex = randomQuestionIndex;

currentQuestion.question.SetActive(true);

answer1.text = currentQuestion.answer1;
answer2.text = currentQuestion.answer2;
answer3.text = currentQuestion.answer3;

unansweredQuestions.RemoveAt(randomQuestionIndex);

IEnumerator TrasitionToNextQuestion()
{
//unansweredQuestions.Remove(currentQuestion);

yield return new WaitForSeconds(delayPerQuestions);

scoreText.text = "SCORE: " + score.ToString();

x.SetActive(false);
check.SetActive(false);
currentQuestion.question.SetActive(false);
WrongAudio.SetActive(false);
CorrectAudio.SetActive(false);
Start();
//SceneManager.LoadSceneAsync("GuessTheImage");

public void UserSelectedAnswer1()


{
if (currentQuestion.question.name == "HardDisk" )
{
WrongAudio.SetActive(true);
x.SetActive(true);
}
else if ( currentQuestion.question.name == "MotherBoard")
{
WrongAudio.SetActive(true);
x.SetActive(true);
}
else if ( currentQuestion.question.name == "PowerSupply")
{
CorrectAudio.SetActive(true);
check.SetActive(true);
score = score + 1;
}
else if ( currentQuestion.question.name == "Processor")
{
WrongAudio.SetActive(true);
x.SetActive(true);
}
else if ( currentQuestion.question.name == "Ram")
{
WrongAudio.SetActive(true);
x.SetActive(true);
}

StartCoroutine(TrasitionToNextQuestion());
}

public void UserSelectedAnswer2()


{
if ( currentQuestion.question.name == "HardDisk")
{
WrongAudio.SetActive(true);
x.SetActive(true);
}
else if ( currentQuestion.question.name == "MotherBoard")
{
CorrectAudio.SetActive(true);
check.SetActive(true);
score = score + 1;
}
else if ( currentQuestion.question.name == "PowerSupply")
{
WrongAudio.SetActive(true);
x.SetActive(true);
}
else if ( currentQuestion.question.name == "Processor")
{
CorrectAudio.SetActive(true);
check.SetActive(true);
score = score + 1;
}
else if ( currentQuestion.question.name == "Ram")
{
WrongAudio.SetActive(true);
x.SetActive(true);
}

StartCoroutine(TrasitionToNextQuestion());
}

public void UserSelectedAnswer3()


{
if (currentQuestion.question.name == "HardDisk")
{
CorrectAudio.SetActive(true);
check.SetActive(true);
score = score + 1;
}
else if ( currentQuestion.question.name == "MotherBoard")
{
WrongAudio.SetActive(true);
x.SetActive(true);
}
else if (currentQuestion.question.name == "PowerSupply")
{
WrongAudio.SetActive(true);
x.SetActive(true);
}
else if ( currentQuestion.question.name == "Processor")
{
WrongAudio.SetActive(true);
x.SetActive(true);
}
else if ( currentQuestion.question.name == "Ram")
{
CorrectAudio.SetActive(true);
check.SetActive(true);
score = score + 1;
}

StartCoroutine(TrasitionToNextQuestion());
}

public void PlayAgain()


{

SceneManager.LoadScene("GuessTheImage");

public void MainMenu()


{

SceneManager.LoadScene("LevelSelect");

}
}

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;

public class GTIMenu : MonoBehaviour


{

[SerializeField]
private Text GTIEasyScoretext;
[SerializeField]
private Text GTIMediumScoretext;
[SerializeField]
private Text GTIHardScoretext;

private int GTIEasyScore = 0;


private int GTIMediumScore = 0;
private int GTIHardScore = 0;

public void PlayGuessTheImageEasy()


{
PlayerPrefs.SetFloat("GameDificultyGTI", 30f);
SceneManager.LoadScene("GuessTheImage");
}

public void PlayGuessTheImageMedium()


{
PlayerPrefs.SetFloat("GameDificultyGTI", 20f);
SceneManager.LoadScene("GuessTheImage");
}

public void PlayGuessTheImageHard()


{
PlayerPrefs.SetFloat("GameDificultyGTI", 10f);
SceneManager.LoadScene("GuessTheImage");
}

public void BackButton()


{
SceneManager.LoadScene("Menu");
}

private void Update()


{
GTIEasyScore = PlayerPrefs.GetInt("GTIEasy");
GTIMediumScore= PlayerPrefs.GetInt("GTIMedium");
GTIHardScore = PlayerPrefs.GetInt("GTIHard");

GTIEasyScoretext.text = "HIGH SCORE: " + GTIEasyScore;


GTIMediumScoretext.text = "HIGH SCORE: " + GTIMediumScore;
GTIHardScoretext.text = "HIGH SCORE: " + GTIHardScore;
}
}

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;

public class MainMenu : MonoBehaviour


{
public void PlayGame()
{
SceneManager.LoadScene("LevelSelect");
}

public void QuityGame()


{
Application.Quit();
}
}

using UnityEngine;

[System.Serializable]
public class Question {

public GameObject question;


public string answer1;
public string answer2;
public string answer3;
}

Das könnte Ihnen auch gefallen