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));
});
}