From d954c3927dd102f3ddf8455e8419e8a89c4462b5 Mon Sep 17 00:00:00 2001 From: huqibin <762612145@qq.com> Date: Thu, 22 May 2025 17:02:40 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E6=8B=BF=E5=8F=96=E5=B7=A5=E5=85=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../HQB/Scene/10002_2002_03_OfficeScene.unity | 13 ++++ .../Scripts/Project/Manager/OfficeManager.cs | 64 +++++++++++++++++++ .../UI_Item/UI_ToolOrMaterialsOrDeviceItem.cs | 44 ++++++------- .../Scripts/Project/UI/UI_Panel/UI_MenuBar.cs | 6 +- .../Project/UI/UI_Panel/UI_TaskListPanel.cs | 4 +- .../UI/UI_Panel/UI_ToolAndMaterialPanel.cs | 2 +- .../科目/10002/10002_2002_计量装置轮换.xml | 2 +- 7 files changed, 106 insertions(+), 29 deletions(-) diff --git a/Assets/HQB/Scene/10002_2002_03_OfficeScene.unity b/Assets/HQB/Scene/10002_2002_03_OfficeScene.unity index b991d9e..3708b32 100644 --- a/Assets/HQB/Scene/10002_2002_03_OfficeScene.unity +++ b/Assets/HQB/Scene/10002_2002_03_OfficeScene.unity @@ -279,6 +279,16 @@ Transform: m_CorrespondingSourceObject: {fileID: 2399593117452945566, guid: 86a8666f9623b6b46b8f4b860a11546f, type: 3} m_PrefabInstance: {fileID: 267617284} m_PrefabAsset: {fileID: 0} +--- !u!4 &267617286 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 1927580343, guid: 86a8666f9623b6b46b8f4b860a11546f, type: 3} + m_PrefabInstance: {fileID: 267617284} + m_PrefabAsset: {fileID: 0} +--- !u!4 &267617287 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 1180096483, guid: 86a8666f9623b6b46b8f4b860a11546f, type: 3} + m_PrefabInstance: {fileID: 267617284} + m_PrefabAsset: {fileID: 0} --- !u!1 &275064191 stripped GameObject: m_CorrespondingSourceObject: {fileID: 6037827992223013548, guid: 93dcc543b6a0aa54c8eb58ff63a2342b, type: 3} @@ -4315,6 +4325,9 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: e84b5b8de3a3f154ba32f7748599c99d, type: 3} m_Name: m_EditorClassIdentifier: + currentTool: {fileID: 0} + spawnToolPos: {fileID: 267617286} + tMDTips: {fileID: 267617287} --- !u!114 &1986188607 MonoBehaviour: m_ObjectHideFlags: 0 diff --git a/Assets/Scripts/Project/Manager/OfficeManager.cs b/Assets/Scripts/Project/Manager/OfficeManager.cs index 814a89e..b7c325f 100644 --- a/Assets/Scripts/Project/Manager/OfficeManager.cs +++ b/Assets/Scripts/Project/Manager/OfficeManager.cs @@ -8,6 +8,10 @@ using UnityEngine; /// public class OfficeManager : SingletonMono { + public GameObject currentTool; + public Transform spawnToolPos; + public Transform tMDTips; + /// /// ֻ @@ -21,11 +25,17 @@ public class OfficeManager : SingletonMono //GameManager.EventMgr.AddEventListener(Enum_EventType.OfficeTimeLineOver, OfficeTimeLineOver); //GameManager.EventMgr.AddEventListener(Enum_EventType.PlayerCanMove, SwitchFirstPersonControllerMove); GameManager.EventMgr.AddEventListener(Enum_EventType.InitializationUI, InitializationUI); + + GameManager.RunModelMgr.SceneType = E_SceneType.Site; + if (GameManager.RunModelMgr.ModeType == E_ModeType.Study) { GameManager.EventMgr.AddEventListener(Enum_EventType.SwitchSubProcess, SwitchSubProcess); } + InitializationUI(); + + GameManager.EventMgr.AddEventListener(Enum_EventType.TakeOutAndRetrievingTheTools, SetSpawnToolInfo); } public void SwitchFirstPersonControllerMove(bool isMove) @@ -97,6 +107,8 @@ public class OfficeManager : SingletonMono { //GameManager.EventMgr.RemoveEventListener(Enum_EventType.OfficeTimeLineOver, OfficeTimeLineOver); GameManager.EventMgr.RemoveEventListener(Enum_EventType.InitializationUI, InitializationUI); + + GameManager.EventMgr.RemoveEventListener(Enum_EventType.TakeOutAndRetrievingTheTools, SetSpawnToolInfo); //GameManager.EventMgr.RemoveEventListener(Enum_EventType.PlayerCanMove, SwitchFirstPersonControllerMove); if (GameManager.UIMgr.GetPanel()) { @@ -106,4 +118,56 @@ public class OfficeManager : SingletonMono //GameManager.EventMgr.RemoveEventListener(Enum_EventType.SwitchSubProcess, SwitchSubProcess); } + //ֲLiveSceneManager + public void SetSpawnToolInfo(GameObject tool) + { + if (tool == null) + return; + currentTool = tool; + currentTool.transform.parent = Camera.main.transform; + currentTool.transform.localPosition = spawnToolPos.localPosition; + currentTool.transform.localEulerAngles = spawnToolPos.localEulerAngles; + if (currentTool.GetComponent()) + { + currentTool.GetComponent().SetHeadPosAndEulerang(currentTool.transform.localPosition, currentTool.transform.localEulerAngles); + currentTool.GetComponent().AddStartAction(() => + { + tMDTips.gameObject.SetActive(false); + }); + currentTool.GetComponent().AddEndAction(() => + { + tMDTips.gameObject.SetActive(true); + }); + } + if (currentTool.GetComponent()) + { + currentTool.GetComponent().SetHeadPosAndEulerang(currentTool.transform.localPosition, currentTool.transform.localEulerAngles); + } + tMDTips.gameObject.SetActive(true); + } + + public void OnCheckSubProcess(bool ifdestroy = true) + { + if (currentTool != null) + { + if (tMDTips != null) + tMDTips.gameObject.SetActive(false); + if (ifdestroy) + DestroyImmediate(currentTool); + currentTool = null; + GameManager.EventMgr.EventTrigger(Enum_EventType.TakeOutAndRetrievingTheTools, null); + } + } + + private void Update() + { + if (Input.GetKeyDown(KeyCode.Escape)) + { + if (currentTool != null) + { + Debug.Log("Escape"); + OnCheckSubProcess(); + } + } + } } diff --git a/Assets/Scripts/Project/UI/UI_Item/UI_ToolOrMaterialsOrDeviceItem.cs b/Assets/Scripts/Project/UI/UI_Item/UI_ToolOrMaterialsOrDeviceItem.cs index cc68ed3..175c208 100644 --- a/Assets/Scripts/Project/UI/UI_Item/UI_ToolOrMaterialsOrDeviceItem.cs +++ b/Assets/Scripts/Project/UI/UI_Item/UI_ToolOrMaterialsOrDeviceItem.cs @@ -79,28 +79,28 @@ public class UI_ToolOrMaterialsOrDeviceItem : BaseItem Destroy(gameObject); break; case "iconBtn": - bool isWorkCard = currentItem.toolName.Equals("֤") ? false : true; - if (currentItem.toolName.Equals("֤") && !LiveSceneManager.Instance.npcCustomController.isClose) - { + //bool isWorkCard = currentItem.toolName.Equals("֤") ? false : true; + //if (currentItem.toolName.Equals("֤") && !LiveSceneManager.Instance.npcCustomController.isClose) + //{ - if (GameManager.UIMgr.GetPanel() != null) - GameManager.UIMgr.GetPanel().Init("ʾ:ƶ󸽽"); - if (GameManager.UIMgr.GetPanel() == null) - { - GameManager.UIMgr.ShowPanel(E_UI_Layer.System, (p) => - { - p.Init($"ʾ:ƶ󸽽"); - }); - } - //GameManager.UIMgr.ShowPanel(E_UI_Layer.System, (p) => - //{ - // p.Init($"ʾ:ƶ󸽽"); - //}); - GameManager.EventMgr?.EventTrigger(Enum_EventType.PlayerCanMove, true); - return; - } - if (GameManager.ProcessMgr.IsRightSubProcessStepsTriggerID(currentItem.toolName, isWorkCard) == 0) - { + // if (GameManager.UIMgr.GetPanel() != null) + // GameManager.UIMgr.GetPanel().Init("ʾ:ƶ󸽽"); + // if (GameManager.UIMgr.GetPanel() == null) + // { + // GameManager.UIMgr.ShowPanel(E_UI_Layer.System, (p) => + // { + // p.Init($"ʾ:ƶ󸽽"); + // }); + // } + // //GameManager.UIMgr.ShowPanel(E_UI_Layer.System, (p) => + // //{ + // // p.Init($"ʾ:ƶ󸽽"); + // //}); + // GameManager.EventMgr?.EventTrigger(Enum_EventType.PlayerCanMove, true); + // return; + //} + //if (GameManager.ProcessMgr.IsRightSubProcessStepsTriggerID(currentItem.toolName, isWorkCard) == 0) + //{ GameManager.UIMgr.HidePanel(); GameObject currentTool = Instantiate(currentItem.objPrefab); currentTool.GetComponent().enabled = false; @@ -109,7 +109,7 @@ public class UI_ToolOrMaterialsOrDeviceItem : BaseItem GameManager.EventMgr.EventTrigger(Enum_EventType.TakeOutAndRetrievingTheTools, currentTool); if (currentTool.name != "ܱУ") GameManager.UIMgr.imageTips.HideTips(); - } + //} break; } } diff --git a/Assets/Scripts/Project/UI/UI_Panel/UI_MenuBar.cs b/Assets/Scripts/Project/UI/UI_Panel/UI_MenuBar.cs index c2d2b0d..457e07b 100644 --- a/Assets/Scripts/Project/UI/UI_Panel/UI_MenuBar.cs +++ b/Assets/Scripts/Project/UI/UI_Panel/UI_MenuBar.cs @@ -314,10 +314,10 @@ public class UI_MenuBar : BasePanel } break; case "ToolKitBtn": - if (GameManager.ProcessMgr.IsRightSubProcessStepsTriggerID(toolKitName, true) == 0) - { + //if (GameManager.ProcessMgr.IsRightSubProcessStepsTriggerID(toolKitName, true) == 0) + //{ GameManager.UIMgr.ShowPanel(E_UI_Layer.Mid); - } + //} break; case "NotifyBtn": if (GameManager.ProcessMgr.IsRightSubProcessStepsTriggerID(notifyName, false) == 0) diff --git a/Assets/Scripts/Project/UI/UI_Panel/UI_TaskListPanel.cs b/Assets/Scripts/Project/UI/UI_Panel/UI_TaskListPanel.cs index bae5d09..0b9ae44 100644 --- a/Assets/Scripts/Project/UI/UI_Panel/UI_TaskListPanel.cs +++ b/Assets/Scripts/Project/UI/UI_Panel/UI_TaskListPanel.cs @@ -16,8 +16,8 @@ public class UI_TaskListPanel : BasePanel public void Init(int subProcessID) { - rePractice.SetActive(GameManager.RunModelMgr.ModeType == E_ModeType.Practice); - reStudy.SetActive(GameManager.RunModelMgr.ModeType == E_ModeType.Study); + //rePractice.SetActive(GameManager.RunModelMgr.ModeType == E_ModeType.Practice); + //reStudy.SetActive(GameManager.RunModelMgr.ModeType == E_ModeType.Study); taskListScrollView.SetActive(GameManager.RunModelMgr.ModeType == E_ModeType.Study); GetControl