using DG.Tweening;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
///
/// 柜门
///
public class Device_CabinetDoor : Device_Base
{
///
/// 验电位置
///
public Transform testPosAndRot;
///
/// 是否打开
///
public bool isOpen;
///
/// 是否带点
///
public bool hasElectricity;
public void Open()
{
Debug.Log("开门");
startAction?.Invoke();
//开锁
transform.Find("计量柜锁2/计量柜锁3").DOLocalRotate(new Vector3(-45f, 0, 0), 1).OnComplete(() =>
{
//开门
transform.DOLocalRotate(new Vector3(0, 0, 180), 3).OnComplete(() =>
{
isOpen = true;
endAction?.Invoke();
});
});
}
public void Close()
{
Debug.Log("关门");
startAction?.Invoke();
//关门
transform.DOLocalRotate(new Vector3(0, 0, 0), 3).OnComplete(() =>
{
//关锁
transform.Find("计量柜锁2/计量柜锁3").DOLocalRotate(new Vector3(0, 0, 0), 1).OnComplete(() =>
{
isOpen = false;
endAction?.Invoke();
});
});
}
protected override void OnMDown()
{
if (LiveSceneManager.Instance.currentTool != null && LiveSceneManager.Instance.currentTool.name == "验电笔")
return;
if ((triggerAction==null?0: triggerAction.Invoke(triggerName, true)) == 0)
{
base.OnMDown();
if (isOpen)
{
Close();
}
else
{
Open();
}
}
}
///
/// 门打开状态
///
public void OpenState()
{
SiteManager.instance.measuringCabinet.cabinetDoor.isOpen = true;
SiteManager.instance.measuringCabinet.cabinetDoor.transform.localEulerAngles = new Vector3(0, 0, 180);
SiteManager.instance.measuringCabinet.cabinetDoor.transform.Find("计量柜锁2/计量柜锁3").localEulerAngles = new Vector3(-45f, 0, 0);
}
///
/// 门关闭状态
///
public void CloseState()
{
isOpen = false;
transform.localEulerAngles = Vector3.zero;
transform.Find("计量柜锁2/计量柜锁3").localEulerAngles = Vector3.zero;
}
}