步骤还原
This commit is contained in:
parent
a49d45718e
commit
8c8ebef03a
|
@ -4520,7 +4520,7 @@ MonoBehaviour:
|
|||
cabinetDoor: {fileID: 1462070149}
|
||||
socket: {fileID: 127937610}
|
||||
inSwitch: {fileID: 1763547787}
|
||||
jieXian_screws:
|
||||
jieXian_lines:
|
||||
- {fileID: 302277751}
|
||||
- {fileID: 920818267}
|
||||
- {fileID: 302277750}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
@ -23,7 +26,7 @@ public class Check_JieXian : PermanentTriggerBase
|
|||
{
|
||||
Debug.Log("½ÓÏßÍêºÃ");
|
||||
isChecked = true;
|
||||
gameObject.SetActive(false);
|
||||
GetComponent<BoxCollider>().enabled = false;
|
||||
|
||||
if (GameManager.UIMgr != null)
|
||||
{
|
||||
|
|
|
@ -28,7 +28,7 @@ public class Device_MeasuringCabinet : MonoBehaviour
|
|||
/// <summary>
|
||||
/// 电能表接线
|
||||
/// </summary>
|
||||
public List<Tool_Line> jieXian_screws;
|
||||
public List<Tool_Line> jieXian_lines;
|
||||
|
||||
/// <summary>
|
||||
/// 电能表碰撞
|
||||
|
@ -47,8 +47,15 @@ public class Device_MeasuringCabinet : MonoBehaviour
|
|||
/// </summary>
|
||||
public Check_JieXian check_JieXian;
|
||||
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
AddActions();
|
||||
GameManager.EventMgr.AddEventListener<string>(Enum_EventType.SwitchSubProcessStepTriggerID, SwitchSubProcessStepTriggerID);
|
||||
}
|
||||
/// <summary>
|
||||
/// 添加各种操作回调
|
||||
/// </summary>
|
||||
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<string>(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<BoxCollider>().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;
|
||||
});
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 刷新接线完好的显示隐藏
|
||||
/// </summary>
|
||||
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<BoxCollider>().enabled=true;
|
||||
Debug.Log("显示接线");
|
||||
}
|
||||
else
|
||||
{
|
||||
//隐藏接线完好物体
|
||||
SiteManager.instance.measuringCabinet.check_JieXian.isChecked = true;
|
||||
SiteManager.instance.measuringCabinet.check_JieXian.GetComponent<BoxCollider>().enabled = false;
|
||||
Debug.Log("隐藏接线");
|
||||
}
|
||||
}
|
||||
private void Update()
|
||||
{
|
||||
//是否可以触发能表的拆卸或安装电
|
||||
|
@ -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();
|
||||
}
|
||||
|
|
|
@ -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<Tool_SelectComponent> items=ToolAndmaterialMgr.Instance.GetItemInfoByName(new List<string> { "国网安全帽", "工作服", "绝缘手套", "绝缘靴" });
|
||||
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<BoxCollider>().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<Device_3Phase4WireMeter>(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<BoxCollider>().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<BoxCollider>().enabled = false;
|
||||
}
|
||||
else if(num== 3016)
|
||||
{
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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
|
|||
/// </summary>
|
||||
public float InstallPosY;
|
||||
|
||||
private Action<bool> actionBack;
|
||||
|
||||
protected override void OnAwake()
|
||||
{
|
||||
base.OnAwake();
|
||||
id = gameObject.name;
|
||||
}
|
||||
|
||||
public void AddAction(Action<bool> 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));
|
||||
});
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue