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_EditorClassIdentifier:
m_Padding:
m_Left: 0
m_Right: 0
m_Left: 20
m_Right: 20
m_Top: 20
m_Bottom: 0
m_ChildAlignment: 1

View File

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

View File

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

View File

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

View File

@ -21,6 +21,7 @@ namespace QFramework.Example
}
public partial class UICameraSwitch : UIPanel
{
bool firstFreeMove = true;
protected override void OnInit(IUIData uiData = null)
{
TypeEventSystem.Global.Register<OnModuleQuit>((arg) => Hide()).UnRegisterWhenGameObjectDestroyed(gameObject);
@ -114,6 +115,14 @@ namespace QFramework.Example
{
Near.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
{
bool isNo = false;
bool isOperation = false;
protected override void OnInit(IUIData uiData = null)
{
TypeEventSystem.Global.Register<OnModuleQuit>((arg) => Hide()).UnRegisterWhenGameObjectDestroyed(gameObject);
@ -46,8 +47,17 @@ namespace QFramework.Example
});
ConfirmBtn.onClick.AddListener(() =>
{
Hide();
isNo = NoToggle.isOn;
if (isOperation == false)
{
Operation.isOn = true;
isOperation = true;
}
else
{
Hide();
isNo = NoToggle.isOn;
}
});
@ -82,6 +92,7 @@ namespace QFramework.Example
protected override void OnHide()
{
mData = null;
StringEventSystem.Global.Send(this.GetType().Name + "Hide");
}
protected override void OnClose()

View File

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

View File

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

View File

@ -265,7 +265,7 @@ namespace XMLTool
// 解析模块名称
module.type = moduleElement.Element("Type")?.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;
// 解析设备

View File

@ -13,8 +13,11 @@
<Action type="UIShow" value="UIOperationList"></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/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>
</Enter>
</State>
@ -72,15 +75,6 @@
<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>
<HighLight color="255,255,255"/>
<Path>ExamPrefab/Teach_ToolsChose/SM_gongju/SM_XiaoWuJian/SM_YiYongJiuJing</Path>
@ -157,6 +151,12 @@
<Icon>工具/碘酊.png</Icon>
</Device>
<Device>
<Name>量杯</Name>
<HighLight color="255,255,255"/>
<Path>ExamPrefab/Teach_ToolsChose/SM_gongju/SM_LiangBei</Path>
<Tip>量杯</Tip>
</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>
@ -466,7 +460,12 @@
<Action type="Show" value="ExamPrefab/Teach_ModelChose/SM_zhu_an5_6/juese" 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>
<!--点击下一步,进行-->
@ -485,14 +484,14 @@
</Action>
</Start>
<!--<Finished>
<Finished>
<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/SM_XiaoZhu" isShow="true"></Action>
<Action type="StrEvent" name="HighLightTrigger" value="true"></Action>
</Action>
</Finished>-->
</Finished>
</Step>
@ -500,17 +499,17 @@
<Step name="人员准备">
<!--<Reset>
<Reset>
<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="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_KouZhao" 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/MaoZi" isShow="true"></Action>
<Action type="Show" value="ExamPrefab/huanzhuang/WuPin/KouZhao" isShow="true"></Action>
@ -539,7 +538,7 @@
</Action>
</Reset>-->
</Reset>
<Start>
<Action type="Sequence">