CultivationOfBrewing-2/Assets/Scripts/CXX/Tools/Tool_ElectricEnergyMeterCal...

126 lines
3.4 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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