126 lines
3.4 KiB
C#
126 lines
3.4 KiB
C#
using System;
|
||
using System.Collections;
|
||
using System.Collections.Generic;
|
||
using UnityEngine;
|
||
using DG.Tweening;
|
||
|
||
/// <summary>
|
||
/// 电能表校验仪
|
||
/// </summary>
|
||
public class Tool_ElectricEnergyMeterCalibrationInstrument : MonoBehaviour
|
||
{
|
||
/// <summary>
|
||
/// 电能表校验仪器盖子
|
||
/// </summary>
|
||
public DeviceTrigger gaizi;
|
||
|
||
public bool isOpen = false;
|
||
|
||
/// <summary>
|
||
/// 线材交互区域
|
||
/// </summary>
|
||
public DeviceTrigger xianCaiJiaoHu;
|
||
|
||
/// <summary>
|
||
/// 校验仪交互区域
|
||
/// </summary>
|
||
public DeviceTrigger jiaoYanYiJiaoHu;
|
||
/// <summary>
|
||
/// 收回按钮
|
||
/// </summary>
|
||
public DeviceTrigger recoverJianYanYi;
|
||
public Collider[] allCollider;
|
||
|
||
|
||
public ThreePhaseEnergyMeterCalibrator threePhaseEnergyMeterCalibrator;
|
||
public TPEMLineController tPEMLineController;
|
||
|
||
void Awake()
|
||
{
|
||
gaizi.clickAction += () =>
|
||
{
|
||
if (GameManager.ProcessMgr.IsRightSubProcessStepsTriggerID(gaizi.triggerName, true) == 0)
|
||
{
|
||
if (!tPEMLineController.isCheck)
|
||
OpenGaiZi();
|
||
}
|
||
};
|
||
xianCaiJiaoHu.clickAction += () =>
|
||
{
|
||
if (GameManager.ProcessMgr.IsRightSubProcessStepsTriggerID(xianCaiJiaoHu.triggerName, true) == 0)
|
||
tPEMLineController.CheckLine();
|
||
};
|
||
jiaoYanYiJiaoHu.clickAction += () =>
|
||
{
|
||
if (LiveSceneManager.Instance?.currentTool == null)
|
||
{
|
||
if (GameManager.ProcessMgr.IsRightSubProcessStepsTriggerID(jiaoYanYiJiaoHu.triggerName, true) == 0)
|
||
threePhaseEnergyMeterCalibrator.SwitchPos();
|
||
}
|
||
};
|
||
recoverJianYanYi.Awake();
|
||
recoverJianYanYi.gameObject.SetActive(false);
|
||
recoverJianYanYi.clickAction += () =>
|
||
{
|
||
if (GameManager.ProcessMgr.IsRightSubProcessStepsTriggerID(recoverJianYanYi.triggerName, true) == 0)
|
||
{
|
||
Destroy(gameObject);
|
||
}
|
||
};
|
||
gaizi.transform.localEulerAngles = new Vector3(0, 0, 0);
|
||
}
|
||
private void Start()
|
||
{
|
||
if (!isOpen)
|
||
recoverJianYanYi.gameObject.SetActive(true);
|
||
}
|
||
|
||
|
||
/// <summary>
|
||
/// 0-手动开关盖子,1-自动开盖子
|
||
/// </summary>
|
||
public void OpenGaiZi(int state = 0)
|
||
{
|
||
if (state == 0)
|
||
{
|
||
isOpen = !isOpen;
|
||
if (isOpen)
|
||
gaizi.transform.DOLocalRotate(new Vector3(-90f, 0, 0), 0.5f).OnComplete(() =>
|
||
{
|
||
SwitchAllCollider(true);
|
||
});
|
||
else
|
||
gaizi.transform.DOLocalRotate(new Vector3(0, 0, 0), 0.5f).OnComplete(() =>
|
||
{
|
||
SwitchAllCollider(false);
|
||
});
|
||
recoverJianYanYi.gameObject.SetActive(!isOpen);
|
||
}
|
||
else
|
||
{
|
||
isOpen = true;
|
||
gaizi.transform.localEulerAngles = new Vector3(-90f, 0, 0);
|
||
SwitchAllCollider(true);
|
||
}
|
||
}
|
||
|
||
private void SwitchAllCollider(bool isEnable)
|
||
{
|
||
for (int i = 0; i < allCollider.Length; i++)
|
||
{
|
||
allCollider[i].enabled = isEnable;
|
||
}
|
||
}
|
||
|
||
/// <summary>
|
||
///点击线材交互区域
|
||
/// </summary>
|
||
public void OnClickXianCaiJiaoHu()
|
||
{
|
||
}
|
||
|
||
private void OnDestroy()
|
||
{
|
||
UIManager.Instance.toolTips.HideTips();
|
||
}
|
||
} |