提交模块制作内容修改

This commit is contained in:
李浩 2025-06-24 17:00:05 +08:00
parent 5ea204fb13
commit 2c68283445
19 changed files with 23413 additions and 42397 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 4dc68579594dce245ac3a9f3b701fdbb
PrefabImporter:
externalObjects: {}
userData:
assetBundleName: datiui_prefab
assetBundleVariant:

View File

@ -1,5 +1,6 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: b79d4a2bd64de954c9be268d874a6918 guid: 20fcb4339ba909d418d5dfa2ef27379d
folderAsset: yes
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}
userData: userData:

View File

@ -0,0 +1,8 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ShiJuan : MonoBehaviour
{
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 6a74fc05173f0b441a7a4bedf5ff3958
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because it is too large Load Diff

View File

@ -12,6 +12,7 @@ public class CustomUIMap : MonoBehaviour
{ {
//{ "UIOperationList", typeof(UIOperationList) }, //{ "UIOperationList", typeof(UIOperationList) },
{ "UIOperationList", typeof(UIOperationList) }, { "UIOperationList", typeof(UIOperationList) },
{ "DaTiUI", typeof(DaTiUI) },
}; };

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 1873ae96c315e18419f5dee8c3817adc
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,43 @@
using System;
using UnityEngine;
using UnityEngine.UI;
using QFramework;
namespace QFramework.Example
{
// Generate Id:64794f28-ece0-44e2-a7d6-11ac5ac3097f
public partial class DaTiUI
{
public const string Name = "DaTiUI";
private DaTiUIData mPrivateData = null;
protected override void ClearUIComponents()
{
mData = null;
}
public DaTiUIData Data
{
get
{
return mData;
}
}
DaTiUIData mData
{
get
{
return mPrivateData ?? (mPrivateData = new DaTiUIData());
}
set
{
mUIData = value;
mPrivateData = value;
}
}
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: cff211e9e981611488d1afd365830bea
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,132 @@
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; // 新增变量用于记录总得分
private List<bool> answerResults = new List<bool>(); // 用于记录每道题的答题结果
/// <summary>
/// 初始化数据
/// </summary>
public void ReSetData()
{
totalScore = 0; // 重置总得分
answerResults.Clear(); // 清空答题结果记录
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>
/// 按钮,提交答案
/// </summary>
public void TiJiao()
{
totalScore = 0; // 每次提交时重置总得分
answerResults.Clear(); // 清空答题结果记录
for (int i = 0; i < questions.Count; i++)
{
int P = i;
bool isCorrect = false; // 标记本题是否答对
bool hasSelected = false; // 标记本题是否有选择
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; // 答对加两分
Debug.Log($"第 {i + 1} 题:答对了,当前总得分: {totalScore}");
questions[P].JieXi.gameObject.SetActive(false); // 答对隐藏解析
}
else
{
Debug.Log($"第 {i + 1} 题:答错了,当前总得分: {totalScore}");
questions[P].JieXi.gameObject.SetActive(true); // 答错显示解析
}
break; // 找到所选的 Toggle 后跳出内层循环
}
questions[P].options[j].interactable = false;
}
if (!hasSelected)
{
isCorrect = false;
Debug.Log($"第 {i + 1} 题:未选择答案,答错了,当前总得分: {totalScore}");
questions[P].JieXi.gameObject.SetActive(true); // 未选择答案显示解析
}
answerResults.Add(isCorrect); // 记录本题的答题结果
}
Debug.Log($"最终总得分: {totalScore}");
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
ReSetData();
TiJiaoBtn.onClick.RemoveAllListeners();
TiJiaoBtn.onClick.AddListener(() => { TiJiao(); });
XiaYiBuBtn.onClick.RemoveAllListeners();
XiaYiBuBtn.onClick.AddListener(() => {
StringEventSystem.Global.Send("理论考核通过", "理论考核通过");
Hide();
});
}
protected override void OnOpen(IUIData uiData = null)
{
}
protected override void OnShow()
{
}
protected override void OnHide()
{
}
protected override void OnClose()
{
}
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 3ca3fd75751d1624289eb0c9a7be345a
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,27 @@
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using UnityEngine;
using UnityEngine.UI;
public class QuestionData: MonoBehaviour
{
public List<Toggle> options;
[SerializeField]
public Toggle rightToggle;
public GameObject JieXi;
public int scoreValue = 2;
public bool hasBeenAnswered = false;
[ContextMenu("»ñÈ¡ËùÓе¥Ñ¡°´Å¥")]
public void GetAllToggle()
{
Toggle[] v=transform.GetComponentsInChildren<Toggle>();
options= v.ToList();
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: bdcd817f1d70e7a4abd597c3c1ed1ba4
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -4,4 +4,115 @@
<Type>All</Type> <Type>All</Type>
<Name>考核模式</Name> <Name>考核模式</Name>
<Icon>KaoHe.png</Icon> <Icon>KaoHe.png</Icon>
<FSM name="考核模式状态机">
<State name="考核模式初始状态">
<Enter>
<Action type="Sequence">
<Action type="Log" value="bbb"></Action>
<Action type="Var" name="理论考核" value="1"></Action>
<Action type="Var" name="三维构造考核" value="1"></Action>
</Action>
</Enter>
<Exit>
<Action type="Sequence">
<Action type="Log" value="ddd"></Action>
</Action>
</Exit>
</State>
<State name="理论考核">
<Enter>
<Action type="Sequence">
<Action type="Log" value="理论考核"></Action>
<Action type="Var" name="理论考核" value="2"></Action>
<Action type="UIShow" value="DaTiUI"></Action>
<Condition type="StrEvent" value="理论考核通过"></Condition>
</Action>
</Enter>
<Exit>
<Action type="Sequence">
<Action type="Log" value="!!!理论考核"></Action>
</Action>
</Exit>
</State>
<State name="三维构造考核">
<Enter>
<Action type="Sequence">
<Action type="Log" value="三维构造考核"></Action>
</Action>
</Enter>
<Exit>
<Action type="Sequence">
<Action type="Log" value="!!!三维构造考核"></Action>
</Action>
</Exit>
</State>
<State name="综合计算考核">
<Enter>
<Action type="Sequence">
<Action type="Log" value="综合计算考核"></Action>
</Action>
</Enter>
<Exit>
<Action type="Sequence">
<Action type="Log" value="!!!综合计算考核"></Action>
</Action>
</Exit>
</State>
<State name="案例考核">
<Enter>
<Action type="Sequence">
<Action type="Log" value="案例考核"></Action>
</Action>
</Enter>
<Exit>
<Action type="Sequence">
<Action type="Log" value="!!!案例考核"></Action>
</Action>
</Exit>
</State>
<Transision from="any" to="理论考核">
<Condition type="Var" name="理论考核" value="1"></Condition>
</Transision>
<Transision from="any" to="三维构造考核">
</Transision>
<Transision from="any" to="综合计算考核">
</Transision>
<Transision from="any" to="案例考核">
</Transision>
</FSM>
</Module> </Module>