144 lines
4.4 KiB
C#
Raw Normal View History

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
}