Created a quiz game and i used XML to store my questions and answer but i have an error that i cant solve it in my own.TIA
Here is the codes for my data.xml
<Question>
Where is the Oton Death Mask found? Mactan, Cebu General Santos City , Davao San Antonio, Oton, Iloilo Malolos, Bulacan 3
<Question>
<questionText>Where is the Manunggul Jar found?</questionText>
<answerA>Palawan</answerA>
<answerB>Romblon</answerB>
<answerC>Cebu</answerC>
<answerD>Bulacan</answerD>
<correctAnswerID>1</correctAnswerID>
</Question>
here is the questionManager
using UnityEngine; using System.Collections.Generic; using System.Xml; using System.Xml.Serialization; using System.IO;
public class QuestionManager : MonoBehaviour { [SerializeField] private TextAsset questionDataXMLFile; private questionData questionData; private Questions currentQuestion; public static string dataPath; public string path;
void Start()
{
questionData = questionData.LoadFromText(Path.Combine("dataPath/Path", "dataXMLFile.xml"));
}
// Call this when you want a new question
public void SetNewQuestion()
{
// gets a random question
int q = Random.Range(0, questionData.questions.Count - 1);
currentQuestion = questionData.questions[q];
questionData = questionData.LoadFromText(Path.Combine(dataPath ,"dataXMLFile.xml")); // add code here to set text values of your Question GameObject
questionData = questionDataXMLFile.name = GetComponent<questionData>().questions = questionData.questions; // e.g. GetComponent<SomeScript>().Text = currentQuestion.questionText this line is my error![alt text][1]
print(Application.dataPath);
}
// Use this to see if user selected correct answer
public bool CorrectAnswerSelected(int selectedAnswerID)
{
return selectedAnswerID == currentQuestion.correctAnswerID;
}
}
and the questionData
using UnityEngine; using System.Collections.Generic; using System.Xml; using System.Xml.Serialization; using System.IO; using System;
public struct Questions{
public static string dataPath;
public string path;
public string questionText;
public string answerA;
public string answerB;
public string answerC;
public string answerD;
public int correctAnswerID;
public string Text { get; internal set; }
internal static object GetComponent<T>()
{
throw new NotImplementedException();
}
} public class questionData{ [XmlArray("Questions")] [XmlArrayItem("Question")] public List questions = new List();
public string GetComponent { get; internal set; }
internal questionData LoadFromText(object p)
{
throw new NotImplementedException();
}
public static questionData LoadFromText(string text)
{
try
{
XmlSerializer serializer = new XmlSerializer(typeof(questionData));
return serializer.Deserialize(new StringReader(text)) as questionData;
}
catch (Exception e)
{
Debug.LogError("Exception loading question data: " + e);
return null;
}
}
public static implicit operator questionData(List<Questions> v)
{
throw new NotImplementedException();
}
public static implicit operator questionData(string v)
{
throw new NotImplementedException();
}
}
[1]: /storage/temp/77870-problem.jpg
Your answer
Follow this Question
Related Questions
Random XML Questions Using Fisher-Yates Shuffle 0 Answers
Problem with upload questions in a quiz game 0 Answers
How to load specific data from XMLArray 0 Answers
Daydream App Crashes on starting 1 Answer