目录
一、Questions Profile 问题配置文件
1.配置文件的创建
通过右键/Create/Question Profile菜单进行创建
2.配置文件的编辑
如图所示,模块中内置了五种题型,可以在配置文件中进行配置,分别是判断题、单选题、多选题、填空题、论述题,它们均继承自Question Base基类。
1).判断题
2).单选题
3).多选题
4).填空题
5).论述题
二、Questions Handler 问题处理器
1.初始化
QuestionsHandler包含两个构造函数
- ///
- /// 构造函数
- ///
- /// 问题配置文件
- public QuestionsHandler(QuestionsProfile profile)
- ///
- /// 构造函数
- ///
- /// 配置文件的路径
- public QuestionsHandler(string resourcesPath)
2.Last、Next、Switch
- ///
- /// 上一题
- ///
- public QuestionBase Last()
- ///
- /// 下一题
- ///
- public QuestionBase Next()
- ///
- /// 根据题号切换到指定问题
- ///
- /// 题号
- public QuestionBase Switch(int sequence)
3.根据题号获取指定的问题
- ///
- /// 根据题号获取问题
- ///
- ///
题型 - /// 题号
- public T Get<T>(int sequence) where T : QuestionBase
三、Example 示例
- using UnityEngine;
- using SK.Framework;
-
- public class Example : MonoBehaviour
- {
- private QuestionsHandler handler;
- private QuestionBase question;
-
- private void Start()
- {
- handler = new QuestionsHandler("New Questions Profile");
- }
-
- private void OnGUI()
- {
- GUILayout.BeginHorizontal();
- if (GUILayout.Button("Last", GUILayout.Width(200f), GUILayout.Height(50f)))
- question = handler.Last();
- if (GUILayout.Button("Next", GUILayout.Width(200f), GUILayout.Height(50f)))
- question = handler.Next();
- GUILayout.EndHorizontal();
-
- if (question == null) return;
-
- switch (question.Type)
- {
- case QuestionType.JUDGE: break;
- case QuestionType.SINGLE_CHOICE:
- GUILayout.Label(string.Format(" {0}.{1}", question.Sequence, question.Question));
- GUILayout.BeginHorizontal();
- if (GUILayout.Button("A")) Debug.Log(question.IsCorrect(0));
- if (GUILayout.Button("B")) Debug.Log(question.IsCorrect(1));
- if (GUILayout.Button("C")) Debug.Log(question.IsCorrect(2));
- if (GUILayout.Button("D")) Debug.Log(question.IsCorrect(3));
- GUILayout.EndHorizontal();
- break;
- case QuestionType.MULTIPLE_CHOICE: break;
- case QuestionType.COMPLETION: break;
- case QuestionType.ESSAY: break;
- default: break;
- }
- }
- }

当代野生程序猿
微信公众号
Unity开发日志分享,欢迎关注/留言/私信。


评论记录:
回复评论: