diff --git a/Assets/Scenes/05_LiveScene.unity b/Assets/Scenes/05_LiveScene.unity index c333652..81f9f33 100644 --- a/Assets/Scenes/05_LiveScene.unity +++ b/Assets/Scenes/05_LiveScene.unity @@ -4520,7 +4520,7 @@ MonoBehaviour: cabinetDoor: {fileID: 1462070149} socket: {fileID: 127937610} inSwitch: {fileID: 1763547787} - jieXian_screws: + jieXian_lines: - {fileID: 302277751} - {fileID: 920818267} - {fileID: 302277750} diff --git a/Assets/Scripts/CXX/Devices/杂/接线完好检查/Check_JieXian.cs b/Assets/Scripts/CXX/Devices/杂/接线完好检查/Check_JieXian.cs index 569ea47..b03387d 100644 --- a/Assets/Scripts/CXX/Devices/杂/接线完好检查/Check_JieXian.cs +++ b/Assets/Scripts/CXX/Devices/杂/接线完好检查/Check_JieXian.cs @@ -13,7 +13,10 @@ public class Check_JieXian : PermanentTriggerBase public bool isChecked; private void OnMouseDown() { - Invoke("Check", 1); + if (SiteManager.instance.measuringCabinet.jieXian_lines.TrueForAll(a=>a.isConnected) && SiteManager.instance.measuringCabinet.meteringDevice.jieXian_screws.TrueForAll(a=>a.isInstall)) + { + Invoke("Check", 1); + } } /// @@ -23,7 +26,7 @@ public class Check_JieXian : PermanentTriggerBase { Debug.Log(""); isChecked = true; - gameObject.SetActive(false); + GetComponent().enabled = false; if (GameManager.UIMgr != null) { diff --git a/Assets/Scripts/CXX/Devices/计量柜/Device_MeasuringCabinet.cs b/Assets/Scripts/CXX/Devices/计量柜/Device_MeasuringCabinet.cs index 2dcaeea..8c48ded 100644 --- a/Assets/Scripts/CXX/Devices/计量柜/Device_MeasuringCabinet.cs +++ b/Assets/Scripts/CXX/Devices/计量柜/Device_MeasuringCabinet.cs @@ -28,7 +28,7 @@ public class Device_MeasuringCabinet : MonoBehaviour /// /// ܱ /// - public List jieXian_screws; + public List jieXian_lines; /// /// ܱײ @@ -47,8 +47,15 @@ public class Device_MeasuringCabinet : MonoBehaviour /// public Check_JieXian check_JieXian; - private void Awake() + { + AddActions(); + GameManager.EventMgr.AddEventListener(Enum_EventType.SwitchSubProcessStepTriggerID, SwitchSubProcessStepTriggerID); + } + /// + /// Ӹֲص + /// + public void AddActions() { //ӿлص inSwitch.AddAction(isOpen => @@ -64,9 +71,22 @@ public class Device_MeasuringCabinet : MonoBehaviour { //ˢ´״̬ CheckHasElectricity(); + //жϽʾ + CheckJieXianOk(); + }); + }); + + //Ӻȡ»ص + jieXian_lines.ForEach(line => + { + line.AddAction(isConnected => + { + //ˢ´״̬ + CheckHasElectricity(); + //жϽʾ + CheckJieXianOk(); }); }); - GameManager.EventMgr.AddEventListener(Enum_EventType.SwitchSubProcessStepTriggerID, SwitchSubProcessStepTriggerID); } private void SwitchSubProcessStepTriggerID(string arg0) { @@ -93,7 +113,7 @@ public class Device_MeasuringCabinet : MonoBehaviour meteringDevice.Init(true); //ԭ check_JieXian.isChecked = false; - check_JieXian.gameObject.SetActive(true); + check_JieXian.GetComponent().enabled = true; //ԭ cabinetDoor.CloseState(); @@ -102,7 +122,7 @@ public class Device_MeasuringCabinet : MonoBehaviour //ԭ߿ inSwitch.OpenState(); //ԭܱ - jieXian_screws.ForEach(screw => + jieXian_lines.ForEach(screw => { screw.isConnected = true; screw.transform.localPosition = new Vector3(screw.transform.localPosition.x, screw.InstallPosY, screw.transform.localPosition.z); @@ -120,7 +140,7 @@ public class Device_MeasuringCabinet : MonoBehaviour public void ClearLineScrew() { Debug.Log("߹˿"); - jieXian_screws.ForEach(a => + jieXian_lines.ForEach(a => { a.screws.Clear(); }); @@ -131,7 +151,7 @@ public class Device_MeasuringCabinet : MonoBehaviour public void SetLineScrew() { Debug.Log("¹˿"); - jieXian_screws.ForEach(a => + jieXian_lines.ForEach(a => { a.screws = meteringDevice.jieXian_screws.FindAll(b => b.gameObject.name.StartsWith(a.gameObject.name)); }); @@ -144,7 +164,7 @@ public class Device_MeasuringCabinet : MonoBehaviour { Debug.Log("״̬ˢ"); //˿Ƿ - jieXian_screws.ForEach(a => + jieXian_lines.ForEach(a => { if (!inSwitch.isOpen) { @@ -174,7 +194,26 @@ public class Device_MeasuringCabinet : MonoBehaviour a.hasElectricity = inSwitch.isOpen; }); } - + /// + /// ˢ½õʾ + /// + public void CheckJieXianOk() + { + if (jieXian_lines.TrueForAll(a => a.isConnected) && meteringDevice.jieXian_screws.TrueForAll(a => a.isInstall)) + { + //ʾ + SiteManager.instance.measuringCabinet.check_JieXian.isChecked = false; + SiteManager.instance.measuringCabinet.check_JieXian.GetComponent().enabled=true; + Debug.Log("ʾ"); + } + else + { + //ؽ + SiteManager.instance.measuringCabinet.check_JieXian.isChecked = true; + SiteManager.instance.measuringCabinet.check_JieXian.GetComponent().enabled = false; + Debug.Log("ؽ"); + } + } private void Update() { //ǷԴܱIJжװ @@ -185,7 +224,7 @@ public class Device_MeasuringCabinet : MonoBehaviour else { //̶ܱ˿ˣ߲ - if (!meteringDevice.fix_screw_left.isInstall && !meteringDevice.fix_screw_right.isInstall && jieXian_screws.TrueForAll(a => !a.isConnected)) + if (!meteringDevice.fix_screw_left.isInstall && !meteringDevice.fix_screw_right.isInstall && jieXian_lines.TrueForAll(a => !a.isConnected)) { dianCollider.enabled = true; } @@ -215,11 +254,8 @@ public class Device_MeasuringCabinet : MonoBehaviour meteringDevice.Add(); //߹˿ SetLineScrew(); - - //δ - SiteManager.instance.measuringCabinet.check_JieXian.isChecked = false; - SiteManager.instance.measuringCabinet.check_JieXian.gameObject.SetActive(true); - + //עص + AddActions(); //ˢ´״̬ CheckHasElectricity(); } diff --git a/Assets/Scripts/CXX/StepState/1002/StepState_1002.cs b/Assets/Scripts/CXX/StepState/1002/StepState_1002.cs index 8d2c2c5..4106dfe 100644 --- a/Assets/Scripts/CXX/StepState/1002/StepState_1002.cs +++ b/Assets/Scripts/CXX/StepState/1002/StepState_1002.cs @@ -64,13 +64,20 @@ public class StepState_1002 : StepState //ձ PacksackBagMgr.Instance.ClearAllToolAndDiveceAndMaterial(); - //ԭ - - + //ɵһȥ߼ + E_SceneType curret=GameManager.RunModelMgr.SceneType; + GameManager.RunModelMgr.SceneType = E_SceneType.Office; + if (GameManager.ProcessMgr.IsRightSubProcessStepsTriggerID("߼䰴ť", true)==0) + { + Debug.Log("߼䰴ťѵ"); + } + GameManager.RunModelMgr.SceneType = curret; } else if (num == 3006) { + //ѡȡ + //װõ List items=ToolAndmaterialMgr.Instance.GetItemInfoByName(new List { "ȫñ", "", "Ե", "Եѥ" }); items.ForEach(item => @@ -131,7 +138,7 @@ public class StepState_1002 : StepState //Ѽ SiteManager.instance.measuringCabinet.check_JieXian.isChecked = true; - SiteManager.instance.measuringCabinet.check_JieXian.gameObject.SetActive(false); + SiteManager.instance.measuringCabinet.check_JieXian.GetComponent().enabled = false; } else if (num == 3011) @@ -157,7 +164,7 @@ public class StepState_1002 : StepState SiteManager.instance.measuringCabinet.meteringDevice = null; //ܱȡ - SiteManager.instance.measuringCabinet.jieXian_screws.ForEach(screw => + SiteManager.instance.measuringCabinet.jieXian_lines.ForEach(screw => { screw.isConnected = false; screw.transform.localPosition = new Vector3(screw.transform.localPosition.x, screw.InstallPosY-2, screw.transform.localPosition.z); @@ -171,11 +178,15 @@ public class StepState_1002 : StepState SiteManager.instance.measuringCabinet.meteringDevice = GameObject.FindObjectOfType(true); SiteManager.instance.measuringCabinet.meteringDevice.gameObject.SetActive(true); + //עص + SiteManager.instance.measuringCabinet.AddActions(); + //̶˿š + SiteManager.instance.measuringCabinet.meteringDevice.FixScrewInstall(); //δ SiteManager.instance.measuringCabinet.check_JieXian.isChecked = false; - SiteManager.instance.measuringCabinet.check_JieXian.gameObject.SetActive(true); + SiteManager.instance.measuringCabinet.check_JieXian.GetComponent().enabled = true; //ܱ - SiteManager.instance.measuringCabinet.jieXian_screws.ForEach(screw => + SiteManager.instance.measuringCabinet.jieXian_lines.ForEach(screw => { screw.isConnected = true; screw.transform.localPosition = new Vector3(screw.transform.localPosition.x, screw.InstallPosY, screw.transform.localPosition.z); @@ -191,7 +202,7 @@ public class StepState_1002 : StepState //δ SiteManager.instance.measuringCabinet.check_JieXian.isChecked = true; - SiteManager.instance.measuringCabinet.check_JieXian.gameObject.SetActive(false); + SiteManager.instance.measuringCabinet.check_JieXian.GetComponent().enabled = false; } else if(num== 3016) { diff --git a/Assets/Scripts/CXX/Tools/Tool_BoxSeal.cs b/Assets/Scripts/CXX/Tools/Tool_BoxSeal.cs index 65c31fa..4e5a303 100644 --- a/Assets/Scripts/CXX/Tools/Tool_BoxSeal.cs +++ b/Assets/Scripts/CXX/Tools/Tool_BoxSeal.cs @@ -21,12 +21,14 @@ public class Tool_BoxSeal : Tool_Base if (SiteManager.instance.measuringCabinet.meteringDevice != null && !SiteManager.instance.measuringCabinet.meteringDevice.cover.isOpen) { //˿š˾Ͱװӡ - if (screw == SiteManager.instance.measuringCabinet.meteringDevice.fix_screw_left && SiteManager.instance.measuringCabinet.meteringDevice.fix_screw_left.isInstall) + if (screw == SiteManager.instance.measuringCabinet.meteringDevice.cover.cover_screw_Left && SiteManager.instance.measuringCabinet.meteringDevice.cover.cover_screw_Left.isInstall) { + //ӡ SiteManager.instance.measuringCabinet.meteringDevice.cover.cover_seal_Left.Install(); } - else if (screw == SiteManager.instance.measuringCabinet.meteringDevice.fix_screw_right && SiteManager.instance.measuringCabinet.meteringDevice.fix_screw_right.isInstall) + else if (screw == SiteManager.instance.measuringCabinet.meteringDevice.cover.cover_screw_Right && SiteManager.instance.measuringCabinet.meteringDevice.cover.cover_screw_Right.isInstall) { + //ҷӡ SiteManager.instance.measuringCabinet.meteringDevice.cover.cover_seal_Right.Install(); } } diff --git a/Assets/Scripts/CXX/Tools/Tool_Line.cs b/Assets/Scripts/CXX/Tools/Tool_Line.cs index eb85a18..9fd3598 100644 --- a/Assets/Scripts/CXX/Tools/Tool_Line.cs +++ b/Assets/Scripts/CXX/Tools/Tool_Line.cs @@ -1,4 +1,5 @@ using DG.Tweening; +using System; using System.Collections; using System.Collections.Generic; using UnityEngine; @@ -29,11 +30,18 @@ public class Tool_Line: Tool_Base /// public float InstallPosY; + private Action actionBack; + protected override void OnAwake() { base.OnAwake(); id = gameObject.name; } + + public void AddAction(Action actionBack) + { + this.actionBack = actionBack; + } protected override void OnMDown() { if ((triggerAction == null ? 0 : triggerAction.Invoke(triggerName, false)) == 0) @@ -47,6 +55,7 @@ public class Tool_Line: Tool_Base transform.DOLocalMoveY(InstallPosY - 2, 1).OnComplete(() => { isConnected = false; + actionBack?.Invoke(isConnected); int state = (triggerAction == null ? 0 : triggerAction.Invoke(triggerName, true)); }); } @@ -59,6 +68,7 @@ public class Tool_Line: Tool_Base transform.DOLocalMoveY(InstallPosY, 1).OnComplete(() => { isConnected = true; + actionBack?.Invoke(isConnected); int state = (triggerAction == null ? 0 : triggerAction.Invoke(triggerName, true)); }); }