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