From b45f5190d8cea1dfd694adcc2cc1737e09326a55 Mon Sep 17 00:00:00 2001 From: YangHua <1475658476@qq.com> Date: Thu, 5 Sep 2024 12:53:36 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=20=E4=BA=BA=E7=89=A9?= =?UTF-8?q?=E7=A7=BB=E5=8A=A8=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/Scenes/03_OfficeScene.unity | 12 + Assets/Scripts/Project/Manager/DataManager.cs | 2 +- .../Project/Manager/LiveSceneManager.cs | 11 +- .../Scripts/Project/Manager/OfficeManager.cs | 11 + .../Scripts/Project/Manager/TooRoomMannger.cs | 21 +- .../UI/UI_Panel/UI_CheckMyselfPanel.cs | 3 +- .../Project/UI/UI_Panel/UI_CheckTaskPanel.cs | 11 + .../UI/UI_Panel/UI_CustomSessionPanel.cs | 7 +- .../UI_DisassemblyAssemblyNoticePanel.cs | 11 +- .../UI_InstallAndDismantleTicketPanel.cs | 6 + .../UI_Panel/UI_LowTensionWorkTicketPanel.cs | 6 + .../Project/UI/UI_Panel/UI_MaskPanel.cs | 2 + .../Project/UI/UI_Panel/UI_MessagePanel.cs | 10 + .../UI/UI_Panel/UI_PlayerSessionPanel.cs | 10 + .../UI/UI_Panel/UI_PracticeCompletedPanel.cs | 10 + .../UI/UI_Panel/UI_ReceiveTaskPanel.cs | 11 + .../UI/UI_Panel/UI_SelectWorkTicketPanel.cs | 6 + .../UI/UI_Panel/UI_TipsForPracticePanel.cs | 11 + .../UI/UI_Panel/UI_ToolAndMaterialPanel.cs | 8 + .../ProjectBase/EventCenter/Enum_EventType.cs | 6 +- .../Wwz/OfficeScene/OfficeTimelineControl.cs | 8 +- .../Setting/科目/10002_1002_计量装置轮换.xml | 10 +- Assets/StreamingAssets/realtimeStat.json | 327 +++++++++++++++++- 23 files changed, 489 insertions(+), 31 deletions(-) diff --git a/Assets/Scenes/03_OfficeScene.unity b/Assets/Scenes/03_OfficeScene.unity index aeae7e3..4a361e5 100644 --- a/Assets/Scenes/03_OfficeScene.unity +++ b/Assets/Scenes/03_OfficeScene.unity @@ -300,6 +300,17 @@ GameObject: m_CorrespondingSourceObject: {fileID: 2399593117452945565, guid: 86a8666f9623b6b46b8f4b860a11546f, type: 3} m_PrefabInstance: {fileID: 267617284} m_PrefabAsset: {fileID: 0} +--- !u!114 &267617286 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 2399593117452945567, guid: 86a8666f9623b6b46b8f4b860a11546f, type: 3} + m_PrefabInstance: {fileID: 267617284} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 267617285} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d90ba6530d9bfda47abb4610956b2f44, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1 &772251462 GameObject: m_ObjectHideFlags: 0 @@ -841,6 +852,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: mobileController: {fileID: 919132148358585193} + firstPersonController: {fileID: 267617286} --- !u!1 &2077977345 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Scripts/Project/Manager/DataManager.cs b/Assets/Scripts/Project/Manager/DataManager.cs index 1907094..812c697 100644 --- a/Assets/Scripts/Project/Manager/DataManager.cs +++ b/Assets/Scripts/Project/Manager/DataManager.cs @@ -224,7 +224,7 @@ public class DataManager : BaseManager int index = i; foreach (var item in toolAndMaterialDic.Values) { - if (item.id == int.Parse(tmdTemp[index])) + if (item.objName == tmdTemp[index]) { D_ToolAndMaterialData d_ToolAndMaterialData = new D_ToolAndMaterialData(); d_ToolAndMaterialData.id = item.id; diff --git a/Assets/Scripts/Project/Manager/LiveSceneManager.cs b/Assets/Scripts/Project/Manager/LiveSceneManager.cs index 8659dbb..03a54b4 100644 --- a/Assets/Scripts/Project/Manager/LiveSceneManager.cs +++ b/Assets/Scripts/Project/Manager/LiveSceneManager.cs @@ -23,11 +23,14 @@ public class LiveSceneManager : SingletonMono tMDTips.gameObject.SetActive(false); GameManager.EventMgr.AddEventListener(Enum_EventType.TakeOutAndRetrievingTheTools, SetSpawnToolInfo); firstPersonController.zoomAction += OnZoom; - + GameManager.EventMgr.AddEventListener(Enum_EventType.PlayerCanMove, SwitchFirstPersonControllerMove); //ȫʼ device_Control.transform.GetComponentsInChildren(true).ToList().ForEach(a => a.Awake()); } - + public void SwitchFirstPersonControllerMove(bool isMove) + { + firstPersonController.playerCanMove = isMove; + } private void OnZoom(float value) { tMDTips.localScale = new Vector3(value, value, value); @@ -106,17 +109,19 @@ public class LiveSceneManager : SingletonMono if (ifdestroy) Destroy(currentTool); currentTool = null; - GameManager.EventMgr.EventTrigger(Enum_EventType.TakeOutAndRetrievingTheTools, null); + GameManager.EventMgr.EventTrigger(Enum_EventType.TakeOutAndRetrievingTheTools, null); } private void OnDestroy() { firstPersonController.zoomAction -= OnZoom; GameManager.EventMgr.RemoveEventListener(Enum_EventType.TakeOutAndRetrievingTheTools, SetSpawnToolInfo); + GameManager.EventMgr.RemoveEventListener(Enum_EventType.PlayerCanMove, SwitchFirstPersonControllerMove); } private void OnDisable() { firstPersonController.zoomAction -= OnZoom; GameManager.EventMgr.RemoveEventListener(Enum_EventType.TakeOutAndRetrievingTheTools, SetSpawnToolInfo); + GameManager.EventMgr.RemoveEventListener(Enum_EventType.PlayerCanMove, SwitchFirstPersonControllerMove); } } diff --git a/Assets/Scripts/Project/Manager/OfficeManager.cs b/Assets/Scripts/Project/Manager/OfficeManager.cs index 07c48ae..755092c 100644 --- a/Assets/Scripts/Project/Manager/OfficeManager.cs +++ b/Assets/Scripts/Project/Manager/OfficeManager.cs @@ -19,9 +19,13 @@ public class OfficeManager : SingletonMono /// ֻ /// public MobileController mobileController; + private FirstPersonController firstPersonController; void Start() { + firstPersonController = GameObject.FindGameObjectWithTag("Player").GetComponent(); + firstPersonController.gameObject.SetActive(false); GameManager.EventMgr.AddEventListener(Enum_EventType.OfficeTimeLineOver, OfficeTimeLineOver); + GameManager.EventMgr.AddEventListener(Enum_EventType.PlayerCanMove, SwitchFirstPersonControllerMove); GameManager.EventMgr.AddEventListener(Enum_EventType.InitializationUI, InitializationUI); if (GameManager.RunModelMgr.ModeType == E_ModeType.Study) { @@ -29,6 +33,11 @@ public class OfficeManager : SingletonMono } } + public void SwitchFirstPersonControllerMove(bool isMove) + { + firstPersonController.playerCanMove = isMove; + } + private void SwitchSubProcess(int subProcess) { if (!GameManager.UIMgr.GetPanel()) @@ -78,6 +87,7 @@ public class OfficeManager : SingletonMono GameManager.EventMgr.EventTrigger(Enum_EventType.SwitchScene, GameManager.RunModelMgr.SceneType); }); } + firstPersonController.gameObject.SetActive(true); } @@ -85,6 +95,7 @@ public class OfficeManager : SingletonMono { GameManager.EventMgr.RemoveEventListener(Enum_EventType.OfficeTimeLineOver, OfficeTimeLineOver); GameManager.EventMgr.RemoveEventListener(Enum_EventType.InitializationUI, InitializationUI); + GameManager.EventMgr.RemoveEventListener(Enum_EventType.PlayerCanMove, SwitchFirstPersonControllerMove); //GameManager.EventMgr.RemoveEventListener(Enum_EventType.SwitchSubProcess, SwitchSubProcess); } diff --git a/Assets/Scripts/Project/Manager/TooRoomMannger.cs b/Assets/Scripts/Project/Manager/TooRoomMannger.cs index b785615..beb7319 100644 --- a/Assets/Scripts/Project/Manager/TooRoomMannger.cs +++ b/Assets/Scripts/Project/Manager/TooRoomMannger.cs @@ -14,12 +14,12 @@ public class TooRoomMannger : SingletonMono public Transform shoesSlot; private List _cancel; //δ private List _wear; // - + private FirstPersonController firstPersonController; void Start() { allTMDs = toolParent.GetComponentsInChildren(true).ToList(); - - + firstPersonController = GameObject.FindGameObjectWithTag("Player").GetComponent(); + GameManager.EventMgr.AddEventListener(Enum_EventType.PlayerCanMove, SwitchFirstPersonControllerMove); _cancel = new List(); _wear = new List(); _cancel = Resources.LoadAll("Materials/CharacterEquip/Cancel").ToList(); @@ -31,7 +31,10 @@ public class TooRoomMannger : SingletonMono } RemoveRepeat(); } - + public void SwitchFirstPersonControllerMove(bool isMove) + { + firstPersonController.playerCanMove = isMove; + } /// /// /Ƴظ /// @@ -89,6 +92,16 @@ public class TooRoomMannger : SingletonMono } } + private void OnDestroy() + { + GameManager.EventMgr.RemoveEventListener(Enum_EventType.PlayerCanMove, SwitchFirstPersonControllerMove); + } + + private void OnDisable() + { + GameManager.EventMgr.RemoveEventListener(Enum_EventType.PlayerCanMove, SwitchFirstPersonControllerMove); + } + } /// diff --git a/Assets/Scripts/Project/UI/UI_Panel/UI_CheckMyselfPanel.cs b/Assets/Scripts/Project/UI/UI_Panel/UI_CheckMyselfPanel.cs index dc6620f..6062eec 100644 --- a/Assets/Scripts/Project/UI/UI_Panel/UI_CheckMyselfPanel.cs +++ b/Assets/Scripts/Project/UI/UI_Panel/UI_CheckMyselfPanel.cs @@ -13,8 +13,8 @@ public class UI_CheckMyselfPanel : BasePanel public override void ShowMe() { base.ShowMe(); + GameManager.EventMgr.EventTrigger(Enum_EventType.PlayerCanMove, false); var currentBagDataForTool = GameManager.PacksackBagMgr.GetItemsByE_TMDType(E_ToolOrDeviceOrMaterials.Tool); - foreach (var item in currentBagDataForTool.Keys) { if (validToolNames.Contains(item)) @@ -36,6 +36,7 @@ public class UI_CheckMyselfPanel : BasePanel public override void HideMe() { base.HideMe(); + GameManager.EventMgr.EventTrigger(Enum_EventType.PlayerCanMove, true); if (GameManager.RunModelMgr.ModeType == E_ModeType.Study) { GameManager.EventMgr.RemoveEventListener(Enum_EventType.WearState, OnWearState); diff --git a/Assets/Scripts/Project/UI/UI_Panel/UI_CheckTaskPanel.cs b/Assets/Scripts/Project/UI/UI_Panel/UI_CheckTaskPanel.cs index 2056948..b8825ad 100644 --- a/Assets/Scripts/Project/UI/UI_Panel/UI_CheckTaskPanel.cs +++ b/Assets/Scripts/Project/UI/UI_Panel/UI_CheckTaskPanel.cs @@ -6,6 +6,17 @@ using UnityEngine.UI; public class UI_CheckTaskPanel : BasePanel { + + public override void ShowMe() + { + base.ShowMe(); + GameManager.EventMgr.EventTrigger(Enum_EventType.PlayerCanMove, false); + } + public override void HideMe() + { + base.HideMe(); + GameManager.EventMgr.EventTrigger(Enum_EventType.PlayerCanMove, true); + } public void Init() { switch (ProcessManager.Instance.mode) diff --git a/Assets/Scripts/Project/UI/UI_Panel/UI_CustomSessionPanel.cs b/Assets/Scripts/Project/UI/UI_Panel/UI_CustomSessionPanel.cs index 8c68006..7deda6f 100644 --- a/Assets/Scripts/Project/UI/UI_Panel/UI_CustomSessionPanel.cs +++ b/Assets/Scripts/Project/UI/UI_Panel/UI_CustomSessionPanel.cs @@ -23,10 +23,15 @@ public class UI_CustomSessionPanel : BasePanel //UItext = GetControl("ClientText_DialogBox"); StartTypewriterEffect(clientTalk); } - + public override void ShowMe() + { + base.ShowMe(); + GameManager.EventMgr.EventTrigger(Enum_EventType.PlayerCanMove, false); + } public override void HideMe() { base.HideMe(); + GameManager.EventMgr.EventTrigger(Enum_EventType.PlayerCanMove, true); } //} /// diff --git a/Assets/Scripts/Project/UI/UI_Panel/UI_DisassemblyAssemblyNoticePanel.cs b/Assets/Scripts/Project/UI/UI_Panel/UI_DisassemblyAssemblyNoticePanel.cs index f3a2275..27c2400 100644 --- a/Assets/Scripts/Project/UI/UI_Panel/UI_DisassemblyAssemblyNoticePanel.cs +++ b/Assets/Scripts/Project/UI/UI_Panel/UI_DisassemblyAssemblyNoticePanel.cs @@ -14,7 +14,16 @@ public class UI_DisassemblyAssemblyNoticePanel : BasePanel GetControl public override void ShowMe() { + GameManager.EventMgr.EventTrigger(Enum_EventType.PlayerCanMove, false); GameManager.EventMgr.AddEventListener(Enum_EventType.HideMask, HideMask); } /// @@ -32,6 +33,7 @@ public class UI_MaskPanel : BasePanel /// public override void HideMe() { + GameManager.EventMgr.EventTrigger(Enum_EventType.PlayerCanMove, true); GameManager.EventMgr.RemoveEventListener(Enum_EventType.HideMask, HideMask); } private void HideMask() diff --git a/Assets/Scripts/Project/UI/UI_Panel/UI_MessagePanel.cs b/Assets/Scripts/Project/UI/UI_Panel/UI_MessagePanel.cs index fb4ec0c..f64313a 100644 --- a/Assets/Scripts/Project/UI/UI_Panel/UI_MessagePanel.cs +++ b/Assets/Scripts/Project/UI/UI_Panel/UI_MessagePanel.cs @@ -30,7 +30,17 @@ public class UI_MessagePanel : BasePanel this.sureAction += sureAction; this.cancelAction += cancelAction; } + public override void ShowMe() + { + base.ShowMe(); + GameManager.EventMgr.EventTrigger(Enum_EventType.PlayerCanMove, false); + } + public override void HideMe() + { + base.HideMe(); + GameManager.EventMgr.EventTrigger(Enum_EventType.PlayerCanMove, true); + } /// /// 选择提示模式 /// diff --git a/Assets/Scripts/Project/UI/UI_Panel/UI_PlayerSessionPanel.cs b/Assets/Scripts/Project/UI/UI_Panel/UI_PlayerSessionPanel.cs index 21d772e..b5d0347 100644 --- a/Assets/Scripts/Project/UI/UI_Panel/UI_PlayerSessionPanel.cs +++ b/Assets/Scripts/Project/UI/UI_Panel/UI_PlayerSessionPanel.cs @@ -22,7 +22,17 @@ public class UI_PlayerSessionPanel : BasePanel //UItext = GetControl("PlayerText_DialogBox"); StartTypewriterEffect(clientTalk); } + public override void ShowMe() + { + base.ShowMe(); + GameManager.EventMgr.EventTrigger(Enum_EventType.PlayerCanMove, false); + } + public override void HideMe() + { + base.HideMe(); + GameManager.EventMgr.EventTrigger(Enum_EventType.PlayerCanMove, true); + } //} /// /// ť diff --git a/Assets/Scripts/Project/UI/UI_Panel/UI_PracticeCompletedPanel.cs b/Assets/Scripts/Project/UI/UI_Panel/UI_PracticeCompletedPanel.cs index 66db1dd..ea411d8 100644 --- a/Assets/Scripts/Project/UI/UI_Panel/UI_PracticeCompletedPanel.cs +++ b/Assets/Scripts/Project/UI/UI_Panel/UI_PracticeCompletedPanel.cs @@ -24,7 +24,17 @@ public class UI_PracticeCompletedPanel : BasePanel GetControl("UsedTimesRes").text = (DateTime.Now - GameManager.RunModelMgr.startTime).ToString(@"hh\:mm\:ss"); Debug.Log("ʼʱ䣺" + GameManager.RunModelMgr.startTime.ToString() + " ʱ䣺" + DateTime.Now.ToString()); } + public override void ShowMe() + { + base.ShowMe(); + GameManager.EventMgr.EventTrigger(Enum_EventType.PlayerCanMove, false); + } + public override void HideMe() + { + base.HideMe(); + GameManager.EventMgr.EventTrigger(Enum_EventType.PlayerCanMove, true); + } protected override void OnClick(string btnName) { switch (btnName) diff --git a/Assets/Scripts/Project/UI/UI_Panel/UI_ReceiveTaskPanel.cs b/Assets/Scripts/Project/UI/UI_Panel/UI_ReceiveTaskPanel.cs index 5840e03..93601f0 100644 --- a/Assets/Scripts/Project/UI/UI_Panel/UI_ReceiveTaskPanel.cs +++ b/Assets/Scripts/Project/UI/UI_Panel/UI_ReceiveTaskPanel.cs @@ -18,6 +18,17 @@ public class UI_ReceiveTaskPanel : BasePanel rPanel.DOScale(new Vector3(1, 1, 1), 1f); this.triggerName = triggerName; } + public override void ShowMe() + { + base.ShowMe(); + GameManager.EventMgr.EventTrigger(Enum_EventType.PlayerCanMove, false); + } + + public override void HideMe() + { + base.HideMe(); + GameManager.EventMgr.EventTrigger(Enum_EventType.PlayerCanMove, true); + } protected override void OnClick(string btnName) { switch (btnName) diff --git a/Assets/Scripts/Project/UI/UI_Panel/UI_SelectWorkTicketPanel.cs b/Assets/Scripts/Project/UI/UI_Panel/UI_SelectWorkTicketPanel.cs index 312e19b..28e665b 100644 --- a/Assets/Scripts/Project/UI/UI_Panel/UI_SelectWorkTicketPanel.cs +++ b/Assets/Scripts/Project/UI/UI_Panel/UI_SelectWorkTicketPanel.cs @@ -21,10 +21,16 @@ public class UI_SelectWorkTicketPanel : BasePanel public override void ShowMe() { base.ShowMe(); + GameManager.EventMgr.EventTrigger(Enum_EventType.PlayerCanMove, false); if (GameManager.RunModelMgr.ModeType == E_ModeType.Study) GetControl