diff --git a/Assets/ArtRes/Sprite/UI_Panel/UI_ProcessTipPanel/任务感叹号按钮.png.meta b/Assets/ArtRes/Sprite/UI_Panel/UI_ProcessTipPanel/任务感叹号按钮.png.meta index d7d7a3d..07697e3 100644 --- a/Assets/ArtRes/Sprite/UI_Panel/UI_ProcessTipPanel/任务感叹号按钮.png.meta +++ b/Assets/ArtRes/Sprite/UI_Panel/UI_ProcessTipPanel/任务感叹号按钮.png.meta @@ -67,7 +67,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 8192 + maxTextureSize: 64 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Scripts/CXX/Devices/Device_Base.cs b/Assets/Scripts/CXX/Devices/Device_Base.cs index b1bc1c0..78735ae 100644 --- a/Assets/Scripts/CXX/Devices/Device_Base.cs +++ b/Assets/Scripts/CXX/Devices/Device_Base.cs @@ -13,6 +13,10 @@ public class Device_Base : PermanentTriggerBase /// trigger¼ /// public Func triggerAction; + /// + /// Ƿƶ + /// + public bool isMoving; private Vector3 head_LocalPos; private Vector3 head_LocalEulerAnglesl; @@ -55,6 +59,15 @@ public class Device_Base : PermanentTriggerBase this.triggerAction = action; } + public void AddStartAction(Action callback) + { + startAction += callback; + } + public void AddEndAction(Action callback) + { + endAction += callback; + } + /// /// ù߻صеλ /// diff --git a/Assets/Scripts/CXX/Devices/直接接入式电能计量装置/Device_3Phase4WireMeter.cs b/Assets/Scripts/CXX/Devices/直接接入式电能计量装置/Device_3Phase4WireMeter.cs index 525d457..7240442 100644 --- a/Assets/Scripts/CXX/Devices/直接接入式电能计量装置/Device_3Phase4WireMeter.cs +++ b/Assets/Scripts/CXX/Devices/直接接入式电能计量装置/Device_3Phase4WireMeter.cs @@ -184,11 +184,13 @@ public class Device_3Phase4WireMeter : Device_Base //µܱ if (!fix_screw_left.isInstall && !fix_screw_right.isInstall) { + startAction?.Invoke(); SiteManager.instance.measuringCabinet.meteringDevice = null; Debug.Log("ܱѲ"); transform.DOLocalMove(transform.localPosition - new Vector3(0, 0.2f, 0.2f), 2).OnComplete(() => { CallScoreAction(false); + endAction?.Invoke(); gameObject.SetActive(false); }); } @@ -203,6 +205,7 @@ public class Device_3Phase4WireMeter : Device_Base SiteManager.instance.measuringCabinet.meteringDevice = this; //ĬDz״̬ Init(false); + startAction?.Invoke(); transform.DOLocalMove(new Vector3(0.1469002f, -0.1793365f, 0.5191498f), 2).OnStart(() => { transform.localEulerAngles = Vector3.zero; @@ -211,6 +214,7 @@ public class Device_3Phase4WireMeter : Device_Base LiveSceneManager.Instance.currentTool = null; Debug.Log("ܱѰװ"); CallScoreAction(true); + endAction?.Invoke(); }); } } diff --git a/Assets/Scripts/CXX/Devices/直接接入式电能计量装置/Device_Cover.cs b/Assets/Scripts/CXX/Devices/直接接入式电能计量装置/Device_Cover.cs index 6fa0aa6..50d2df9 100644 --- a/Assets/Scripts/CXX/Devices/直接接入式电能计量装置/Device_Cover.cs +++ b/Assets/Scripts/CXX/Devices/直接接入式电能计量装置/Device_Cover.cs @@ -31,20 +31,24 @@ public class Device_Cover : Device_Base protected override void OnMDown() { base.OnMDown(); - if ((triggerAction == null ? 0 : triggerAction.Invoke(triggerName, false)) == 0) + if (!isMoving) { - isCheckOK = true; + if ((triggerAction == null ? 0 : triggerAction.Invoke(triggerName, false)) == 0) + { + isCheckOK = true; - if (!isOpen) - { - if (!cover_screw_Left.isInstall && !cover_screw_Right.isInstall) + if (!isOpen) { - Open(); + //˿šɲܲ + if (!cover_screw_Left.isInstall && !cover_screw_Right.isInstall) + { + Open(); + } + } + else + { + Close(); } - } - else if (isOpen) - { - Close(); } } } @@ -54,18 +58,26 @@ public class Device_Cover : Device_Base /// public void Open() { - Debug.Log("򿪸"); - isOpen = true; + //˿ڶܶ + if (!cover_screw_Left.isMoving && !cover_screw_Right.isMoving) + { + isMoving = true; + Debug.Log("򿪸"); + startAction?.Invoke(); + Transform parent = cover_screw_Left.transform.parent; + cover_screw_Left.transform.parent = transform; + cover_screw_Right.transform.parent = transform; + transform.DOLocalMove(new Vector3(transform.localPosition.x, -0.1388763f, -0.2485413f), 2).OnComplete(() => + { + isOpen = true; + cover_screw_Left.transform.parent = parent; + cover_screw_Right.transform.parent = parent; + isMoving = false; - Transform parent = cover_screw_Left.transform.parent; - cover_screw_Left.transform.parent = transform; - cover_screw_Right.transform.parent = transform; - transform.DOLocalMove(new Vector3(transform.localPosition.x, -0.1388763f, -0.2485413f), 2).OnComplete(() => - { - cover_screw_Left.transform.parent = parent; - cover_screw_Right.transform.parent = parent; - int result = (triggerAction == null ? 0 : triggerAction.Invoke(triggerName, true)); - }); + int result = (triggerAction == null ? 0 : triggerAction.Invoke(triggerName, true)); + endAction?.Invoke(); + }); + } } /// @@ -73,17 +85,25 @@ public class Device_Cover : Device_Base /// public void Close() { - Debug.Log("ϸ"); - isOpen = false; + //˿ڶܶ + if (!cover_screw_Left.isMoving && !cover_screw_Right.isMoving) + { + isMoving=true; + Debug.Log("ϸ"); + startAction?.Invoke(); + Transform parent = cover_screw_Left.transform.parent; + cover_screw_Left.transform.parent = transform; + cover_screw_Right.transform.parent = transform; + transform.DOLocalMove(new Vector3(transform.localPosition.x, 0.01112366f, -0.09854126f), 2).OnComplete(() => + { + isOpen = false; + cover_screw_Left.transform.parent = parent; + cover_screw_Right.transform.parent = parent; + isMoving = false; - Transform parent = cover_screw_Left.transform.parent; - cover_screw_Left.transform.parent = transform; - cover_screw_Right.transform.parent = transform; - transform.DOLocalMove(new Vector3(transform.localPosition.x, 0.01112366f, -0.09854126f), 2).OnComplete(() => - { - cover_screw_Left.transform.parent = parent; - cover_screw_Right.transform.parent = parent; - int result = (triggerAction == null ? 0 : triggerAction.Invoke(triggerName, true)); - }); + int result = (triggerAction == null ? 0 : triggerAction.Invoke(triggerName, true)); + endAction?.Invoke(); + }); + } } } diff --git a/Assets/Scripts/CXX/Devices/直接接入式电能计量装置/Device_NamePlate.cs b/Assets/Scripts/CXX/Devices/直接接入式电能计量装置/Device_NamePlate.cs index ecb116a..4fe5d69 100644 --- a/Assets/Scripts/CXX/Devices/直接接入式电能计量装置/Device_NamePlate.cs +++ b/Assets/Scripts/CXX/Devices/直接接入式电能计量装置/Device_NamePlate.cs @@ -34,6 +34,7 @@ public class Device_NamePlate : Device_Base GameObject tip = Instantiate(checkUiPrefb, GameManager.UIMgr.canvas.transform); ProcessTipPanel processTipPanel = tip.GetComponent(); + startAction?.Invoke(); //ʼ߽ processTipPanel.StartProcess(result => { @@ -49,6 +50,7 @@ public class Device_NamePlate : Device_Base } int state = (triggerAction == null ? 0 : triggerAction.Invoke(triggerName, true)); CallScoreAction(); + endAction?.Invoke(); } }); } diff --git a/Assets/Scripts/CXX/Devices/计量柜/Device_CabinetDoor.cs b/Assets/Scripts/CXX/Devices/计量柜/Device_CabinetDoor.cs index 16fa77a..b929175 100644 --- a/Assets/Scripts/CXX/Devices/计量柜/Device_CabinetDoor.cs +++ b/Assets/Scripts/CXX/Devices/计量柜/Device_CabinetDoor.cs @@ -23,6 +23,7 @@ public class Device_CabinetDoor : Device_Base public void Open() { Debug.Log(""); + startAction?.Invoke(); // transform.Find("2/3").DOLocalRotate(new Vector3(-45f, 0, 0), 1).OnComplete(() => { @@ -30,12 +31,14 @@ public class Device_CabinetDoor : Device_Base transform.DOLocalRotate(new Vector3(0, 0, 180), 3).OnComplete(() => { isOpen = true; + endAction?.Invoke(); }); }); } public void Close() { Debug.Log(""); + startAction?.Invoke(); // transform.DOLocalRotate(new Vector3(0, 0, 0), 3).OnComplete(() => { @@ -43,6 +46,7 @@ public class Device_CabinetDoor : Device_Base transform.Find("2/3").DOLocalRotate(new Vector3(0, 0, 0), 1).OnComplete(() => { isOpen = false; + endAction?.Invoke(); }); }); } diff --git a/Assets/Scripts/CXX/Tools/Tool_Base.cs b/Assets/Scripts/CXX/Tools/Tool_Base.cs index 9418304..7e19832 100644 --- a/Assets/Scripts/CXX/Tools/Tool_Base.cs +++ b/Assets/Scripts/CXX/Tools/Tool_Base.cs @@ -65,7 +65,14 @@ public class Tool_Base : PermanentTriggerBase { this.triggerAction = action; } - + public void AddStartAction(Action callback) + { + startAction += callback; + } + public void AddEndAction(Action callback) + { + endAction += callback; + } /// /// ù߻صеλ /// @@ -90,6 +97,7 @@ public class Tool_Base : PermanentTriggerBase transform.localPosition = head_LocalPos; transform.localEulerAngles = head_LocalEulerAnglesl; isMoving = false; + endAction?.Invoke(); }); } } diff --git a/Assets/Scripts/CXX/Tools/Tool_Screw.cs b/Assets/Scripts/CXX/Tools/Tool_Screw.cs index 7013aad..f975cc3 100644 --- a/Assets/Scripts/CXX/Tools/Tool_Screw.cs +++ b/Assets/Scripts/CXX/Tools/Tool_Screw.cs @@ -27,12 +27,6 @@ public class Tool_Screw : Tool_Base /// public bool hasElectricity; - /// - /// ƶܲ - /// - private bool isMoving; - - /// /// װ״̬ʱYlocalֵ /// @@ -61,35 +55,24 @@ public class Tool_Screw : Tool_Base /// public void BeInstalled(Tool_Screwdriver screwdriver) { - if (!isMoving) - { - isMoving = true; - Debug.Log("ʼš˿"); - //˿ʼλ - screwdriver.transform.parent = null; - screwdriver.transform.DOLocalRotate(installPos.localEulerAngles, 0.5f); - screwdriver.transform.DOMove(installPos.position, 1).OnComplete(() => + // + transform.DOLocalMoveY(initPostionY, 1) + .OnUpdate(() => { - // - transform.DOLocalMoveY(initPostionY, 1) - .OnUpdate(() => - { - transform.RotateAroundLocal(Vector3.up, 1); - screwdriver.transform.position = installPos.position; - screwdriver.transform.RotateAroundLocal(Vector3.right, 10); - }) - .OnComplete(() => - { - Debug.Log("˿š"); - isInstall = true; - isMoving = false; - installAction?.Invoke(true); - screwdriver.ReBackHead(); - screwdriver.isMoving = false; - CallScoreAction(true); - }); + transform.RotateAroundLocal(Vector3.up, 1); + screwdriver.transform.position = installPos.position; + screwdriver.transform.RotateAroundLocal(Vector3.right, 10); + }) + .OnComplete(() => + { + Debug.Log("˿š"); + isInstall = true; + isMoving = false; + screwdriver.isMoving = false; + installAction?.Invoke(true); + screwdriver.ReBackHead(); + CallScoreAction(true); }); - } } /// @@ -98,34 +81,23 @@ public class Tool_Screw : Tool_Base /// public void BeUnInstalled(Tool_Screwdriver screwdriver) { - if (!isMoving) - { - isMoving = true; - Debug.Log("ʼж˿"); - //˿ʼλ - screwdriver.transform.parent = null; - screwdriver.transform.DOLocalRotate(installPos.localEulerAngles, 0.5f); - screwdriver.transform.DOMove(installPos.position, 1).OnComplete(() => + // + transform.DOLocalMoveY(initPostionY - 0.02f, 1) + .OnUpdate(() => { - // - transform.DOLocalMoveY(initPostionY - 0.02f, 1) - .OnUpdate(() => - { - transform.RotateAroundLocal(Vector3.up, 1); - screwdriver.transform.position = installPos.position; - screwdriver.transform.RotateAroundLocal(Vector3.right, 10); - }) - .OnComplete(() => - { - Debug.Log("˿š"); - isInstall = false; - isMoving = false; - installAction?.Invoke(false); - screwdriver.ReBackHead(); - screwdriver.isMoving = false; - CallScoreAction(false); - }); + transform.RotateAroundLocal(Vector3.up, 1); + screwdriver.transform.position = installPos.position; + screwdriver.transform.RotateAroundLocal(Vector3.right, 10); + }) + .OnComplete(() => + { + Debug.Log("˿š"); + isInstall = false; + isMoving = false; + screwdriver.isMoving = false; + installAction?.Invoke(false); + screwdriver.ReBackHead(); + CallScoreAction(false); }); - } } } diff --git a/Assets/Scripts/CXX/Tools/Tool_Screwdriver.cs b/Assets/Scripts/CXX/Tools/Tool_Screwdriver.cs index 5801aac..fabc7ac 100644 --- a/Assets/Scripts/CXX/Tools/Tool_Screwdriver.cs +++ b/Assets/Scripts/CXX/Tools/Tool_Screwdriver.cs @@ -14,10 +14,19 @@ public class Tool_Screwdriver : Tool_Base /// public void Install(Tool_Screw screw) { - if (!screw.isInstall) + if (!screw.isInstall && !screw.isMoving && !isMoving) { + screw.isMoving = true; isMoving = true; - screw.BeInstalled(this); + Debug.Log("ʼš˿"); + startAction?.Invoke(); + //˿Ƶ˿ + transform.parent = null; + transform.DOLocalRotate(screw.installPos.localEulerAngles, 0.5f); + transform.DOMove(screw.installPos.position, 1).OnComplete(() => + { + screw.BeInstalled(this); + }); } } @@ -27,10 +36,19 @@ public class Tool_Screwdriver : Tool_Base /// public void UnInstall(Tool_Screw screw) { - if (screw.isInstall) + if (screw.isInstall && !screw.isMoving && !isMoving) { + screw.isMoving = true; isMoving = true; - screw.BeUnInstalled(this); + Debug.Log("ʼж˿"); + startAction?.Invoke(); + //˿Ƶ˿ + transform.parent = null; + transform.DOLocalRotate(screw.installPos.localEulerAngles, 0.5f); + transform.DOMove(screw.installPos.position, 1).OnComplete(() => + { + screw.BeUnInstalled(this); + }); } } diff --git a/Assets/Scripts/CXX/Tools/Tool_TestPen.cs b/Assets/Scripts/CXX/Tools/Tool_TestPen.cs index bc7cdbd..829bbc4 100644 --- a/Assets/Scripts/CXX/Tools/Tool_TestPen.cs +++ b/Assets/Scripts/CXX/Tools/Tool_TestPen.cs @@ -116,6 +116,7 @@ public class Tool_TestPen : Tool_Base if (tool_base.toolType == ToolType.˿) { var tmp = ((Tool_Screw)tool_base); + base.startAction?.Invoke(); //λƶ transform.parent = null; transform.DOLocalRotate(tmp.installPos.localEulerAngles, 0.5f); diff --git a/Assets/Scripts/CXX/Tools/Tool_WireStripper.cs b/Assets/Scripts/CXX/Tools/Tool_WireStripper.cs index 3e601f6..ab9f553 100644 --- a/Assets/Scripts/CXX/Tools/Tool_WireStripper.cs +++ b/Assets/Scripts/CXX/Tools/Tool_WireStripper.cs @@ -15,10 +15,11 @@ public class Tool_WireStripper : Tool_Base /// public void CutOpen(Device_Seal device_Seal) { - isMoving = true; + base.startAction?.Invoke(); + base.isMoving = true; transform.parent = null; transform.DORotate(device_Seal.testPosAndRot.eulerAngles, 0.5f); - transform.DOMove(device_Seal.testPosAndRot.position, 1).OnComplete(() => + transform.DOMove(device_Seal.testPosAndRot.position, 1).OnComplete(() => { //Ŷ StopAllCoroutines(); @@ -51,6 +52,7 @@ public class Tool_WireStripper : Tool_Base // device_Seal.Cut(); isMoving = false; + ReBackHead(); int result = (triggerAction == null ? 0 : triggerAction.Invoke(device_Seal.triggerName, true)); } @@ -67,7 +69,7 @@ public class Tool_WireStripper : Tool_Base Device_Seal ds = hit.transform.GetComponent(); if (ds != null) { - if ((triggerAction == null ? 0 : triggerAction.Invoke(ds.triggerName, false))== 0) + if ((triggerAction == null ? 0 : triggerAction.Invoke(ds.triggerName, false)) == 0) { CutOpen(ds); } diff --git a/Assets/Scripts/Project/Manager/LiveSceneManager.cs b/Assets/Scripts/Project/Manager/LiveSceneManager.cs index 95d3bc7..b87f62d 100644 --- a/Assets/Scripts/Project/Manager/LiveSceneManager.cs +++ b/Assets/Scripts/Project/Manager/LiveSceneManager.cs @@ -25,9 +25,29 @@ public class LiveSceneManager : SingletonMono 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); + currentTool.GetComponent().AddStartAction(() => + { + tMDTips.gameObject.SetActive(false); + }); + currentTool.GetComponent().AddEndAction(() => + { + tMDTips.gameObject.SetActive(true); + }); + } tMDTips.gameObject.SetActive(true); if (currentTool.name.Equals("֤")) { diff --git a/Assets/Scripts/Project/Manager/ProcessManager.cs b/Assets/Scripts/Project/Manager/ProcessManager.cs index 1845aef..7ecc1c1 100644 --- a/Assets/Scripts/Project/Manager/ProcessManager.cs +++ b/Assets/Scripts/Project/Manager/ProcessManager.cs @@ -137,7 +137,6 @@ public class ProcessManager : BaseManager { HandoverSubProcess(spID, 0); GameManager.EventMgr.EventTrigger(Enum_EventType.SwitchSubProcess, d_Scheme.CurrentProcess.CurrentSubProcessId); - //Debug.Log($"进入下一步子流程"); //Debug.Log("进入下一步子流程"); return true; } @@ -171,13 +170,13 @@ public class ProcessManager : BaseManager } } - + //public int currentSubProcessIDTemp = 0; /// /// 0 正常,1 不在当前步骤触发ID,2 当前步骤没有触发ID了 /// - /// + /// /// - public int IsRightSubProcessStepsTriggerID(string triggerID, bool isRemove) + public int IsRightSubProcessStepsTriggerID(string triggerName, bool isRemove) { if (GameManager.RunModelMgr.ModeType != E_ModeType.Study) return 0; if (d_Scheme.CurrentProcess.CurrentSubProcess.CurrentSubProcessStep.precondition == GameManager.RunModelMgr.SceneType.ToString()) @@ -185,7 +184,7 @@ public class ProcessManager : BaseManager if (d_Scheme.CurrentProcess.CurrentSubProcess.CurrentSubProcessStep.triggersName.Count > 0) { string currentSubProcessStepTriggerID = d_Scheme.CurrentProcess.CurrentSubProcess.CurrentSubProcessStep.triggersName[0]; - if (triggerID == currentSubProcessStepTriggerID) + if (triggerName == currentSubProcessStepTriggerID) { if (isRemove) { @@ -193,7 +192,15 @@ public class ProcessManager : BaseManager } if (d_Scheme.CurrentProcess.CurrentSubProcess.CurrentSubProcessStep.triggersName.Count == 0) { - if (triggerID != "工具间按钮" && triggerID != "现场按钮" && triggerID != "收回工具") + //if (currentSubProcessIDTemp == d_Scheme.CurrentProcess.CurrentSubProcess.CurrentSubProcessStep.subProcessId) + //{ + // Debug.Log($"子流程id相等"); + //} + //else + //{ + // Debug.Log($"子流程id不相等"); + //} + if (triggerName != "工具间按钮" && triggerName != "现场按钮" && triggerName != "收回工具") { GameManager.UIMgr.ShowPanel(E_UI_Layer.System, (p) => { @@ -210,6 +217,7 @@ public class ProcessManager : BaseManager } } CurrentSubProcessStepTriggerNames(); + return 0; } else diff --git a/Assets/Scripts/Project/Objects/Other/PermanentTriggerBase.cs b/Assets/Scripts/Project/Objects/Other/PermanentTriggerBase.cs index adef67b..015c8ca 100644 --- a/Assets/Scripts/Project/Objects/Other/PermanentTriggerBase.cs +++ b/Assets/Scripts/Project/Objects/Other/PermanentTriggerBase.cs @@ -18,6 +18,14 @@ public class PermanentTriggerBase : MonoBehaviour /// ¼ /// private Action scoreAction; + /// + /// ʼĻصΪ↑ʼʹʱã豸Ϊʼʱã + /// + protected Action startAction; + /// + /// صΪصʱã豸Ϊʱã + /// + protected Action endAction; private void Awake() { diff --git a/Assets/Scripts/Project/UI/UI_Item/UI_SubProcessItem.cs b/Assets/Scripts/Project/UI/UI_Item/UI_SubProcessItem.cs index da583f4..baa5c57 100644 --- a/Assets/Scripts/Project/UI/UI_Item/UI_SubProcessItem.cs +++ b/Assets/Scripts/Project/UI/UI_Item/UI_SubProcessItem.cs @@ -26,10 +26,7 @@ public class UI_SubProcessItem : BaseItem { GameManager.EventMgr.AddEventListener(Enum_EventType.SwitchSubProcess, SwitchSubProcess); } - public override void HideMe() - { - GameManager.EventMgr.RemoveEventListener(Enum_EventType.SwitchSubProcess, SwitchSubProcess); - } + /// /// ưť״̬ /// @@ -48,12 +45,27 @@ public class UI_SubProcessItem : BaseItem switch (btnName) { case "subProcessBtn": - GameManager.ProcessMgr.HandoverProcess(processID, subProcessID, subProcessStepID); - // - StepStateControl.instance.InvokeInitStepState(GameManager.Instance.systemId, GameManager.ProcessMgr.d_Scheme.id, subProcessID); - GameManager.EventMgr.EventTrigger(Enum_EventType.SwitchSubProcess, subProcessID); - Debug.LogError(ProcessManager.Instance.subProcessStepTriggerID); - GameManager.EventMgr.EventTrigger(Enum_EventType.SwitchSubProcessStepTriggerID, ProcessManager.Instance.subProcessStepTriggerID); + + if (GameManager.ProcessMgr.d_Scheme.CurrentProcess.CurrentSubProcess.CurrentSubProcessStep.triggersName.Count > 0) + { + GameManager.UIMgr.ShowPanel(E_UI_Layer.System, (p) => + { + p.Init("ʾ", "ǰ軹ûѧ꣬ȷҪл", E_MessageType.Error, () => + { + GameManager.ProcessMgr.HandoverProcess(processID, subProcessID, subProcessStepID); + // + StepStateControl.instance.InvokeInitStepState(GameManager.Instance.systemId, GameManager.ProcessMgr.d_Scheme.id, subProcessID); + GameManager.EventMgr.EventTrigger(Enum_EventType.SwitchSubProcess, subProcessID); + //Debug.LogError(ProcessManager.Instance.subProcessStepTriggerID); + GameManager.EventMgr.EventTrigger(Enum_EventType.SwitchSubProcessStepTriggerID, ProcessManager.Instance.subProcessStepTriggerID); + }, + () => + { + GameManager.UIMgr.HidePanel(); + }); + }); + } + break; } } diff --git a/Assets/Scripts/Project/UI/UI_Panel/UI_MenuBar.cs b/Assets/Scripts/Project/UI/UI_Panel/UI_MenuBar.cs index e5b03f3..717a655 100644 --- a/Assets/Scripts/Project/UI/UI_Panel/UI_MenuBar.cs +++ b/Assets/Scripts/Project/UI/UI_Panel/UI_MenuBar.cs @@ -57,37 +57,54 @@ public class UI_MenuBar : BasePanel private void SwitchSubProcessStepTriggerID(string triggerID) { + bool isOpen = false; if (triggerID == workOrderName) { GameManager.UIMgr.imageTips.ShowTips(workOrderBtn.GetComponent()); + isOpen = true; } else if (triggerID == disassemblyAssemblyWorkOrderName) { GameManager.UIMgr.imageTips.ShowTips(disassemblyAssemblyWorkOrderBtn.GetComponent()); + isOpen = true; } else if (triggerID == toolKitName) { GameManager.UIMgr.imageTips.ShowTips(toolKitBtn.GetComponent()); + isOpen = true; } else if (triggerID == siteName) { GameManager.UIMgr.imageTips.ShowTips(siteBtn.GetComponent()); + isOpen = true; } else if (triggerID == officeName) { GameManager.UIMgr.imageTips.ShowTips(officeBtn.GetComponent()); + isOpen = true; } else if (triggerID == toolRoomName) { GameManager.UIMgr.imageTips.ShowTips(toolRoomBtn.GetComponent()); + isOpen = true; } else if (triggerID == notifyName) { GameManager.UIMgr.imageTips.ShowTips(notifyBtn.GetComponent()); + isOpen = true; } else { GameManager.UIMgr.imageTips.HideTips(); + isOpen = false; + } + if (isOpen) + { + OpenMenu(); + } + else + { + CloseMenu(); } } @@ -99,11 +116,7 @@ public class UI_MenuBar : BasePanel public void CheckBtnBySceneName(E_SceneType type) { Debug.Log(type.ToString()); - if (GetControl("MenuBar").transform.localPosition.x == 960) - { - GetControl("CloseDefaultBtn").sprite = ExpandSprite; - GetControl("MenuBar").transform.DOLocalMoveX(1070, 0.5f); - } + CloseMenu(); toolRoomBtn.gameObject.SetActive(type != E_SceneType.ToolRoom); siteBtn.gameObject.SetActive(type == E_SceneType.ToolRoom); workOrderBtn.gameObject.SetActive(type == E_SceneType.Office); @@ -114,6 +127,17 @@ public class UI_MenuBar : BasePanel notifyBtn.gameObject.SetActive(type == E_SceneType.Site); } + private void OpenMenu() + { + GetControl("CloseDefaultBtn").sprite = ExpandSprite; + GetControl("MenuBar").rectTransform.DOAnchorPosX(0, 0.5f); + } + + private void CloseMenu() + { + GetControl("MenuBar").rectTransform.DOAnchorPosX(110, 0.5f); + GetControl("CloseDefaultBtn").sprite = CollapseSprite; + } /// /// ʱ @@ -128,7 +152,7 @@ public class UI_MenuBar : BasePanel while (countDown > 0) { yield return waitForSeconds; - GetControl("MenuBar").transform.DOLocalMoveX(1070, 0.5f); + CloseMenu(); } } protected override void OnClick(string btnName) @@ -136,12 +160,13 @@ public class UI_MenuBar : BasePanel switch (btnName) { case "CloseDefaultBtn": - GetControl("MenuBar").transform.DOLocalMoveX(960, 0.5f); - GetControl("CloseDefaultBtn").sprite = CollapseSprite; - if (GetControl("MenuBar").transform.localPosition.x == 960) + if (GetControl("MenuBar").rectTransform.anchoredPosition.x == 0) { - GetControl("CloseDefaultBtn").sprite = ExpandSprite; - GetControl("MenuBar").transform.DOLocalMoveX(1070, 0.5f); + CloseMenu(); + } + else if (GetControl("MenuBar").rectTransform.anchoredPosition.x == 110) + { + OpenMenu(); } break; case "OfficeBtn": diff --git a/Assets/Scripts/Project/UI/UI_Panel/UI_MessagePanel.cs b/Assets/Scripts/Project/UI/UI_Panel/UI_MessagePanel.cs index 6938877..9ed21e8 100644 --- a/Assets/Scripts/Project/UI/UI_Panel/UI_MessagePanel.cs +++ b/Assets/Scripts/Project/UI/UI_Panel/UI_MessagePanel.cs @@ -49,16 +49,16 @@ public class UI_MessagePanel : BasePanel case E_MessageType.Error: GetControl("Image_NormalBackGround").gameObject.SetActive(true); GetControl