2025-06-24 17:00:05 +08:00
|
|
|
|
using UnityEngine;
|
|
|
|
|
|
using UnityEngine.UI;
|
|
|
|
|
|
using QFramework;
|
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
|
|
|
|
|
|
|
namespace QFramework.Example
|
|
|
|
|
|
{
|
|
|
|
|
|
public class DaTiUIData : UIPanelData
|
|
|
|
|
|
{
|
|
|
|
|
|
}
|
|
|
|
|
|
public partial class DaTiUI : UIPanel
|
|
|
|
|
|
{
|
|
|
|
|
|
public List<QuestionData> questions = new List<QuestionData>();
|
|
|
|
|
|
public Button TiJiaoBtn;
|
|
|
|
|
|
public Button XiaYiBuBtn;
|
|
|
|
|
|
private int totalScore = 0; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڼ<EFBFBD>¼<EFBFBD>ܵ÷<DCB5>
|
|
|
|
|
|
private List<bool> answerResults = new List<bool>(); // <20><><EFBFBD>ڼ<EFBFBD>¼ÿ<C2BC><C3BF><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public void ReSetData()
|
|
|
|
|
|
{
|
|
|
|
|
|
totalScore = 0; // <20><><EFBFBD><EFBFBD><EFBFBD>ܵ÷<DCB5>
|
|
|
|
|
|
answerResults.Clear(); // <20><><EFBFBD>մ<EFBFBD><D5B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼
|
|
|
|
|
|
for (int i = 0; i < questions.Count; i++)
|
|
|
|
|
|
{
|
|
|
|
|
|
int P = i;
|
|
|
|
|
|
questions[P].JieXi.gameObject.SetActive(false);
|
|
|
|
|
|
for (int j = 0; j < questions[P].options.Count; j++)
|
|
|
|
|
|
{
|
|
|
|
|
|
questions[P].options[j].interactable = true;
|
|
|
|
|
|
questions[P].options[j].isOn = false;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
TiJiaoBtn.gameObject.SetActive(true);
|
|
|
|
|
|
XiaYiBuBtn.gameObject.SetActive(false);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// <20><>ť,<2C>ύ<EFBFBD><E1BDBB><EFBFBD><EFBFBD>
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public void TiJiao()
|
|
|
|
|
|
{
|
|
|
|
|
|
totalScore = 0; // ÿ<><C3BF><EFBFBD>ύʱ<E1BDBB><CAB1><EFBFBD><EFBFBD><EFBFBD>ܵ÷<DCB5>
|
|
|
|
|
|
answerResults.Clear(); // <20><><EFBFBD>մ<EFBFBD><D5B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼
|
|
|
|
|
|
|
|
|
|
|
|
for (int i = 0; i < questions.Count; i++)
|
|
|
|
|
|
{
|
|
|
|
|
|
int P = i;
|
|
|
|
|
|
bool isCorrect = false; // <20><><EFBFBD>DZ<EFBFBD><C7B1><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
bool hasSelected = false; // <20><><EFBFBD>DZ<EFBFBD><C7B1><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD>ѡ<EFBFBD><D1A1>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for (int j = 0; j < questions[P].options.Count; j++)
|
|
|
|
|
|
{
|
|
|
|
|
|
Toggle Curtog;
|
|
|
|
|
|
if (questions[P].options[j].isOn)
|
|
|
|
|
|
{
|
|
|
|
|
|
hasSelected = true;
|
|
|
|
|
|
Curtog = questions[P].options[j];
|
|
|
|
|
|
if (Curtog == questions[P].rightToggle)
|
|
|
|
|
|
{
|
|
|
|
|
|
isCorrect = true;
|
|
|
|
|
|
totalScore += questions[P].scoreValue; // <20><><EFBFBD>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
Debug.Log($"<22><> {i + 1} <20>⣺<EFBFBD><E2A3BA><EFBFBD><EFBFBD><EFBFBD>ˣ<EFBFBD><CBA3><EFBFBD>ǰ<EFBFBD>ܵ÷<DCB5>: {totalScore}");
|
|
|
|
|
|
questions[P].JieXi.gameObject.SetActive(false); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ؽ<EFBFBD><D8BD><EFBFBD>
|
|
|
|
|
|
}
|
|
|
|
|
|
else
|
|
|
|
|
|
{
|
|
|
|
|
|
Debug.Log($"<22><> {i + 1} <20>⣺<EFBFBD><E2A3BA><EFBFBD><EFBFBD><EFBFBD>ˣ<EFBFBD><CBA3><EFBFBD>ǰ<EFBFBD>ܵ÷<DCB5>: {totalScore}");
|
|
|
|
|
|
questions[P].JieXi.gameObject.SetActive(true); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|
|
|
|
|
}
|
|
|
|
|
|
break; // <20>ҵ<EFBFBD><D2B5><EFBFBD>ѡ<EFBFBD><D1A1> Toggle <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD>ѭ<EFBFBD><D1AD>
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
questions[P].options[j].interactable = false;
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if (!hasSelected)
|
|
|
|
|
|
{
|
|
|
|
|
|
isCorrect = false;
|
|
|
|
|
|
Debug.Log($"<22><> {i + 1} <20>⣺δѡ<CEB4><D1A1><EFBFBD>𰸣<EFBFBD><F0B0B8A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˣ<EFBFBD><CBA3><EFBFBD>ǰ<EFBFBD>ܵ÷<DCB5>: {totalScore}");
|
|
|
|
|
|
questions[P].JieXi.gameObject.SetActive(true); // δѡ<CEB4><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
answerResults.Add(isCorrect); // <20><>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Debug.Log($"<22><><EFBFBD><EFBFBD><EFBFBD>ܵ÷<DCB5>: {totalScore}");
|
2025-06-26 14:07:29 +08:00
|
|
|
|
ScoreController.Instance.Add("<22><>ѡ<EFBFBD><D1A1>", totalScore);
|
2025-06-24 17:00:05 +08:00
|
|
|
|
TiJiaoBtn.gameObject.SetActive(false);
|
|
|
|
|
|
XiaYiBuBtn.gameObject.SetActive(true);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
protected override void OnInit(IUIData uiData = null)
|
|
|
|
|
|
{
|
|
|
|
|
|
mData = uiData as DaTiUIData ?? new DaTiUIData();
|
|
|
|
|
|
// please add init code here
|
2025-06-26 14:07:29 +08:00
|
|
|
|
TypeEventSystem.Global.Register<OnModuleQuit>(OnModuleQuit).UnRegisterWhenGameObjectDestroyed(gameObject);
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
protected override void OnOpen(IUIData uiData = null)
|
|
|
|
|
|
{
|
|
|
|
|
|
|
2025-06-24 17:00:05 +08:00
|
|
|
|
|
|
|
|
|
|
ReSetData();
|
|
|
|
|
|
TiJiaoBtn.onClick.RemoveAllListeners();
|
|
|
|
|
|
TiJiaoBtn.onClick.AddListener(() => { TiJiao(); });
|
|
|
|
|
|
XiaYiBuBtn.onClick.RemoveAllListeners();
|
|
|
|
|
|
XiaYiBuBtn.onClick.AddListener(() => {
|
|
|
|
|
|
|
2025-06-26 14:07:29 +08:00
|
|
|
|
|
|
|
|
|
|
StringEventSystem.Global.Send("<22><><EFBFBD>ۿ<EFBFBD><DBBF><EFBFBD>ͨ<EFBFBD><CDA8>");
|
|
|
|
|
|
|
2025-06-24 17:00:05 +08:00
|
|
|
|
Hide();
|
2025-06-26 14:07:29 +08:00
|
|
|
|
|
2025-06-24 17:00:05 +08:00
|
|
|
|
});
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
protected override void OnShow()
|
|
|
|
|
|
{
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
protected override void OnHide()
|
|
|
|
|
|
{
|
2025-06-26 14:07:29 +08:00
|
|
|
|
// StringEventSystem.Global.Send("<22><><EFBFBD>ۿ<EFBFBD><DBBF><EFBFBD>ͨ<EFBFBD><CDA8>");
|
|
|
|
|
|
}
|
2025-06-24 17:00:05 +08:00
|
|
|
|
|
|
|
|
|
|
protected override void OnClose()
|
|
|
|
|
|
{
|
2025-06-26 14:07:29 +08:00
|
|
|
|
}
|
|
|
|
|
|
public void OnModuleQuit(OnModuleQuit arg)
|
|
|
|
|
|
{
|
|
|
|
|
|
Hide();
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
2025-06-24 17:00:05 +08:00
|
|
|
|
}
|