我正在制作一个多人问答游戏,我使用 Scriptableobject 来存储我的问答数据。现在我想改变它并使用 Firebase,但我碰壁了。
我有一个可编写脚本的对象来存储我的问题:代码(CSharp):
[CreateAssetMenu(fileName = "QuestionsTF", menuName = "QuestionTF")]
public class QuestionTF : ScriptableObject
{
public List<Question> questionstf;
}
以及用于处理该问题的 Gamemanager 脚本:
[SerializeField]
private List<QuestionTF> quizDB;
void Startgame(int index)
{
//int index =0;
unAnswered = new List<Question>();
for (int i = 0; i < quizDB[index].questionstf.Count; i++)
{
unAnswered.Add(quizDB[index].questionstf[i]);
}
SetCurrentquestion();
}
我也在使用类别管理:代码(CSharp):
void Awake()
{
for (int i = 0; i < categorybtn.Count; i++)
{
Button localbtn = categorybtn[i];
localbtn.onClick.AddListener(() => Click(localbtn));
}
}
private void Click(Button btn)
{
switch (btn.name)
{
case "Kategoria 1":
Startgame(0);
Debug.Log("start");
categoryPanel.SetActive(false);
break;
case "Kategoria 2":
Startgame(1);
categoryPanel.SetActive(false);
break;
case "Kategoria 3":
Startgame(2);
categoryPanel.SetActive(false);
break;
}
我已经建立了与 DB 的连接 - 我可以添加新问题,但显示它们时遇到问题。有什么办法可以直接替换 ScriptableObject?我尝试使用 JsonUtility.From.JsonOverwritte 但我不能使用 JSON 和列表...我认为这很容易但经过这么长时间的处理后,我现在根本看不到正确的方法(顺便说一句,我可以使用这还会在 SO 中创建新问题吗?我在任何地方都找不到此信息)
谢谢