Compare commits

...

7 Commits

Author SHA1 Message Date
995505ee1c 提交内容 2025-03-01 12:50:17 +08:00
a33bcffedf Merge remote-tracking branch 'origin/master' into LouDi_Pig 2025-03-01 12:49:55 +08:00
shenjianxing
3bc97db54d 优化pc实验报告下载 2025-02-28 19:22:44 +08:00
shenjianxing
3efaf5977d UI隐藏发出通知 2025-02-28 18:41:05 +08:00
shenjianxing
32d905a8ea 修改UI逻辑 2025-02-28 18:28:19 +08:00
shenjianxing
34fffe6daa 修改功能 2025-02-28 17:30:07 +08:00
shenjianxing
f571fd5279 修改bug 2025-02-28 14:58:52 +08:00
11 changed files with 74 additions and 47 deletions

View File

@ -652,8 +652,8 @@ MonoBehaviour:
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
m_Padding: m_Padding:
m_Left: 0 m_Left: 20
m_Right: 0 m_Right: 20
m_Top: 20 m_Top: 20
m_Bottom: 0 m_Bottom: 0
m_ChildAlignment: 1 m_ChildAlignment: 1

View File

@ -5596,7 +5596,7 @@ PrefabInstance:
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 919132149155446097, guid: 0ac970413d53bfa4aaf2a61922fa3306, type: 3} - target: {fileID: 919132149155446097, guid: 0ac970413d53bfa4aaf2a61922fa3306, type: 3}
propertyPath: m_IsActive propertyPath: m_IsActive
value: 1 value: 0
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 1006628450200583063, guid: 0ac970413d53bfa4aaf2a61922fa3306, type: 3} - target: {fileID: 1006628450200583063, guid: 0ac970413d53bfa4aaf2a61922fa3306, type: 3}
propertyPath: m_LocalEulerAnglesHint.x propertyPath: m_LocalEulerAnglesHint.x

View File

@ -83,6 +83,10 @@ public class ScoreController : MonoSingleton<ScoreController>
scoreDict[key].value = 0; scoreDict[key].value = 0;
} }
} }
else
{
Debug.LogError("没有找到 评分点:" + key);
}
} }

View File

@ -39,12 +39,12 @@ public class TimeScaleController : MonoBehaviour
} }
if (Input.GetKey(KeyCode.LeftControl) || Input.GetKey(KeyCode.RightControl)) if (Input.GetKey(KeyCode.LeftControl) || Input.GetKey(KeyCode.RightControl))
{ {
if (Input.GetKeyDown(KeyCode.Q)) if (Input.GetKeyDown(KeyCode.C))
{ {
string str = string.Empty; string str = string.Empty;
str = $"{gameObject.transform.position}|{gameObject.transform.eulerAngles}"; str = $"{gameObject.transform.position}|{gameObject.transform.eulerAngles}";
#if UNITY_WEBGL #if UNITY_WEBGL
Debug.Log("Ctrl + Q 被按下!"); Debug.Log("Ctrl + Q 被按下!"+str);
CopyToClipboard(str); CopyToClipboard(str);
#elif UNITY_STANDALONE_WIN && !UNITY_EDITOR #elif UNITY_STANDALONE_WIN && !UNITY_EDITOR
// ʾÀýÊý¾Ý // ʾÀýÊý¾Ý
@ -53,18 +53,14 @@ public class TimeScaleController : MonoBehaviour
#endif #endif
} }
#if UNITY_STANDALONE_WIN &&!UNITY_EDITOR #if UNITY_STANDALONE_WIN &&!UNITY_EDITOR
if (Input.GetKeyDown(KeyCode.E)) if (Input.GetKeyDown(KeyCode.V))
{ {
string tmp = GUIUtility.systemCopyBuffer; string tmp = GUIUtility.systemCopyBuffer;
Debug.LogError("当前剪贴板:" + tmp); Debug.Log("当前剪贴板:" + tmp);
tmp = tmp.Replace("(", ""); tmp = tmp.Replace("(", "");
Debug.LogError(tmp);
tmp = tmp.Replace(")", ""); tmp = tmp.Replace(")", "");
Debug.LogError(tmp);
var datas = tmp.Split('|'); var datas = tmp.Split('|');
Debug.LogError(datas[0]);
Debug.LogError(datas[1]);
gameObject.transform.position = Utility.GetVector3FromStrArray(datas[0]); gameObject.transform.position = Utility.GetVector3FromStrArray(datas[0]);
gameObject.transform.eulerAngles = Utility.GetVector3FromStrArray(datas[1]); gameObject.transform.eulerAngles = Utility.GetVector3FromStrArray(datas[1]);
} }

View File

@ -5,14 +5,14 @@ using System.IO;
using UnityEngine; using UnityEngine;
using System.Windows.Forms; using System.Windows.Forms;
using Newtonsoft.Json.Linq; using Newtonsoft.Json.Linq;
using System;
public class AsposeHelper : MonoBehaviour public class AsposeHelper : MonoBehaviour
{ {
public static void Writer(string json) public static void Writer(string json, Action<DialogResult> callback = null)
{ {
Debug.LogError(File.Exists(Global.reportDemoPath));
// 加载Word文档 // 加载Word文档
Document doc = new Document(Global.reportDemoPath); Document doc = new Document(Global.reportDemoPath);
@ -25,21 +25,23 @@ public class AsposeHelper : MonoBehaviour
doc.Range.Replace($"{{{key}}}", $"{value}", new FindReplaceOptions()); doc.Range.Replace($"{{{key}}}", $"{value}", new FindReplaceOptions());
} }
// 替换文本 // 替换文本
SaveWithDialog(doc); SaveWithDialog(doc, callback);
//Debug.Log("文档处理完成,新文档已保存到: " + outputFilePath); //Debug.Log("文档处理完成,新文档已保存到: " + outputFilePath);
} }
private static void SaveWithDialog(Document doc) private static void SaveWithDialog(Document doc, Action<DialogResult> callback)
{ {
SaveFileDialog dialog = new SaveFileDialog(); SaveFileDialog dialog = new SaveFileDialog();
dialog.Filter = "Word文档|*.docx"; dialog.Filter = "Word文档|*.docx";
if (dialog.ShowDialog() == DialogResult.OK) var result = dialog.ShowDialog();
if (result == DialogResult.OK)
{ {
doc.Save(dialog.FileName); doc.Save(dialog.FileName);
} }
callback?.Invoke(result);
} }
} }

View File

@ -21,6 +21,7 @@ namespace QFramework.Example
} }
public partial class UICameraSwitch : UIPanel public partial class UICameraSwitch : UIPanel
{ {
bool firstFreeMove = true;
protected override void OnInit(IUIData uiData = null) protected override void OnInit(IUIData uiData = null)
{ {
TypeEventSystem.Global.Register<OnModuleQuit>((arg) => Hide()).UnRegisterWhenGameObjectDestroyed(gameObject); TypeEventSystem.Global.Register<OnModuleQuit>((arg) => Hide()).UnRegisterWhenGameObjectDestroyed(gameObject);
@ -114,6 +115,14 @@ namespace QFramework.Example
{ {
Near.isOn = false; Near.isOn = false;
Far.isOn = false; Far.isOn = false;
if (firstFreeMove)
{
UITipWindowData data = new UITipWindowData();
data.txt = "已切换至自由移动视角,点右下角按钮可回到预制视角。";
data.btns.Add(new UITipWindowData.ItemData() { txt = "确定" });
UIKit.OpenPanelAsync<UITipWindow>(canvasLevel: UILevel.PopUI, uiData: data).ToAction().StartGlobal();
firstFreeMove = false;
}
} }
} }

View File

@ -13,6 +13,7 @@ namespace QFramework.Example
public partial class UIInstruction : UIPanel public partial class UIInstruction : UIPanel
{ {
bool isNo = false; bool isNo = false;
bool isOperation = false;
protected override void OnInit(IUIData uiData = null) protected override void OnInit(IUIData uiData = null)
{ {
TypeEventSystem.Global.Register<OnModuleQuit>((arg) => Hide()).UnRegisterWhenGameObjectDestroyed(gameObject); TypeEventSystem.Global.Register<OnModuleQuit>((arg) => Hide()).UnRegisterWhenGameObjectDestroyed(gameObject);
@ -45,9 +46,18 @@ namespace QFramework.Example
OperationContent.gameObject.SetActive(isOn); OperationContent.gameObject.SetActive(isOn);
}); });
ConfirmBtn.onClick.AddListener(() => ConfirmBtn.onClick.AddListener(() =>
{
if (isOperation == false)
{
Operation.isOn = true;
isOperation = true;
}
else
{ {
Hide(); Hide();
isNo = NoToggle.isOn; isNo = NoToggle.isOn;
}
}); });
@ -82,6 +92,7 @@ namespace QFramework.Example
protected override void OnHide() protected override void OnHide()
{ {
mData = null; mData = null;
StringEventSystem.Global.Send(this.GetType().Name + "Hide");
} }
protected override void OnClose() protected override void OnClose()

View File

@ -36,7 +36,12 @@ namespace QFramework.Example
}); });
loader.LoadAsync(); loader.LoadAsync();
#elif UNITY_STANDALONE_WIN #elif UNITY_STANDALONE_WIN
AsposeHelper.Writer(GetScoreDataJson()); DownLoad.interactable = false;
AsposeHelper.Writer(GetScoreDataJson(), result =>
{
Debug.LogError("111");
DownLoad.interactable = true;
});
#endif #endif

View File

@ -42,6 +42,7 @@ namespace QFramework.Example
protected override void OnOpen(IUIData uiData = null) protected override void OnOpen(IUIData uiData = null)
{ {
mData = uiData as UIToolsData ?? new UIToolsData();
TypeEventSystem.Global.Register<StepStatusOnChange>(OnStepChanged).UnRegisterWhenDisabled(gameObject); TypeEventSystem.Global.Register<StepStatusOnChange>(OnStepChanged).UnRegisterWhenDisabled(gameObject);
if (mData.totalScore > 0) if (mData.totalScore > 0)
{ {

View File

@ -265,7 +265,7 @@ namespace XMLTool
// 解析模块名称 // 解析模块名称
module.type = moduleElement.Element("Type")?.Value; module.type = moduleElement.Element("Type")?.Value;
module.ModuleName = moduleElement.Element("Name")?.Value; module.ModuleName = moduleElement.Element("Name")?.Value;
module.Descript = moduleElement.Element("Descript")?.Value; module.Descript = moduleElement.Element("Descript")?.Value.Trim();
module.Scene = moduleElement.Element("Scene")?.Value; module.Scene = moduleElement.Element("Scene")?.Value;
// 解析设备 // 解析设备

View File

@ -13,7 +13,10 @@
<Action type="UIShow" value="UIOperationList"></Action> <Action type="UIShow" value="UIOperationList"></Action>
<Action type="NextOperation"></Action> <Action type="NextOperation"></Action>
<Action type="Show" value="ExamPrefab/Teach_ModelChose/SM_zhu_an3_4 (1)" isShow="false" ></Action> <Action type="Show" value="ExamPrefab/Teach_ModelChose/SM_zhu_an3_4 (1)" isShow="false" ></Action>
<Action type="Show" value="ExamPrefab/Teach_ModelChose/SM_zhu_an3_4 (1)" isShow="false" ></Action> <Action type="Show" value="ExamPrefab/Teach_ModelChose/SM_zhu_an3_4/SM_XiaoTuiChe/SM_XiaoWuJian/SM_JianYaQian1" isShow="false" isDevice="false"></Action>
<Action type="Show" value="ExamPrefab/Teach_ModelChose/SM_zhu_an3_4/SM_XiaoTuiChe/SM_XiaoWuJian/SM_JianYaQian2" isShow="false" isDevice="false"></Action>
<Action type="Show" value="ExamPrefab/Teach_ToolsChose/SM_gongju/SM_XiaoWuJian/SM_ShouShuTuoPan" isShow="false" isDevice="false"></Action>
<Action type="Show" value="ExamPrefab/Teach_ModelChose/SM_zhu_an3_4/SM_XiaoZhu" isShow="false" isDevice="false"></Action>
</Action> </Action>
</Enter> </Enter>
@ -72,15 +75,6 @@
<Device> <Device>
<Name>剪牙钳</Name>
<HighLight color="255,255,255"/>
<Path>ExamPrefab/Teach_ToolsChose/SM_gongju/SM_XiaoWuJian/SM_JianYaQian</Path>
<Tip>剪牙钳</Tip>
<Icon>工具/剪牙钳.png</Icon>
</Device>
<Device>
<Name>医用酒精</Name> <Name>医用酒精</Name>
<HighLight color="255,255,255"/> <HighLight color="255,255,255"/>
<Path>ExamPrefab/Teach_ToolsChose/SM_gongju/SM_XiaoWuJian/SM_YiYongJiuJing</Path> <Path>ExamPrefab/Teach_ToolsChose/SM_gongju/SM_XiaoWuJian/SM_YiYongJiuJing</Path>
@ -157,6 +151,12 @@
<Icon>工具/碘酊.png</Icon> <Icon>工具/碘酊.png</Icon>
</Device> </Device>
<Device>
<Name>量杯</Name>
<HighLight color="255,255,255"/>
<Path>ExamPrefab/Teach_ToolsChose/SM_gongju/SM_LiangBei</Path>
<Tip>量杯</Tip>
</Device>
<Device> <Device>
@ -169,12 +169,6 @@
<Device>
<Name>量杯</Name>
<HighLight color="255,255,255"/>
<Path>ExamPrefab/Teach_ToolsChose/SM_gongju/SM_LiangBei</Path>
<Tip>量杯</Tip>
</Device>
@ -467,6 +461,11 @@
<Action type="Show" value="ExamPrefab/Teach_ModelChose/SM_zhu_an5_6/SM_XiaoZhu" isShow="false"></Action> <Action type="Show" value="ExamPrefab/Teach_ModelChose/SM_zhu_an5_6/SM_XiaoZhu" isShow="false"></Action>
<Action type="Show" value="ExamPrefab/Teach_ModelChose/SM_zhu_an3_4/SM_XiaoTuiChe/SM_XiaoWuJian/SM_JianYaQian1" isShow="false" isDevice="false"></Action>
<Action type="Show" value="ExamPrefab/Teach_ModelChose/SM_zhu_an3_4/SM_XiaoTuiChe/SM_XiaoWuJian/SM_JianYaQian2" isShow="false" isDevice="false"></Action>
<Action type="Show" value="ExamPrefab/Teach_ToolsChose/SM_gongju/SM_XiaoWuJian/SM_ShouShuTuoPan" isShow="false" isDevice="false"></Action>
<Action type="Show" value="ExamPrefab/Teach_ToolsChose/SM_gongju/SM_ShouNaDai" isShow="true"></Action> <Action type="Show" value="ExamPrefab/Teach_ToolsChose/SM_gongju/SM_ShouNaDai" isShow="true"></Action>
<!--点击下一步,进行--> <!--点击下一步,进行-->
@ -485,14 +484,14 @@
</Action> </Action>
</Start> </Start>
<!--<Finished> <Finished>
<Action type="Sequence"> <Action type="Sequence">
<Action type="Show" value="ExamPrefab/Teach_ModelChose/SM_zhu_an5_6/juese" isShow="true"></Action> <Action type="Show" value="ExamPrefab/Teach_ModelChose/SM_zhu_an5_6/juese" isShow="true"></Action>
<Action type="Show" value="ExamPrefab/Teach_ModelChose/SM_zhu_an5_6/SM_XiaoZhu" isShow="true"></Action> <Action type="Show" value="ExamPrefab/Teach_ModelChose/SM_zhu_an5_6/SM_XiaoZhu" isShow="true"></Action>
<Action type="StrEvent" name="HighLightTrigger" value="true"></Action> <Action type="StrEvent" name="HighLightTrigger" value="true"></Action>
</Action> </Action>
</Finished>--> </Finished>
</Step> </Step>
@ -500,17 +499,17 @@
<Step name="人员准备"> <Step name="人员准备">
<!--<Reset> <Reset>
<Action type="Sequence"> <Action type="Sequence">
<Action type="Parallel"> <!--<Action type="Parallel">
<Action type="Rotate" value="FlyCamera" to="17.27, 183.30, 0.00" time="0"></Action> <Action type="Rotate" value="FlyCamera" to="17.27, 183.30, 0.00" time="0"></Action>
<Action type="Move" value="FlyCamera" to="3.97, 3.37, -24.80" time="0"></Action> <Action type="Move" value="FlyCamera" to="3.97, 3.37, -24.80" time="0"></Action>
</Action> </Action>-->
@ -520,12 +519,12 @@
--><!--初始化人员准备--><!-- <!--初始化人员准备
--><!--人物身上衣服隐藏--><!-- 人物身上衣服隐藏-->
<Action type="Show" value="ExamPrefab/huanzhuang/ChuanDai/ChuanDai_GongZuoFu" isShow="false"></Action> <Action type="Show" value="ExamPrefab/huanzhuang/ChuanDai/ChuanDai_GongZuoFu" isShow="false"></Action>
<Action type="Show" value="ExamPrefab/huanzhuang/ChuanDai/ChuanDai_KouZhao" isShow="false"></Action> <Action type="Show" value="ExamPrefab/huanzhuang/ChuanDai/ChuanDai_KouZhao" isShow="false"></Action>
<Action type="Show" value="ExamPrefab/huanzhuang/ChuanDai/ChuanDai_MaoZi" isShow="false"></Action> <Action type="Show" value="ExamPrefab/huanzhuang/ChuanDai/ChuanDai_MaoZi" isShow="false"></Action>
--><!--物品显示--><!-- <!--物品显示-->
<Action type="Show" value="ExamPrefab/huanzhuang/WuPin/GongZuoFu" isShow="true"></Action> <Action type="Show" value="ExamPrefab/huanzhuang/WuPin/GongZuoFu" isShow="true"></Action>
<Action type="Show" value="ExamPrefab/huanzhuang/WuPin/MaoZi" isShow="true"></Action> <Action type="Show" value="ExamPrefab/huanzhuang/WuPin/MaoZi" isShow="true"></Action>
<Action type="Show" value="ExamPrefab/huanzhuang/WuPin/KouZhao" isShow="true"></Action> <Action type="Show" value="ExamPrefab/huanzhuang/WuPin/KouZhao" isShow="true"></Action>
@ -539,7 +538,7 @@
</Action> </Action>
</Reset>--> </Reset>
<Start> <Start>
<Action type="Sequence"> <Action type="Sequence">