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