using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using DG.Tweening;
///
/// 电能表校验仪
///
public class Tool_ElectricEnergyMeterCalibrationInstrument : MonoBehaviour
{
///
/// 电能表校验仪器盖子
///
public DeviceTrigger gaizi;
public bool isOpen = false;
///
/// 线材交互区域
///
public DeviceTrigger xianCaiJiaoHu;
///
/// 校验仪交互区域
///
public DeviceTrigger jiaoYanYiJiaoHu;
///
/// 收回按钮
///
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);
}
///
/// 0-手动开关盖子,1-自动开盖子
///
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;
}
}
///
///点击线材交互区域
///
public void OnClickXianCaiJiaoHu()
{
}
private void OnDestroy()
{
UIManager.Instance.toolTips.HideTips();
}
}