using DG.Tweening;
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
///
/// 导电片
///
public class Device_ConductiveSheet : Device_Base
{
public bool isClose;
///
/// 铁片固定扳手螺丝
///
public Tool_SpannerScrew screw;
///
///低压电流互感器安装触发区
///
public DeviceTrigger LowVoltageCurrentTransformer_Trigger;
///
/// 低压电流互感器
///
public Device_LowVoltageCurrentTransformer transformer;
///
/// 合闸关闸回调
///
public Action openOrCloseAction;
protected override void OnMDown()
{
base.OnMDown();
if (!screw.isInstall)
{
if ((triggerAction == null ? 0 : triggerAction.Invoke(triggerName, true)) == 0)
{
if (isClose)
{
//打开
transform.DOLocalRotate(new Vector3(90, 0, 25), 0.5f).OnComplete(() =>
{
isClose = false;
openOrCloseAction?.Invoke(isClose);
base.CallScoreAction(false);
});
}
else
{
//合上
transform.DOLocalRotate(new Vector3(90, 0, 0), 0.5f).OnComplete(() =>
{
isClose = true;
openOrCloseAction?.Invoke(isClose);
base.CallScoreAction(true);
});
}
}
}
}
///
/// 直接设置开关状态
///
///
public void SetState(bool isClose)
{
this.isClose = isClose;
if(isClose)
{
//合上状态
transform.localEulerAngles = new Vector3(90, 0, 0);
screw.isInstall = true;
screw.transform.localPosition = new Vector3(screw.transform.localPosition.x, screw.initPostionY, screw.transform.localPosition.z);
}
else
{
//打开状态
transform.localEulerAngles = new Vector3(90, 0, 25);
screw.isInstall = false;
screw.transform.localPosition = new Vector3(screw.transform.localPosition.x, screw.initPostionY- 0.03f, screw.transform.localPosition.z);
}
}
}