using System.Collections.Generic; using System.Linq; using System.Text.RegularExpressions; using UnityEngine; using UnityEngine.UI; using UnityEngine.SceneManagement; public class Quiz4Controller : MonoBehaviour { // References to answers private List answers; // References to answers halo prefabs private List answersHaloEffects; public Text counterText; public Text scoreText; public Text questionText; public Button btnNextQuestion; public GameObject haloEffect; public GameObject[] answerModels; private int scoreValue; private int questionIdx = 0; private const int initialScore = 0; private const int numberOfAnswers = 4; private const int scoreCorrectAnswer = 10; private const int scoreIncorrectAnswer = -10; private const int scoreForProfessorAtom = 10; private const float counterInitialValue = 90; private const float counterDisplayAnswersInitialValue = 1.5f; private float counterValue; private float counterDisplayAnswersValue; private bool counterDisplayAnswersStarted = false; // List of selected answers private List selectedAnswers; // List of questions and correct answers List questions = new List() { new Question("1. Neki od ovih prozora imaju 2-3 puta manje toplotnih gubitaka za razliku od drugih, koji su to?", new int[] {1, 4}, new Answer[] { new Answer(AnswerObjectModel.NOVI_PROZOR, "Novi prozor"), new Answer(AnswerObjectModel.STARI_PROZOR, "Stari prozor"), new Answer(AnswerObjectModel.SLOMLJENI_PROZOR, "Slomljeni prozor"), new Answer(AnswerObjectModel.PROZOR_SA_ROLETNOM, "Prozor sa roletnom")}), new Question("2. Na jedan od načina možete uštedjeti i do 10 litara vode po osobi dnevno, uz koji predmet?", new int[] {3, 4}, new Answer[] { new Answer(AnswerObjectModel.UPALJENA_CESMA, "Upaljena česma"), new Answer(AnswerObjectModel.PROZOR_SA_ROLETNOM, "Spuštene roletne"), new Answer(AnswerObjectModel.UGASENA_CESMA, "Ugašena česma"), new Answer(AnswerObjectModel.PROFESOR_ATOM_10, "Profesor Atom +10")}), new Question("3. Korištenjem jednog od sljedećih predmeta, u svjetlost se pretvara svega 5% uložene energije, dok se ostatak pretvara u toplotu, koji je to?", new int[] {1}, new Answer[]{ new Answer(AnswerObjectModel.ZARNA_SIJALICA, "Žarne sijalice"), new Answer(AnswerObjectModel.BICIKLO, "Biciklo"), new Answer(AnswerObjectModel.VENTILATOR, "Ventilator"), new Answer(AnswerObjectModel.KANTA_ZA_RECIKLIRANJE, "Kanta za recikliranje")}), new Question("4. Neki od navedenih predmeta uključeni u utičnicu, iako nisu u u funkciji, i dalje se znatno griju i troše električnu energiju.", new int[] {3}, new Answer[]{ new Answer(AnswerObjectModel.NOVI_PROZOR, "Prozor"), new Answer(AnswerObjectModel.KLIMA, "Klima"), new Answer(AnswerObjectModel.ADAPTER, "Adapter"), new Answer(AnswerObjectModel.MASINA_ZA_VES, "Veš mašina")}), new Question("5. Šta možemo ugraditi na radijatore da nam pomogne smanjiti troškove grijanja za 7-15%?", new int[] {1, 3}, new Answer[]{ new Answer(AnswerObjectModel.TERMOSTAT_25, "Termostat"), new Answer(AnswerObjectModel.PREKIDAC_ZA_SVJETLO, "Prekidač za svjetlo"), new Answer(AnswerObjectModel.PROFESOR_ATOM_10, "Profesor Atom +10"), new Answer(AnswerObjectModel.ADAPTER, "Adapter")}), new Question("6. Ako je vani temperatura 33°C, koja je optimalna temperatura u kući? ", new int[] {4}, new Answer[]{ new Answer(AnswerObjectModel.KUCICA_17, "Kućica 17°C"), new Answer(AnswerObjectModel.KUCICA_22, "Kućica 22°C"), new Answer(AnswerObjectModel.KUCICA_33, "Kućica 33°C"), new Answer(AnswerObjectModel.KUCICA_26, "Kućica 26°C")}), new Question("7. Kakvim načinom pranja posuđa, i uz koji uređaj od navedenih, trošimo 60% manje električne energije i do 85% manje vode?", new int[] {2, 3}, new Answer[]{ new Answer(AnswerObjectModel.RUCNO_PRANJE_SUDJA, "Ručno pranje suđa"), new Answer(AnswerObjectModel.MASINA_ZA_SUDJE, "Pranje u mašini za suđe"), new Answer(AnswerObjectModel.PROFESOR_ATOM_10, "Profesor Atom +10"), new Answer(AnswerObjectModel.STRIK, "Štrik")}), new Question("8. Koji uređaj u «stand by» načinu rada troši i do 24% energije u odnosu na potrošnju energije kada je upaljen?", new int[] {4}, new Answer[]{ new Answer(AnswerObjectModel.RADIJATOR, "Radijator"), new Answer(AnswerObjectModel.VENTILATOR, "Ventilator"), new Answer(AnswerObjectModel.BICIKLO, "Biciklo"), new Answer(AnswerObjectModel.TELEVIZOR, "Televizor")}), new Question("9. Jednom godišnje stručna osoba treba provjeriti prohodnost čega? Loša prohodnost doprinosi većoj potrošnji energije za grijanje.", new int[] {1}, new Answer[]{ new Answer(AnswerObjectModel.DIMNJAK, "Dimnjak"), new Answer(AnswerObjectModel.AUTO, "Auto"), new Answer(AnswerObjectModel.NOVI_PROZOR, "Prozor"), new Answer(AnswerObjectModel.UPALJENA_CESMA, "Česma sa vodom")}), new Question("10. Uvijek odaberite program s najnižom temperaturom vode koji još uvijek obezbjeđuje dobar kvalitet pranja, za šta od navedenog? ", new int[] {1, 4}, new Answer[]{ new Answer(AnswerObjectModel.PROFESOR_ATOM_10, "Profesor Atom +10"), new Answer(AnswerObjectModel.STRIK, "Štrik"), new Answer(AnswerObjectModel.RUCNO_PRANJE_VESA, "Pranje na ruke"), new Answer(AnswerObjectModel.MASINA_ZA_VES, "Mašina za veš")}) }; // Positions for answers 1, 2, 3 and 4 private Vector3[] answerPositions = new Vector3[] { new Vector3(-10, 10, -5), new Vector3(-10, 5, -7), new Vector3(10, 5, -7), new Vector3(10, 10, -5) }; private Vector3 answerScale = new Vector3(0.15f, 0.15f, 0.15f); /// /// Use this for initialization /// void Start () { scoreValue = initialScore; UpdateScore(true); questionIdx = 0; // Set counter to 90s counterValue = counterInitialValue; UpdateCounter(); selectedAnswers = new List(); answersHaloEffects = new List(); answers = new List(); // Instantiate answers and halo effects InstantiateAnswers(); InstantiateHaloPrefabs(); UpdateScene(); btnNextQuestion.GetComponent