using System; using System.Collections; using System.Collections.Generic; using UnityEngine; public class QuestionnaireManager : MonoBehaviour { public static QuestionnaireManager instance; public int nrFinishedQuestions; public bool fullQuestionnaireActive; public LinkedList<Question> questionsToAsk = new LinkedList<Question>(); //public Stack<Question> questionsToAsk = new Stack<Question>(); public List<answer> AnswersduringTrial = new List<answer>(); public List<answer> AnswersFullQuestionnaire = new List<answer>(); private void Awake() { if (instance != null && instance != this) { Destroy(this.gameObject); } else { instance = this; } } // Start is called before the first frame update void Start() { nrFinishedQuestions = 0; } // Update is called once per frame void Update() { } public void logAnswer(string question, int answer) { if (fullQuestionnaireActive) { AnswersFullQuestionnaire.Add(new answer(question, answer)); } else { AnswersduringTrial.Add(new answer(question, answer)); } nrFinishedQuestions++; } internal void PrepareFAMQuestionaire() { questionsToAsk.Clear(); foreach (Question q in QuestionnaireUIHandler.instance.FAM) { questionsToAsk.AddLast(q); } } internal void PrepareSingleQuestion() { questionsToAsk.Clear(); questionsToAsk.AddLast(QuestionnaireUIHandler.instance.singleQuestion); } public void startFullQuestionnaire(){ nrFinishedQuestions = 0; fullQuestionnaireActive = true; GameManager.instance.nrFullFAM++; foreach (Question q in QuestionnaireUIHandler.instance.FAM) { questionsToAsk.AddLast(q); } } [System.Serializable] public class answer { public string _question { get; set; } public int _answer { get; set; } public answer(string q, int a) { _answer = a; _question = q; } public override string ToString() { return _question + _answer.ToString() ; } } }