From 6ccdb0792881150282d86e36663c99c46d98e87b Mon Sep 17 00:00:00 2001 From: liuyu <272912176@qq.com> Date: Sat, 7 Sep 2024 17:39:49 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E5=90=88=E5=B9=B6=E5=8F=8D=E5=B0=84?= =?UTF-8?q?=E4=BF=9D=E5=AD=98=E7=9B=B8=E5=85=B3=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/Scripts/CXX/Devices/Device_Seal.cs | 16 +- .../Devices/杂/接线完好检查/Check_JieXian.cs | 19 +- .../Device_NamePlate.cs | 1 + .../直接接入式电能计量装置/Device_Switch.cs | 1 + .../CXX/Devices/计量柜/Device_CabinetDoor.cs | 2 + .../CXX/Devices/计量柜/Device_Socket.cs | 3 +- Assets/Scripts/HQB.meta | 8 + Assets/Scripts/HQB/ReconnetAtrribute.cs | 15 + Assets/Scripts/HQB/ReconnetAtrribute.cs.meta | 11 + Assets/Scripts/HQB/ReflectionTest.cs | 41 + Assets/Scripts/HQB/ReflectionTest.cs.meta | 11 + .../Scripts/Project/Manager/ReconnectMgr.cs | 45 +- .../Project/Objects/Other/MobileController.cs | 26 +- .../Objects/Other/PermanentTriggerBase.cs | 11 +- Assets/StreamingAssets/realtimeStat.json | 829 +----------------- 15 files changed, 178 insertions(+), 861 deletions(-) create mode 100644 Assets/Scripts/HQB.meta create mode 100644 Assets/Scripts/HQB/ReconnetAtrribute.cs create mode 100644 Assets/Scripts/HQB/ReconnetAtrribute.cs.meta create mode 100644 Assets/Scripts/HQB/ReflectionTest.cs create mode 100644 Assets/Scripts/HQB/ReflectionTest.cs.meta diff --git a/Assets/Scripts/CXX/Devices/Device_Seal.cs b/Assets/Scripts/CXX/Devices/Device_Seal.cs index 58d533a..ed8ce4a 100644 --- a/Assets/Scripts/CXX/Devices/Device_Seal.cs +++ b/Assets/Scripts/CXX/Devices/Device_Seal.cs @@ -11,6 +11,7 @@ public class Device_Seal : Device_Base /// /// Ƿ񱻼 /// + [ReconnetAtrribute] public bool isCut; /// /// λ @@ -39,19 +40,4 @@ public class Device_Seal : Device_Base isCut = false; gameObject.SetActive(true); } - /// - /// - /// - /// - /// - public override void LoadCurrentTriggerStat(string triggerInfo) - { - if (triggerInfo != "") - isCut = bool.Parse(triggerInfo); - } - - public override string SaveCurrentTriggerStat() - { - return isCut.ToString(); - } } diff --git a/Assets/Scripts/CXX/Devices/杂/接线完好检查/Check_JieXian.cs b/Assets/Scripts/CXX/Devices/杂/接线完好检查/Check_JieXian.cs index 0830be6..30b0630 100644 --- a/Assets/Scripts/CXX/Devices/杂/接线完好检查/Check_JieXian.cs +++ b/Assets/Scripts/CXX/Devices/杂/接线完好检查/Check_JieXian.cs @@ -10,6 +10,7 @@ public class Check_JieXian : PermanentTriggerBase /// /// ǷѼ /// + [ReconnetAtrribute] public bool isChecked; /// /// @@ -75,22 +76,4 @@ public class Check_JieXian : PermanentTriggerBase base.CallScoreAction(true); } } - - /// - /// - /// - /// - /// - public override string SaveCurrentTriggerStat() - { - return isChecked.ToString(); - //throw new System.NotImplementedException(); - } - - public override void LoadCurrentTriggerStat(string triggerInfo) - { - if (triggerInfo != "") - isChecked = bool.Parse(triggerInfo); - //throw new System.NotImplementedException(); - } } diff --git a/Assets/Scripts/CXX/Devices/直接接入式电能计量装置/Device_NamePlate.cs b/Assets/Scripts/CXX/Devices/直接接入式电能计量装置/Device_NamePlate.cs index ecb116a..eca02e6 100644 --- a/Assets/Scripts/CXX/Devices/直接接入式电能计量装置/Device_NamePlate.cs +++ b/Assets/Scripts/CXX/Devices/直接接入式电能计量装置/Device_NamePlate.cs @@ -10,6 +10,7 @@ public class Device_NamePlate : Device_Base /// /// Ƿ /// + [ReconnetAtrribute] public bool isChecked; /// diff --git a/Assets/Scripts/CXX/Devices/直接接入式电能计量装置/Device_Switch.cs b/Assets/Scripts/CXX/Devices/直接接入式电能计量装置/Device_Switch.cs index aafe47d..018809f 100644 --- a/Assets/Scripts/CXX/Devices/直接接入式电能计量装置/Device_Switch.cs +++ b/Assets/Scripts/CXX/Devices/直接接入式电能计量装置/Device_Switch.cs @@ -5,6 +5,7 @@ using UnityEngine; public class Device_Switch : Device_Base { + [ReconnetAtrribute] public bool isOpen; /// diff --git a/Assets/Scripts/CXX/Devices/计量柜/Device_CabinetDoor.cs b/Assets/Scripts/CXX/Devices/计量柜/Device_CabinetDoor.cs index 0d86a51..8ecf76d 100644 --- a/Assets/Scripts/CXX/Devices/计量柜/Device_CabinetDoor.cs +++ b/Assets/Scripts/CXX/Devices/计量柜/Device_CabinetDoor.cs @@ -15,10 +15,12 @@ public class Device_CabinetDoor : Device_Base /// /// Ƿ /// + [ReconnetAtrribute] public bool isOpen; /// /// Ƿ /// + [ReconnetAtrribute] public bool hasElectricity; public void Open() { diff --git a/Assets/Scripts/CXX/Devices/计量柜/Device_Socket.cs b/Assets/Scripts/CXX/Devices/计量柜/Device_Socket.cs index 2974b16..b21f5fc 100644 --- a/Assets/Scripts/CXX/Devices/计量柜/Device_Socket.cs +++ b/Assets/Scripts/CXX/Devices/计量柜/Device_Socket.cs @@ -10,10 +10,11 @@ public class Device_Socket : Device_Base /// /// λ /// + [ReconnetAtrribute] public Transform testPosAndRot; /// /// Ƿ /// - + [ReconnetAtrribute] public bool hasElectricity; } diff --git a/Assets/Scripts/HQB.meta b/Assets/Scripts/HQB.meta new file mode 100644 index 0000000..893dcd8 --- /dev/null +++ b/Assets/Scripts/HQB.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ec21e9d11e37de04fba96037a6515a29 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/HQB/ReconnetAtrribute.cs b/Assets/Scripts/HQB/ReconnetAtrribute.cs new file mode 100644 index 0000000..17c02f0 --- /dev/null +++ b/Assets/Scripts/HQB/ReconnetAtrribute.cs @@ -0,0 +1,15 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using System; + +[AttributeUsage(AttributeTargets.Field|AttributeTargets.Property, AllowMultiple =false)] +public class ReconnetAtrribute : Attribute +{ + public string Description { get; } + + public ReconnetAtrribute() + { + Description = ""; + } +} diff --git a/Assets/Scripts/HQB/ReconnetAtrribute.cs.meta b/Assets/Scripts/HQB/ReconnetAtrribute.cs.meta new file mode 100644 index 0000000..cf64d22 --- /dev/null +++ b/Assets/Scripts/HQB/ReconnetAtrribute.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 01e2c8f14904bb44c8ebfe71e3089711 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/HQB/ReflectionTest.cs b/Assets/Scripts/HQB/ReflectionTest.cs new file mode 100644 index 0000000..cda4802 --- /dev/null +++ b/Assets/Scripts/HQB/ReflectionTest.cs @@ -0,0 +1,41 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using System.Reflection; +using UnityEngine; + +public class ReflectionTest : MonoBehaviour +{ + public PermanentTriggerBase ptb; + public MobileController mc; + // Start is called before the first frame update + void Start() + { + FieldInfo[] fieldInfo = ptb.GetType().GetFields(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance); + foreach (FieldInfo field in fieldInfo) + { + if (field.GetCustomAttribute() != null) + { + ReconnetAtrribute attribute = field.GetCustomAttribute(); + object value = field.GetValue(ptb); + Debug.Log($"Field: {field.Name}, Value: {value}, Description: {attribute.Description}"); + if (attribute.Description == "downIndex") + { + field.SetValue(ptb, 1); + } + Debug.Log($"=>Field: {field.Name}, Value: {value}, Description: {attribute.Description}"); + } + } + + } + + // Update is called once per frame + void Update() + { + if (Input.GetKeyDown(KeyCode.V)) + { + Debug.Log("X"); + Debug.Log("===>" + mc.downIndex); + } + } +} diff --git a/Assets/Scripts/HQB/ReflectionTest.cs.meta b/Assets/Scripts/HQB/ReflectionTest.cs.meta new file mode 100644 index 0000000..ee7af77 --- /dev/null +++ b/Assets/Scripts/HQB/ReflectionTest.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 10fa826c5945ca84ca64dee6f1d99354 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Project/Manager/ReconnectMgr.cs b/Assets/Scripts/Project/Manager/ReconnectMgr.cs index 69a011f..0eee081 100644 --- a/Assets/Scripts/Project/Manager/ReconnectMgr.cs +++ b/Assets/Scripts/Project/Manager/ReconnectMgr.cs @@ -7,6 +7,10 @@ using System.IO; using LitJson; using System; using Unity.Burst.CompilerServices; +using System.Reflection; +using System.Text; +using System.Text.RegularExpressions; +using System.ComponentModel; /// /// @@ -116,7 +120,7 @@ public class ReconnectMgr : SingletonMono ret.triggerID = item.triggerID; ret.selfPosInScene = item.transform.localPosition; ret.selfRotInScene = item.transform.localEulerAngles; - ret.triggerInfo = item.SaveCurrentTriggerStat(); + ret.triggerInfo = GetTriggerAttribute(item);//item.SaveCurrentTriggerStat(); UserExamStat.currentSceneTriggers.Add(ret); } @@ -126,6 +130,42 @@ public class ReconnectMgr : SingletonMono File.WriteAllText(localStatPath, UserJson); } + /// + /// ȡפ + /// + /// + public string GetTriggerAttribute(PermanentTriggerBase permanentTriggerBase) + { + JsonData ptbData = new JsonData(); + FieldInfo[] fieldInfo = permanentTriggerBase.GetType().GetFields(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance); + foreach (FieldInfo field in fieldInfo) + { + if (field.GetCustomAttribute() != null) + { + ReconnetAtrribute attribute = field.GetCustomAttribute(); + object value = field.GetValue(permanentTriggerBase); + ptbData[field.Name] = value.ToString(); + } + } + //return Regex.Unescape(ptbData.ToJson()); + return ptbData.ToJson(); + } + public void SetTriggerAttribute(string triggerJson, PermanentTriggerBase permanentTriggerBase) + { + JsonData ptbData = JsonMapper.ToObject(triggerJson); + FieldInfo[] fieldInfo = permanentTriggerBase.GetType().GetFields(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance); + foreach (FieldInfo field in fieldInfo) + { + if (field.GetCustomAttribute() != null) + { + ReconnetAtrribute attribute = field.GetCustomAttribute(); + Type type = field.GetValue(permanentTriggerBase).GetType(); + string tmp = ptbData[field.Name].ToString(); + field.SetValue(permanentTriggerBase, Convert.ChangeType(tmp, type)); + } + } + } + /// /// ȡû״̬(ʹͬ,첽) /// @@ -217,7 +257,8 @@ public class ReconnectMgr : SingletonMono { item.transform.localPosition = ret.selfPosInScene; item.transform.localEulerAngles = ret.selfRotInScene; - item.LoadCurrentTriggerStat(ret.triggerInfo); + SetTriggerAttribute(ret.triggerInfo, item); + //item.LoadCurrentTriggerStat(ret.triggerInfo); } break; } diff --git a/Assets/Scripts/Project/Objects/Other/MobileController.cs b/Assets/Scripts/Project/Objects/Other/MobileController.cs index 36f0985..e4de135 100644 --- a/Assets/Scripts/Project/Objects/Other/MobileController.cs +++ b/Assets/Scripts/Project/Objects/Other/MobileController.cs @@ -7,6 +7,7 @@ using System.Reflection; public class MobileController : PermanentTriggerBase { + [ReconnetAtrribute] public int downIndex = 0; protected override void OnMEnter() { @@ -68,18 +69,17 @@ public class MobileController : PermanentTriggerBase /// ״̬ȡ /// /// - public override void LoadCurrentTriggerStat(string triggerInfo) - { - if (triggerInfo != "") - { - this.downIndex = int.Parse(triggerInfo); - } - } + //public override void LoadCurrentTriggerStat(string triggerInfo) + //{ + // if (triggerInfo != "") + // { + // this.downIndex = int.Parse(triggerInfo); + // } + //} - public override string SaveCurrentTriggerStat() - { - PropertyInfo[] properties = this.GetType().GetProperties(); - return downIndex.ToString(); - //throw new NotImplementedException(); - } + //public override string SaveCurrentTriggerStat() + //{ + // return downIndex.ToString(); + // //throw new NotImplementedException(); + //} } diff --git a/Assets/Scripts/Project/Objects/Other/PermanentTriggerBase.cs b/Assets/Scripts/Project/Objects/Other/PermanentTriggerBase.cs index 96186c2..eded40a 100644 --- a/Assets/Scripts/Project/Objects/Other/PermanentTriggerBase.cs +++ b/Assets/Scripts/Project/Objects/Other/PermanentTriggerBase.cs @@ -5,14 +5,16 @@ using HighlightPlus; using UnityEngine.EventSystems; using System; using Unity.VisualScripting; -using System.Reflection; +using System.Runtime.Serialization.Formatters.Binary; /// /// פ /// public class PermanentTriggerBase : MonoBehaviour { + [ReconnetAtrribute] public int triggerID; + [ReconnetAtrribute] public string triggerName; public HighlightEffect _highlight; @@ -139,12 +141,9 @@ public class PermanentTriggerBase : MonoBehaviour /// /// TriggerϢ,οscoreBase /// - public virtual string SaveCurrentTriggerStat() { - - return ""; - } + //public virtual string SaveCurrentTriggerStat() { return ""; } /// /// TriggerϢ,οscoreBase /// - public virtual void LoadCurrentTriggerStat(string triggerInfo) { } + //public virtual void LoadCurrentTriggerStat(string triggerInfo) { } } diff --git a/Assets/StreamingAssets/realtimeStat.json b/Assets/StreamingAssets/realtimeStat.json index f658ea5..3aadb29 100644 --- a/Assets/StreamingAssets/realtimeStat.json +++ b/Assets/StreamingAssets/realtimeStat.json @@ -13,7 +13,7 @@ "index": 2, "subProcessId": 2, "currentScore": 0.0, - "isDone": false + "isDone": true }, { "index": 3, @@ -30,26 +30,26 @@ { "index": 5, "subProcessId": 5, - "currentScore": 5.0, - "isDone": true + "currentScore": 0.0, + "isDone": false }, { "index": 6, "subProcessId": 6, - "currentScore": 7.99999952, - "isDone": true + "currentScore": 0.0, + "isDone": false }, { "index": 7, "subProcessId": 7, - "currentScore": 5.0, - "isDone": true + "currentScore": 0.0, + "isDone": false }, { "index": 8, "subProcessId": 8, "currentScore": 0.0, - "isDone": true + "isDone": false }, { "index": 9, @@ -112,814 +112,31 @@ "isDone": false } ], - "allToolAndMaterial": [ - "国网安全帽", - "工作服", - "绝缘手套", - "绝缘靴", - "三相四线电能表", - "三相四线电能表", - "绝缘螺丝刀", - "绝缘螺丝刀", - "验电笔", - "盒装封印", - "工作证" - ], - "allWear": [ - "国网安全帽", - "工作服", - "绝缘手套", - "绝缘靴" - ], - "sceneName": "10002_1002_05_LiveScene", - "currentSceneTools": [ - { - "toolId": 5008, - "triggerID": 5008, - "toolName": "国网安全帽", - "selfPosInToolRoom": { - "x": 0.263, - "y": 1.60900009, - "z": -1.817 - } - }, - { - "toolId": 5009, - "triggerID": 5009, - "toolName": "工作服", - "selfPosInToolRoom": { - "x": 0.311, - "y": 1.1358, - "z": -1.839 - } - }, - { - "toolId": 5010, - "triggerID": 5010, - "toolName": "绝缘手套", - "selfPosInToolRoom": { - "x": 0.265, - "y": 0.6700001, - "z": -1.849 - } - }, - { - "toolId": 5011, - "triggerID": 5011, - "toolName": "绝缘靴", - "selfPosInToolRoom": { - "x": 0.315, - "y": 0.207000017, - "z": -1.852 - } - }, - { - "toolId": 5017, - "triggerID": 5017, - "toolName": "三相四线电能表", - "selfPosInToolRoom": { - "x": -3.2316, - "y": 1.1067, - "z": -2.7405 - } - }, - { - "toolId": 5017, - "triggerID": 5017, - "toolName": "三相四线电能表", - "selfPosInToolRoom": { - "x": -3.2316, - "y": 1.1067, - "z": -2.258 - } - }, - { - "toolId": 5003, - "triggerID": 5003, - "toolName": "绝缘螺丝刀", - "selfPosInToolRoom": { - "x": -3.223, - "y": 1.124, - "z": -1.649 - } - }, - { - "toolId": 5003, - "triggerID": 5003, - "toolName": "绝缘螺丝刀", - "selfPosInToolRoom": { - "x": -3.22629857, - "y": 1.129, - "z": -1.12697673 - } - }, - { - "toolId": 5004, - "triggerID": 5004, - "toolName": "验电笔", - "selfPosInToolRoom": { - "x": -3.212, - "y": 1.128, - "z": -0.672 - } - }, - { - "toolId": 5015, - "triggerID": 5015, - "toolName": "盒装封印", - "selfPosInToolRoom": { - "x": 0.305, - "y": 1.556, - "z": -3.328 - } - }, - { - "toolId": 5014, - "triggerID": 5014, - "toolName": "工作证", - "selfPosInToolRoom": { - "x": 0.238, - "y": 1.134, - "z": -3.353 - } - } + "experiencedScene": [ + "02_MenuScene", + "03_OfficeScene" ], + "allToolAndMaterial": [], + "allWear": [], + "sceneName": "03_OfficeScene", + "currentSceneTools": [], "currentSceneTriggers": [ { - "triggerID": 0, - "triggerName": "空开1", + "triggerID": 5005, + "triggerName": "手机", "selfPosInScene": { - "x": 0.0278625488, - "y": 0.08226776, - "z": -0.008735657 + "x": 0.0244421959, + "y": 0.885706842, + "z": -1.00569367 }, "selfRotInScene": { "x": 0.0, "y": 0.0, "z": 0.0 }, - "triggerInfo": "" - }, - { - "triggerID": 5023, - "triggerName": "电能表封印2", - "selfPosInScene": { - "x": 0.0612678528, - "y": 0.07292634, - "z": -0.109647989 - }, - "selfRotInScene": { - "x": 0.0, - "y": 0.0, - "z": 180.0 - }, - "triggerInfo": "False" - }, - { - "triggerID": 5023, - "triggerName": "电能表封印1", - "selfPosInScene": { - "x": -0.06092453, - "y": 0.07292634, - "z": -0.109647989 - }, - "selfRotInScene": { - "x": 0.0, - "y": 0.0, - "z": 180.0 - }, - "triggerInfo": "False" - }, - { - "triggerID": 5024, - "triggerName": "电能表盖子", - "selfPosInScene": { - "x": -0.000122070313, - "y": 0.0416763425, - "z": -0.09854126 - }, - "selfRotInScene": { - "x": 0.0, - "y": 0.0, - "z": 180.0 - }, - "triggerInfo": "" - }, - { - "triggerID": 0, - "triggerName": "电能表铭牌", - "selfPosInScene": { - "x": -0.069568634, - "y": 0.07561189, - "z": -0.0215929747 - }, - "selfRotInScene": { - "x": 0.0, - "y": 0.0, - "z": 180.0 - }, - "triggerInfo": "" - }, - { - "triggerID": 0, - "triggerName": "电能表拆装螺丝2", - "selfPosInScene": { - "x": -0.06473, - "y": 0.051071167, - "z": -0.10885 - }, - "selfRotInScene": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "triggerInfo": "" - }, - { - "triggerID": 0, - "triggerName": "电能表拆装螺丝1", - "selfPosInScene": { - "x": 0.06592941, - "y": 0.051071167, - "z": -0.109404683 - }, - "selfRotInScene": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "triggerInfo": "" - }, - { - "triggerID": 5025, - "triggerName": "电能表盖子固定螺丝2", - "selfPosInScene": { - "x": -0.06129074, - "y": -0.0140533447, - "z": -0.101232052 - }, - "selfRotInScene": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "triggerInfo": "" - }, - { - "triggerID": 5025, - "triggerName": "电能表盖子固定螺丝1", - "selfPosInScene": { - "x": 0.0612869263, - "y": -0.0140533447, - "z": -0.101232052 - }, - "selfRotInScene": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "triggerInfo": "" - }, - { - "triggerID": 0, - "triggerName": "零_地_螺丝up", - "selfPosInScene": { - "x": -0.0295066833, - "y": 0.0256958, - "z": -0.09305191 - }, - "selfRotInScene": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "triggerInfo": "" - }, - { - "triggerID": 0, - "triggerName": "零_out_螺丝up", - "selfPosInScene": { - "x": -0.0381965637, - "y": 0.0222015381, - "z": -0.09305191 - }, - "selfRotInScene": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "triggerInfo": "" - }, - { - "triggerID": 0, - "triggerName": "B_out_线", - "selfPosInScene": { - "x": 20.0205078, - "y": 142.292862, - "z": 21.0742188 - }, - "selfRotInScene": { - "x": 8.14222E-13, - "y": 2.035555E-13, - "z": 4.85314136E-20 - }, - "triggerInfo": "" - }, - { - "triggerID": 0, - "triggerName": "C_out_线", - "selfPosInScene": { - "x": 17.5166016, - "y": 142.292862, - "z": 21.0742188 - }, - "selfRotInScene": { - "x": 8.14222E-13, - "y": 2.035555E-13, - "z": 4.85314136E-20 - }, - "triggerInfo": "" - }, - { - "triggerID": 0, - "triggerName": "C_in_线", - "selfPosInScene": { - "x": 13.3569336, - "y": 131.0804, - "z": 22.4726563 - }, - "selfRotInScene": { - "x": 8.14222E-13, - "y": 2.035555E-13, - "z": 4.85314136E-20 - }, - "triggerInfo": "" - }, - { - "triggerID": 0, - "triggerName": "B_in_线", - "selfPosInScene": { - "x": 15.9238281, - "y": 131.0804, - "z": 22.4726563 - }, - "selfRotInScene": { - "x": 8.14222E-13, - "y": 2.035555E-13, - "z": 4.85314136E-20 - }, - "triggerInfo": "" - }, - { - "triggerID": 0, - "triggerName": "A_in_线", - "selfPosInScene": { - "x": 18.47998, - "y": 131.0804, - "z": 22.4726563 - }, - "selfRotInScene": { - "x": 8.14222E-13, - "y": 2.035555E-13, - "z": 4.85314136E-20 - }, - "triggerInfo": "" - }, - { - "triggerID": 0, - "triggerName": "零_out_线", - "selfPosInScene": { - "x": 16.4960938, - "y": 142.292862, - "z": 21.0742188 - }, - "selfRotInScene": { - "x": 8.14222E-13, - "y": 2.035555E-13, - "z": 4.85314136E-20 - }, - "triggerInfo": "" - }, - { - "triggerID": 0, - "triggerName": "B_out_螺丝up", - "selfPosInScene": { - "x": 0.006591797, - "y": 0.0256958, - "z": -0.09305191 - }, - "selfRotInScene": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "triggerInfo": "" - }, - { - "triggerID": 0, - "triggerName": "C_out_螺丝up", - "selfPosInScene": { - "x": -0.0201148987, - "y": 0.0256958, - "z": -0.09305191 - }, - "selfRotInScene": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "triggerInfo": "" - }, - { - "triggerID": 5021, - "triggerName": "插座", - "selfPosInScene": { - "x": -1.56, - "y": 2.29342651, - "z": -0.203244925 - }, - "selfRotInScene": { - "x": 0.0, - "y": 0.0, - "z": 180.0 - }, - "triggerInfo": "" - }, - { - "triggerID": 0, - "triggerName": "B_in_螺丝down", - "selfPosInScene": { - "x": 0.0237312317, - "y": 0.0256958, - "z": -0.101950169 - }, - "selfRotInScene": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "triggerInfo": "" - }, - { - "triggerID": 0, - "triggerName": "A_in_螺丝up", - "selfPosInScene": { - "x": 0.0501709, - "y": 0.0256958, - "z": -0.09305191 - }, - "selfRotInScene": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "triggerInfo": "" - }, - { - "triggerID": 5018, - "triggerName": "NPC客户", - "selfPosInScene": { - "x": -170.37, - "y": 1.26, - "z": -57.03 - }, - "selfRotInScene": { - "x": 0.0, - "y": 57.0212746, - "z": 0.0 - }, - "triggerInfo": "" - }, - { - "triggerID": 0, - "triggerName": "A_out_线", - "selfPosInScene": { - "x": 22.70166, - "y": 142.292862, - "z": 21.0742188 - }, - "selfRotInScene": { - "x": 8.14222E-13, - "y": 2.035555E-13, - "z": 4.85314136E-20 - }, - "triggerInfo": "" - }, - { - "triggerID": 0, - "triggerName": "检查接线", - "selfPosInScene": { - "x": 0.14606, - "y": -0.15198, - "z": 0.40884 - }, - "selfRotInScene": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "triggerInfo": "False" - }, - { - "triggerID": 0, - "triggerName": "C_in_螺丝up", - "selfPosInScene": { - "x": -0.002609253, - "y": 0.0256958, - "z": -0.09305191 - }, - "selfRotInScene": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "triggerInfo": "" - }, - { - "triggerID": 0, - "triggerName": "B_out_螺丝down", - "selfPosInScene": { - "x": 0.006591797, - "y": 0.0256958, - "z": -0.101950169 - }, - "selfRotInScene": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "triggerInfo": "" - }, - { - "triggerID": 0, - "triggerName": "", - "selfPosInScene": { - "x": -3.15657043, - "y": -2.25149536, - "z": -0.987643361 - }, - "selfRotInScene": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "triggerInfo": "" - }, - { - "triggerID": 0, - "triggerName": "零_地_螺丝down", - "selfPosInScene": { - "x": -0.0295066833, - "y": 0.0256958, - "z": -0.101950169 - }, - "selfRotInScene": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "triggerInfo": "" - }, - { - "triggerID": 5020, - "triggerName": "NPC负责人", - "selfPosInScene": { - "x": -170.376083, - "y": 1.26, - "z": -53.5962639 - }, - "selfRotInScene": { - "x": 0.0, - "y": 228.589767, - "z": 0.0 - }, - "triggerInfo": "" - }, - { - "triggerID": 0, - "triggerName": "", - "selfPosInScene": { - "x": -1.747757, - "y": -2.25148, - "z": -0.987643361 - }, - "selfRotInScene": { - "x": 0.0, - "y": 0.0, - "z": 287.213837 - }, - "triggerInfo": "" - }, - { - "triggerID": 0, - "triggerName": "C_out_螺丝down", - "selfPosInScene": { - "x": -0.0201148987, - "y": 0.0256958, - "z": -0.101950169 - }, - "selfRotInScene": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "triggerInfo": "" - }, - { - "triggerID": 0, - "triggerName": "零_地_线", - "selfPosInScene": { - "x": -5.22167969, - "y": 140.3523, - "z": 18.2167969 - }, - "selfRotInScene": { - "x": 8.14222E-13, - "y": 2.035555E-13, - "z": 4.85314136E-20 - }, - "triggerInfo": "" - }, - { - "triggerID": 0, - "triggerName": "", - "selfPosInScene": { - "x": 0.146900177, - "y": -0.1265, - "z": 0.5191498 - }, - "selfRotInScene": { - "x": 0.0, - "y": 0.0, - "z": 180.0 - }, - "triggerInfo": "" - }, - { - "triggerID": 0, - "triggerName": "零_out_螺丝down", - "selfPosInScene": { - "x": -0.0381965637, - "y": 0.0222015381, - "z": -0.101950169 - }, - "selfRotInScene": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "triggerInfo": "" - }, - { - "triggerID": 0, - "triggerName": "B_in_螺丝up", - "selfPosInScene": { - "x": 0.0237312317, - "y": 0.0256958, - "z": -0.09305191 - }, - "selfRotInScene": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "triggerInfo": "" - }, - { - "triggerID": 5021, - "triggerName": "空开2", - "selfPosInScene": { - "x": 0.0278625488, - "y": -0.06511688, - "z": -0.008735657 - }, - "selfRotInScene": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "triggerInfo": "" - }, - { - "triggerID": 0, - "triggerName": "C_in_螺丝down", - "selfPosInScene": { - "x": -0.002609253, - "y": 0.0256958, - "z": -0.101950169 - }, - "selfRotInScene": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "triggerInfo": "" - }, - { - "triggerID": 0, - "triggerName": "A_out_螺丝down", - "selfPosInScene": { - "x": 0.03305435, - "y": 0.0256958, - "z": -0.101950169 - }, - "selfRotInScene": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "triggerInfo": "" - }, - { - "triggerID": 0, - "triggerName": "A_in_螺丝down", - "selfPosInScene": { - "x": 0.0501709, - "y": 0.0256958, - "z": -0.101950169 - }, - "selfRotInScene": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "triggerInfo": "" - }, - { - "triggerID": 0, - "triggerName": "A_out_螺丝up", - "selfPosInScene": { - "x": 0.03305435, - "y": 0.0256958, - "z": -0.09305191 - }, - "selfRotInScene": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "triggerInfo": "" - }, - { - "triggerID": 5022, - "triggerName": "柜门", - "selfPosInScene": { - "x": 0.492233276, - "y": -0.5744629, - "z": 0.47206974 - }, - "selfRotInScene": { - "x": 2.72990741E-35, - "y": 9.03968E-29, - "z": -1.73028438E-05 - }, - "triggerInfo": "" - }, - { - "triggerID": 0, - "triggerName": "in开关_螺丝3", - "selfPosInScene": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "selfRotInScene": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "triggerInfo": "" - }, - { - "triggerID": 0, - "triggerName": "in开关_螺丝2", - "selfPosInScene": { - "x": 0.01717, - "y": -0.00067, - "z": 0.0 - }, - "selfRotInScene": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "triggerInfo": "" - }, - { - "triggerID": 0, - "triggerName": "in开关_螺丝1", - "selfPosInScene": { - "x": 0.03411, - "y": -0.00094, - "z": 0.0 - }, - "selfRotInScene": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "triggerInfo": "" + "triggerInfo": "{\"downIndex\":\"2\",\"triggerID\":\"5005\",\"triggerName\":\"\\u624B\\u673A\"}" } ], - "currentSceneOtherInfo": "{\r\n \"TestPen3list\": [],\r\n \"InSwitchCloseYDList\": [],\r\n \"InSwitchOpenYDList\": [],\r\n \"currentunInstallJieXian\": [],\r\n \"currentInstallJieXian\": [],\r\n \"installCover\": [],\r\n \"currentInstallTestJieXian\": []\r\n}" + "currentSceneOtherInfo": "{\r\n \"TestPen3list\": [],\r\n \"InSwitchCloseYDList\": [],\r\n \"InSwitchOpenYDList\": [],\r\n \"currentunInstallJieXian\": [],\r\n \"currentInstallJieXian\": [],\r\n \"installCover\": [],\r\n \"currentInstallTestJieXian\": []\r\n}", + "experiencedScenes": [] } \ No newline at end of file From a0b04f7e3b01a3467e2ea183983df820b8627ff1 Mon Sep 17 00:00:00 2001 From: YangHua <1475658476@qq.com> Date: Sun, 8 Sep 2024 00:13:02 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../10002_1002_05_LiveScene.unity | 3 ++ .../CXX/StepState/1002/StepState_1002.cs | 42 ++++++++++-------- Assets/Scripts/Project/Manager/GameManager.cs | 11 ++--- .../Project/Manager/LiveSceneManager.cs | 8 +--- .../Scripts/Project/Manager/OfficeManager.cs | 8 ++-- .../Scripts/Project/Manager/ProcessManager.cs | 2 +- .../Scripts/Project/Manager/TooRoomMannger.cs | 32 ++++++++++++++ .../Project/Objects/Other/MirrorController.cs | 1 + .../Project/Objects/Other/NPCController.cs | 2 +- .../Project/UI/UI_Item/UI_SubProcessItem.cs | 17 +++++-- .../UI_Item/UI_ToolOrMaterialsOrDeviceItem.cs | 12 +++++ .../Project/UI/UI_Panel/UI_MainTitlePanel.cs | 44 +++++++++++++------ .../UI/UI_Panel/UI_SelectDevicePanel.cs | 8 ++-- .../Project/UI/UI_Panel/UI_SelectModePanel.cs | 11 +++-- .../UI/UI_Panel/UI_SelectWorkTicketPanel.cs | 16 +++---- .../Project/UI/UI_Panel/UI_TaskListPanel.cs | 24 +++++++--- .../UI/UI_Panel/UI_TipsForPracticePanel.cs | 7 ++- .../ProjectBase/EventCenter/EventCenter.cs | 32 +++++++++++--- Assets/StreamingAssets/realtimeStat.json | 31 +++---------- 19 files changed, 203 insertions(+), 108 deletions(-) diff --git a/Assets/Scenes/10002_1002计量装置轮换及现场校验仿真_直接接入式电能计量装置装拆及验收标准化作业指导书/10002_1002_05_LiveScene.unity b/Assets/Scenes/10002_1002计量装置轮换及现场校验仿真_直接接入式电能计量装置装拆及验收标准化作业指导书/10002_1002_05_LiveScene.unity index 8b314c0..220c501 100644 --- a/Assets/Scenes/10002_1002计量装置轮换及现场校验仿真_直接接入式电能计量装置装拆及验收标准化作业指导书/10002_1002_05_LiveScene.unity +++ b/Assets/Scenes/10002_1002计量装置轮换及现场校验仿真_直接接入式电能计量装置装拆及验收标准化作业指导书/10002_1002_05_LiveScene.unity @@ -3077,6 +3077,7 @@ MonoBehaviour: animatorParameters: target: {fileID: 1501092963} minDistance: 2 + isClose: 0 --- !u!136 &890581131 CapsuleCollider: m_ObjectHideFlags: 0 @@ -4753,6 +4754,7 @@ MonoBehaviour: animatorParameters: NPCState target: {fileID: 1501092963} minDistance: 2 + isClose: 0 --- !u!4 &1198127457 Transform: m_ObjectHideFlags: 0 @@ -6310,6 +6312,7 @@ MonoBehaviour: spawnToolPos: {fileID: 1927580343} tMDTips: {fileID: 1180096483} triggerName: "\u6536\u56DE\u5DE5\u5177" + npcCustomController: {fileID: 890581130} device_Control: {fileID: 1723332379} --- !u!4 &2109812127 Transform: diff --git a/Assets/Scripts/CXX/StepState/1002/StepState_1002.cs b/Assets/Scripts/CXX/StepState/1002/StepState_1002.cs index 1abf9dd..3571eae 100644 --- a/Assets/Scripts/CXX/StepState/1002/StepState_1002.cs +++ b/Assets/Scripts/CXX/StepState/1002/StepState_1002.cs @@ -44,7 +44,7 @@ public class StepState_1002 : StepState /// public override void SetStepState(int num, int lastNum) { - Debug.Log("л"+num); + Debug.Log("л" + num); //ɾĶ LiveSceneManager.Instance?.OnCheckSubProcess(); @@ -52,20 +52,24 @@ public class StepState_1002 : StepState { //鿴 OfficeManager.Instance.mobileController.downIndex = 0; + PacksackBagMgr.Instance.ClearAllData(); } else if (num == 2) { //ԤԼ OfficeManager.Instance.mobileController.downIndex = 1; + PacksackBagMgr.Instance.ClearAllData(); } else if (num == 3) { //Ʊ OfficeManager.Instance.mobileController.downIndex = 2; + PacksackBagMgr.Instance.ClearAllData(); } else if (num == 4) { //дװ𹤵 + PacksackBagMgr.Instance.ClearAllData(); } else if (num == 5) { @@ -74,7 +78,7 @@ public class StepState_1002 : StepState //ձ PacksackBagMgr.Instance.ClearAllToolAndDiveceAndMaterial(); - + TooRoomMannger.Instance.CheckWearByWearDic(); //ɵһȥ߼ if (num == lastNum) { @@ -93,8 +97,8 @@ public class StepState_1002 : StepState //ѡȡ //װõ - List items=ToolAndmaterialMgr.Instance.GetItemInfoByName(new List { "ȫñ", "", "Ե", "Եѥ" }); - items.ForEach(item => + List items = ToolAndmaterialMgr.Instance.GetItemInfoByName(new List { "ȫñ", "", "Ե", "Եѥ" }); + items.ForEach(item => { PacksackBagMgr.Instance.AddOneToolOrMater(item.itemInfo); Destroy(item.gameObject); @@ -129,9 +133,9 @@ public class StepState_1002 : StepState //ձ PacksackBagMgr.Instance.ClearAllData(); //ɷװ - List items=ToolAndmaterialMgr.Instance.CreateItemInfoByName(new List { "ȫñ", "", "Ե", "Եѥ" }); + List items = ToolAndmaterialMgr.Instance.CreateItemInfoByName(new List { "ȫñ", "", "Ե", "Եѥ" }); //뱳 - items.ForEach(item => + items.ForEach(item => { PacksackBagMgr.Instance.AddOneToolOrMater(item); // @@ -139,7 +143,7 @@ public class StepState_1002 : StepState }); //ɹ List items2 = ToolAndmaterialMgr.Instance.CreateItemInfoByName(new List { "ǯ", "Ե˿", "", "֤", "װӡ", "Ե", "ߵܱ" }); - items2.ForEach(item => + items2.ForEach(item => { PacksackBagMgr.Instance.AddOneToolOrMater(item); }); @@ -150,9 +154,9 @@ public class StepState_1002 : StepState device_Control.Init(); //ԭnpcԻ - GameObject.FindObjectsOfType().ToList().ForEach(a => + GameObject.FindObjectsOfType().ToList().ForEach(a => { - a.speackIndex = 0; + a.speackIndex = 0; a.spriteRenderer.gameObject.SetActive(true); }); } @@ -161,7 +165,7 @@ public class StepState_1002 : StepState //ǰ GameObject.FindObjectsOfType().ToList().Find(a => a.triggerName == "NPCͻ").spriteRenderer.gameObject.SetActive(false); } - else if (num == 9) + else if (num == 9) { //߼ @@ -171,12 +175,12 @@ public class StepState_1002 : StepState //ԭnpc GameObject.FindObjectsOfType().ToList().ForEach(a => { - if(a.triggerName == "NPC") + if (a.triggerName == "NPC") a.speackIndex = 1; a.spriteRenderer.gameObject.SetActive(false); }); } - else if(num == 10) + else if (num == 10) { //ϿԴ @@ -200,13 +204,13 @@ public class StepState_1002 : StepState //ԴϿ device_Control.inSwitch.CloseState(); } - else if(num== 12) + else if (num == 12) { //ܼװ //Ѷȡ device_Control.meteringDevice.namePlate.isChecked = true; } - else if( num == 13) + else if (num == 13) { //װܱ @@ -221,7 +225,7 @@ public class StepState_1002 : StepState device_Control.jieXian_lines.ForEach(screw => { screw.isConnected = false; - screw.transform.localPosition = new Vector3(screw.transform.localPosition.x, screw.InstallPosY-2, screw.transform.localPosition.z); + screw.transform.localPosition = new Vector3(screw.transform.localPosition.x, screw.InstallPosY - 2, screw.transform.localPosition.z); }); //ˢ´״̬ device_Control.CheckHasElectricity(); @@ -250,7 +254,7 @@ public class StepState_1002 : StepState //ˢ´״̬ device_Control.CheckHasElectricity(); } - else if(num== 15) + else if (num == 15) { //ֳͨ缰 @@ -258,7 +262,7 @@ public class StepState_1002 : StepState device_Control.check_JieXian.isChecked = true; device_Control.check_JieXian.GetComponent().enabled = false; } - else if(num== 16) + else if (num == 16) { //ʵʩӡ @@ -267,13 +271,13 @@ public class StepState_1002 : StepState //Ӹ device_Control.meteringDevice.CoverInstallState(); } - else if(num== 17) + else if (num == 17) { //д֪ device_Control.meteringDevice.cover.cover_seal_Left.Install(); device_Control.meteringDevice.cover.cover_seal_Right.Install(); } - else if(num== 18) + else if (num == 18) { //ֳ } diff --git a/Assets/Scripts/Project/Manager/GameManager.cs b/Assets/Scripts/Project/Manager/GameManager.cs index 80e7f7c..f72a16f 100644 --- a/Assets/Scripts/Project/Manager/GameManager.cs +++ b/Assets/Scripts/Project/Manager/GameManager.cs @@ -173,7 +173,7 @@ public class GameManager : SingletonAutoMono }); } /// - ///返回模式选择界面 + ///首次加载和返回模式选择界面 /// /// public void ShowUIPanelAndLoadScene(bool isReset = false) @@ -196,7 +196,7 @@ public class GameManager : SingletonAutoMono } /// - /// 练习 + /// 练习,重新练习会调用 /// public void Practice() { @@ -206,11 +206,6 @@ public class GameManager : SingletonAutoMono ProcessMgr.Init(RunModelMgr.schemeID, RunModelMgr.ModeType); UIMgr.ShowPanel(E_UI_Layer.System, (panel) => { - UIMgr.ShowPanel(E_UI_Layer.Bot, (panel) => - { - panel.Init(); - }); - panel.Init(); EventMgr.EventTrigger(Enum_EventType.UpdateProgress, 0.1f); ScenesMgr.LoadSceneAsyn($"{systemId}_{RunModelMgr.schemeID}_03_OfficeScene", () => @@ -235,8 +230,10 @@ public class GameManager : SingletonAutoMono UIMgr.HidePanel(); if (UIMgr.GetPanel()) UIMgr.HidePanel(); + UIMgr.GetPanel().ResetByModeType(); PacksackBagMgr.ClearAllData(); EventMgr.Clear(); + UIMgr.GetPanel().ShowMe(); ScoreManager.instance.ReInit(); RunModelMgr.startTime = DateTime.Now; Debug.Log("重置开始时间"); diff --git a/Assets/Scripts/Project/Manager/LiveSceneManager.cs b/Assets/Scripts/Project/Manager/LiveSceneManager.cs index 4405437..e5a6476 100644 --- a/Assets/Scripts/Project/Manager/LiveSceneManager.cs +++ b/Assets/Scripts/Project/Manager/LiveSceneManager.cs @@ -12,6 +12,7 @@ public class LiveSceneManager : SingletonMono public Transform spawnToolPos; public Transform tMDTips; public string triggerName; + public NPCController npcCustomController; //豸ƽű public Device_Control device_Control; @@ -38,6 +39,7 @@ public class LiveSceneManager : SingletonMono public void SetSpawnToolInfo(GameObject tool) { if (tool == null) return; + currentTool = tool; currentTool.transform.parent = Camera.main.transform; currentTool.transform.localPosition = spawnToolPos.localPosition; @@ -57,12 +59,6 @@ public class LiveSceneManager : SingletonMono if (currentTool.GetComponent()) { currentTool.GetComponent().SetHeadPosAndEulerang(currentTool.transform.localPosition, currentTool.transform.localEulerAngles); - currentTool.GetComponent().AddStartAction(() => - { - }); - currentTool.GetComponent().AddEndAction(() => - { - }); } tMDTips.gameObject.SetActive(true); if (currentTool.name.Equals("֤")) diff --git a/Assets/Scripts/Project/Manager/OfficeManager.cs b/Assets/Scripts/Project/Manager/OfficeManager.cs index 8183068..20e0d0e 100644 --- a/Assets/Scripts/Project/Manager/OfficeManager.cs +++ b/Assets/Scripts/Project/Manager/OfficeManager.cs @@ -76,10 +76,10 @@ public class OfficeManager : SingletonMono if (!GameManager.UIMgr.GetPanel()) { GameManager.UIMgr.ShowPanel(E_UI_Layer.Mid, (panel) => - { - panel.Init(); - GameManager.EventMgr.EventTrigger(Enum_EventType.SwitchScene, GameManager.RunModelMgr.SceneType); - }); + { + panel.Init(); + GameManager.EventMgr.EventTrigger(Enum_EventType.SwitchScene, GameManager.RunModelMgr.SceneType); + }); } firstPersonController.gameObject.SetActive(true); } diff --git a/Assets/Scripts/Project/Manager/ProcessManager.cs b/Assets/Scripts/Project/Manager/ProcessManager.cs index af87b1a..bcc71b2 100644 --- a/Assets/Scripts/Project/Manager/ProcessManager.cs +++ b/Assets/Scripts/Project/Manager/ProcessManager.cs @@ -158,7 +158,7 @@ public class ProcessManager : BaseManager { Debug.Log($"完成所有"); //HQB 20240828完成后展示学习完成Tips - GameManager.UIMgr.ShowPanel(E_UI_Layer.System); + GameManager.UIMgr.ShowPanel(E_UI_Layer.Mid); return 0; } diff --git a/Assets/Scripts/Project/Manager/TooRoomMannger.cs b/Assets/Scripts/Project/Manager/TooRoomMannger.cs index beb7319..ba83232 100644 --- a/Assets/Scripts/Project/Manager/TooRoomMannger.cs +++ b/Assets/Scripts/Project/Manager/TooRoomMannger.cs @@ -30,7 +30,31 @@ public class TooRoomMannger : SingletonMono tmd.GetInfo(); } RemoveRepeat(); + CheckWearByWearDic(); } + + /// + /// ͨwearDicݼǷ + /// + public void CheckWearByWearDic() + { + var wearData = GameManager.PacksackBagMgr.wearDic; + if (wearData.Count > 0) + { + foreach (var item in wearData) + { + Wear(item.Key, true); + } + } + else + { + Wear("ȫñ", false); + Wear("", false); + Wear("Ե", false); + Wear("Եѥ", false); + } + } + public void SwitchFirstPersonControllerMove(bool isMove) { firstPersonController.playerCanMove = isMove; @@ -92,6 +116,14 @@ public class TooRoomMannger : SingletonMono } } + //public void ResetManWear() + //{ + // headSlot.GetComponent().material = _cancel.SingleOrDefault(s => s.name == "ȫñ"); + // bodySlot.GetComponent().material = _cancel.SingleOrDefault(s => s.name == ""); + // handSlot.GetComponent().material = _cancel.SingleOrDefault(s => s.name == "Ե"); + // shoesSlot.GetComponent().material = _cancel.SingleOrDefault(s => s.name == "Եѥ"); + //} + private void OnDestroy() { GameManager.EventMgr.RemoveEventListener(Enum_EventType.PlayerCanMove, SwitchFirstPersonControllerMove); diff --git a/Assets/Scripts/Project/Objects/Other/MirrorController.cs b/Assets/Scripts/Project/Objects/Other/MirrorController.cs index e2d974a..99fc3f1 100644 --- a/Assets/Scripts/Project/Objects/Other/MirrorController.cs +++ b/Assets/Scripts/Project/Objects/Other/MirrorController.cs @@ -24,6 +24,7 @@ public class MirrorController : PermanentTriggerBase if (GameManager.ProcessMgr.IsRightSubProcessStepsTriggerID(triggerName, true) == 0) { GameManager.UIMgr.ShowPanel(E_UI_Layer.Mid); + _highlight.SetHighlighted(false); } } diff --git a/Assets/Scripts/Project/Objects/Other/NPCController.cs b/Assets/Scripts/Project/Objects/Other/NPCController.cs index a25abb9..5723a89 100644 --- a/Assets/Scripts/Project/Objects/Other/NPCController.cs +++ b/Assets/Scripts/Project/Objects/Other/NPCController.cs @@ -15,7 +15,7 @@ public class NPCController : PermanentTriggerBase /// /// Ƿ񿿽 /// - private bool isClose = false; + public bool isClose = false; private void Update() { diff --git a/Assets/Scripts/Project/UI/UI_Item/UI_SubProcessItem.cs b/Assets/Scripts/Project/UI/UI_Item/UI_SubProcessItem.cs index 4ca0103..24fa229 100644 --- a/Assets/Scripts/Project/UI/UI_Item/UI_SubProcessItem.cs +++ b/Assets/Scripts/Project/UI/UI_Item/UI_SubProcessItem.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using TMPro; +using System; public class UI_SubProcessItem : BaseItem { @@ -10,6 +11,7 @@ public class UI_SubProcessItem : BaseItem public int subProcessID; public int subProcessStepID; public string warnnigTips; + private Action cancelCallback; public void Init(D_SubProcess d_SubProcess, int subProcessID) { @@ -41,17 +43,20 @@ public class UI_SubProcessItem : BaseItem GetControl("learningTips").gameObject.SetActive(false); } /// - /// + /// ݴ״̬ȥлѧϰл /// - /// + /// true Ƿѧϰ ,false ǰ軹ûѧ꣬ȷҪл /// 0 δвת1 вת - public void OnResetClick(bool isReset, int state) + /// cancelCallback :еò֮ڵýѡѧϰ֮󣬵ȷϿѡȡҪ÷ + public void OnResetClick(bool isReset, int state, Action _cancelCallback = null) { warnnigTips = isReset ? "Ƿѧϰ" : "ǰ軹ûѧ꣬ȷҪл"; if (state == 0) OnClick("subProcessBtn"); else CheckSubProcess(); + if (_cancelCallback != null) + cancelCallback += _cancelCallback; } protected override void OnClick(string btnName) { @@ -68,6 +73,9 @@ public class UI_SubProcessItem : BaseItem break; } } + /// + /// Ƿѧϰ + /// private void CheckSubProcess() { GameManager.UIMgr.ShowPanel(E_UI_Layer.System, (p) => @@ -81,6 +89,9 @@ public class UI_SubProcessItem : BaseItem GameManager.EventMgr.EventTrigger(Enum_EventType.SwitchSubProcess, subProcessID); //֪ͨ GameManager.EventMgr.EventTrigger(Enum_EventType.SwitchSubProcessStepTriggerID, ProcessManager.Instance.subProcessStepTriggerID); + }, () => + { + cancelCallback?.Invoke(); }); }); } diff --git a/Assets/Scripts/Project/UI/UI_Item/UI_ToolOrMaterialsOrDeviceItem.cs b/Assets/Scripts/Project/UI/UI_Item/UI_ToolOrMaterialsOrDeviceItem.cs index eafd2a2..a88ec70 100644 --- a/Assets/Scripts/Project/UI/UI_Item/UI_ToolOrMaterialsOrDeviceItem.cs +++ b/Assets/Scripts/Project/UI/UI_Item/UI_ToolOrMaterialsOrDeviceItem.cs @@ -64,6 +64,18 @@ public class UI_ToolOrMaterialsOrDeviceItem : BaseItem break; case "iconBtn": bool isWorkCard = currentItem.toolName.Equals("֤") ? false : true; + if (GameManager.RunModelMgr.ModeType != E_ModeType.Study) + { + if (currentItem.toolName.Equals("֤") && !LiveSceneManager.Instance.npcCustomController.isClose) + { + GameManager.UIMgr.ShowPanel(E_UI_Layer.System, (p) => + { + p.Init($"ʾ:뿿"); + }); + GameManager.EventMgr.EventTrigger(Enum_EventType.TakeOutAndRetrievingTheTools, null); + return; + } + } if (GameManager.ProcessMgr.IsRightSubProcessStepsTriggerID(currentItem.toolName, isWorkCard) == 0) { GameManager.UIMgr.HidePanel(); diff --git a/Assets/Scripts/Project/UI/UI_Panel/UI_MainTitlePanel.cs b/Assets/Scripts/Project/UI/UI_Panel/UI_MainTitlePanel.cs index 80260aa..fbce933 100644 --- a/Assets/Scripts/Project/UI/UI_Panel/UI_MainTitlePanel.cs +++ b/Assets/Scripts/Project/UI/UI_Panel/UI_MainTitlePanel.cs @@ -16,7 +16,7 @@ public class UI_MainTitlePanel : BasePanel internal void Init() { SwitchTitleImg(); - SwitchMode(); + //SwitchMode(); SwitchUserName(); } @@ -27,14 +27,18 @@ public class UI_MainTitlePanel : BasePanel public override void ShowMe() { GameManager.EventMgr.AddEventListener(Enum_EventType.SwitchMode, SwitchMode); + GameManager.EventMgr.AddEventListener(Enum_EventType.InitializationUI, InitializationUI); } + + /// /// 隐藏 /// public override void HideMe() { GameManager.EventMgr.RemoveEventListener(Enum_EventType.SwitchMode, SwitchMode); + GameManager.EventMgr.RemoveEventListener(Enum_EventType.InitializationUI, InitializationUI); } /// @@ -58,14 +62,26 @@ public class UI_MainTitlePanel : BasePanel mode = "考试模式"; break; } - GetControl