步骤还原
This commit is contained in:
parent
a49d45718e
commit
8c8ebef03a
|
@ -4520,7 +4520,7 @@ MonoBehaviour:
|
||||||
cabinetDoor: {fileID: 1462070149}
|
cabinetDoor: {fileID: 1462070149}
|
||||||
socket: {fileID: 127937610}
|
socket: {fileID: 127937610}
|
||||||
inSwitch: {fileID: 1763547787}
|
inSwitch: {fileID: 1763547787}
|
||||||
jieXian_screws:
|
jieXian_lines:
|
||||||
- {fileID: 302277751}
|
- {fileID: 302277751}
|
||||||
- {fileID: 920818267}
|
- {fileID: 920818267}
|
||||||
- {fileID: 302277750}
|
- {fileID: 302277750}
|
||||||
|
|
|
@ -12,9 +12,12 @@ public class Check_JieXian : PermanentTriggerBase
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public bool isChecked;
|
public bool isChecked;
|
||||||
private void OnMouseDown()
|
private void OnMouseDown()
|
||||||
|
{
|
||||||
|
if (SiteManager.instance.measuringCabinet.jieXian_lines.TrueForAll(a=>a.isConnected) && SiteManager.instance.measuringCabinet.meteringDevice.jieXian_screws.TrueForAll(a=>a.isInstall))
|
||||||
{
|
{
|
||||||
Invoke("Check", 1);
|
Invoke("Check", 1);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 检查成功
|
/// 检查成功
|
||||||
|
@ -23,7 +26,7 @@ public class Check_JieXian : PermanentTriggerBase
|
||||||
{
|
{
|
||||||
Debug.Log("接线完好");
|
Debug.Log("接线完好");
|
||||||
isChecked = true;
|
isChecked = true;
|
||||||
gameObject.SetActive(false);
|
GetComponent<BoxCollider>().enabled = false;
|
||||||
|
|
||||||
if (GameManager.UIMgr != null)
|
if (GameManager.UIMgr != null)
|
||||||
{
|
{
|
||||||
|
|
|
@ -28,7 +28,7 @@ public class Device_MeasuringCabinet : MonoBehaviour
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 电能表接线
|
/// 电能表接线
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public List<Tool_Line> jieXian_screws;
|
public List<Tool_Line> jieXian_lines;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 电能表碰撞
|
/// 电能表碰撞
|
||||||
|
@ -47,8 +47,15 @@ public class Device_MeasuringCabinet : MonoBehaviour
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public Check_JieXian check_JieXian;
|
public Check_JieXian check_JieXian;
|
||||||
|
|
||||||
|
|
||||||
private void Awake()
|
private void Awake()
|
||||||
|
{
|
||||||
|
AddActions();
|
||||||
|
GameManager.EventMgr.AddEventListener<string>(Enum_EventType.SwitchSubProcessStepTriggerID, SwitchSubProcessStepTriggerID);
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// 添加各种操作回调
|
||||||
|
/// </summary>
|
||||||
|
public void AddActions()
|
||||||
{
|
{
|
||||||
//添加开关切换回调
|
//添加开关切换回调
|
||||||
inSwitch.AddAction(isOpen =>
|
inSwitch.AddAction(isOpen =>
|
||||||
|
@ -64,9 +71,22 @@ public class Device_MeasuringCabinet : MonoBehaviour
|
||||||
{
|
{
|
||||||
//刷新带电状态
|
//刷新带电状态
|
||||||
CheckHasElectricity();
|
CheckHasElectricity();
|
||||||
|
//判断接线完好显示隐藏
|
||||||
|
CheckJieXianOk();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
//接线连接和取下回调
|
||||||
|
jieXian_lines.ForEach(line =>
|
||||||
|
{
|
||||||
|
line.AddAction(isConnected =>
|
||||||
|
{
|
||||||
|
//刷新带点状态
|
||||||
|
CheckHasElectricity();
|
||||||
|
//判断接线完好显示隐藏
|
||||||
|
CheckJieXianOk();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
GameManager.EventMgr.AddEventListener<string>(Enum_EventType.SwitchSubProcessStepTriggerID, SwitchSubProcessStepTriggerID);
|
|
||||||
}
|
}
|
||||||
private void SwitchSubProcessStepTriggerID(string arg0)
|
private void SwitchSubProcessStepTriggerID(string arg0)
|
||||||
{
|
{
|
||||||
|
@ -93,7 +113,7 @@ public class Device_MeasuringCabinet : MonoBehaviour
|
||||||
meteringDevice.Init(true);
|
meteringDevice.Init(true);
|
||||||
//还原接线完好
|
//还原接线完好
|
||||||
check_JieXian.isChecked = false;
|
check_JieXian.isChecked = false;
|
||||||
check_JieXian.gameObject.SetActive(true);
|
check_JieXian.GetComponent<BoxCollider>().enabled = true;
|
||||||
|
|
||||||
//还原柜门
|
//还原柜门
|
||||||
cabinetDoor.CloseState();
|
cabinetDoor.CloseState();
|
||||||
|
@ -102,7 +122,7 @@ public class Device_MeasuringCabinet : MonoBehaviour
|
||||||
//还原进线开关
|
//还原进线开关
|
||||||
inSwitch.OpenState();
|
inSwitch.OpenState();
|
||||||
//还原电能表接线
|
//还原电能表接线
|
||||||
jieXian_screws.ForEach(screw =>
|
jieXian_lines.ForEach(screw =>
|
||||||
{
|
{
|
||||||
screw.isConnected = true;
|
screw.isConnected = true;
|
||||||
screw.transform.localPosition = new Vector3(screw.transform.localPosition.x, screw.InstallPosY, screw.transform.localPosition.z);
|
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()
|
public void ClearLineScrew()
|
||||||
{
|
{
|
||||||
Debug.Log("清除接线关联的螺丝");
|
Debug.Log("清除接线关联的螺丝");
|
||||||
jieXian_screws.ForEach(a =>
|
jieXian_lines.ForEach(a =>
|
||||||
{
|
{
|
||||||
a.screws.Clear();
|
a.screws.Clear();
|
||||||
});
|
});
|
||||||
|
@ -131,7 +151,7 @@ public class Device_MeasuringCabinet : MonoBehaviour
|
||||||
public void SetLineScrew()
|
public void SetLineScrew()
|
||||||
{
|
{
|
||||||
Debug.Log("接线重新关联螺丝");
|
Debug.Log("接线重新关联螺丝");
|
||||||
jieXian_screws.ForEach(a =>
|
jieXian_lines.ForEach(a =>
|
||||||
{
|
{
|
||||||
a.screws = meteringDevice.jieXian_screws.FindAll(b => b.gameObject.name.StartsWith(a.gameObject.name));
|
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("带电状态刷新");
|
Debug.Log("带电状态刷新");
|
||||||
//进线螺丝是否带电
|
//进线螺丝是否带电
|
||||||
jieXian_screws.ForEach(a =>
|
jieXian_lines.ForEach(a =>
|
||||||
{
|
{
|
||||||
if (!inSwitch.isOpen)
|
if (!inSwitch.isOpen)
|
||||||
{
|
{
|
||||||
|
@ -174,7 +194,26 @@ public class Device_MeasuringCabinet : MonoBehaviour
|
||||||
a.hasElectricity = inSwitch.isOpen;
|
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()
|
private void Update()
|
||||||
{
|
{
|
||||||
//是否可以触发能表的拆卸或安装电
|
//是否可以触发能表的拆卸或安装电
|
||||||
|
@ -185,7 +224,7 @@ public class Device_MeasuringCabinet : MonoBehaviour
|
||||||
else
|
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;
|
dianCollider.enabled = true;
|
||||||
}
|
}
|
||||||
|
@ -215,11 +254,8 @@ public class Device_MeasuringCabinet : MonoBehaviour
|
||||||
meteringDevice.Add();
|
meteringDevice.Add();
|
||||||
//接线关联螺丝
|
//接线关联螺丝
|
||||||
SetLineScrew();
|
SetLineScrew();
|
||||||
|
//重新注册回调
|
||||||
//½ÓÏßδ¼ì²é
|
AddActions();
|
||||||
SiteManager.instance.measuringCabinet.check_JieXian.isChecked = false;
|
|
||||||
SiteManager.instance.measuringCabinet.check_JieXian.gameObject.SetActive(true);
|
|
||||||
|
|
||||||
//刷新带电状态
|
//刷新带电状态
|
||||||
CheckHasElectricity();
|
CheckHasElectricity();
|
||||||
}
|
}
|
||||||
|
|
|
@ -64,13 +64,20 @@ public class StepState_1002 : StepState
|
||||||
|
|
||||||
//清空背包
|
//清空背包
|
||||||
PacksackBagMgr.Instance.ClearAllToolAndDiveceAndMaterial();
|
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)
|
else if (num == 3006)
|
||||||
{
|
{
|
||||||
|
|
||||||
//选取工器具
|
//选取工器具
|
||||||
|
|
||||||
//服装拿到背包
|
//服装拿到背包
|
||||||
List<Tool_SelectComponent> items=ToolAndmaterialMgr.Instance.GetItemInfoByName(new List<string> { "国网安全帽", "工作服", "绝缘手套", "绝缘靴" });
|
List<Tool_SelectComponent> items=ToolAndmaterialMgr.Instance.GetItemInfoByName(new List<string> { "国网安全帽", "工作服", "绝缘手套", "绝缘靴" });
|
||||||
items.ForEach(item =>
|
items.ForEach(item =>
|
||||||
|
@ -131,7 +138,7 @@ public class StepState_1002 : StepState
|
||||||
|
|
||||||
//接线已检查
|
//接线已检查
|
||||||
SiteManager.instance.measuringCabinet.check_JieXian.isChecked = true;
|
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)
|
else if (num == 3011)
|
||||||
|
@ -157,7 +164,7 @@ public class StepState_1002 : StepState
|
||||||
SiteManager.instance.measuringCabinet.meteringDevice = null;
|
SiteManager.instance.measuringCabinet.meteringDevice = null;
|
||||||
|
|
||||||
//电能表接线取下了
|
//电能表接线取下了
|
||||||
SiteManager.instance.measuringCabinet.jieXian_screws.ForEach(screw =>
|
SiteManager.instance.measuringCabinet.jieXian_lines.ForEach(screw =>
|
||||||
{
|
{
|
||||||
screw.isConnected = false;
|
screw.isConnected = false;
|
||||||
screw.transform.localPosition = new Vector3(screw.transform.localPosition.x, screw.InstallPosY-2, screw.transform.localPosition.z);
|
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.FindObjectOfType<Device_3Phase4WireMeter>(true);
|
||||||
SiteManager.instance.measuringCabinet.meteringDevice.gameObject.SetActive(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.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.isConnected = true;
|
||||||
screw.transform.localPosition = new Vector3(screw.transform.localPosition.x, screw.InstallPosY, screw.transform.localPosition.z);
|
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.isChecked = true;
|
||||||
SiteManager.instance.measuringCabinet.check_JieXian.gameObject.SetActive(false);
|
SiteManager.instance.measuringCabinet.check_JieXian.GetComponent<BoxCollider>().enabled = false;
|
||||||
}
|
}
|
||||||
else if(num== 3016)
|
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 (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();
|
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();
|
SiteManager.instance.measuringCabinet.meteringDevice.cover.cover_seal_Right.Install();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
using DG.Tweening;
|
using DG.Tweening;
|
||||||
|
using System;
|
||||||
using System.Collections;
|
using System.Collections;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
@ -29,11 +30,18 @@ public class Tool_Line: Tool_Base
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public float InstallPosY;
|
public float InstallPosY;
|
||||||
|
|
||||||
|
private Action<bool> actionBack;
|
||||||
|
|
||||||
protected override void OnAwake()
|
protected override void OnAwake()
|
||||||
{
|
{
|
||||||
base.OnAwake();
|
base.OnAwake();
|
||||||
id = gameObject.name;
|
id = gameObject.name;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void AddAction(Action<bool> actionBack)
|
||||||
|
{
|
||||||
|
this.actionBack = actionBack;
|
||||||
|
}
|
||||||
protected override void OnMDown()
|
protected override void OnMDown()
|
||||||
{
|
{
|
||||||
if ((triggerAction == null ? 0 : triggerAction.Invoke(triggerName, false)) == 0)
|
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(() =>
|
transform.DOLocalMoveY(InstallPosY - 2, 1).OnComplete(() =>
|
||||||
{
|
{
|
||||||
isConnected = false;
|
isConnected = false;
|
||||||
|
actionBack?.Invoke(isConnected);
|
||||||
int state = (triggerAction == null ? 0 : triggerAction.Invoke(triggerName, true));
|
int state = (triggerAction == null ? 0 : triggerAction.Invoke(triggerName, true));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -59,6 +68,7 @@ public class Tool_Line: Tool_Base
|
||||||
transform.DOLocalMoveY(InstallPosY, 1).OnComplete(() =>
|
transform.DOLocalMoveY(InstallPosY, 1).OnComplete(() =>
|
||||||
{
|
{
|
||||||
isConnected = true;
|
isConnected = true;
|
||||||
|
actionBack?.Invoke(isConnected);
|
||||||
int state = (triggerAction == null ? 0 : triggerAction.Invoke(triggerName, true));
|
int state = (triggerAction == null ? 0 : triggerAction.Invoke(triggerName, true));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue