using DG.Tweening;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
public class StopValve : MonoBehaviour, IBeginDragHandler, IEndDragHandler, IDragHandler
{
private Vector3 start = new Vector3(0, 0, -80);
//滑动点到阀门图片中点的向量
[SerializeField] Image stopValveImage; //截止阀
public float timeCount = 0;
public float limitTime = 0;
public int index; //阀门旋转多少圈可以开到100
public Vector2 currentPos = new Vector2();
public Transform trans;
[SerializeField] int mix;
[SerializeField] int max;
[SerializeField] float X;//X或者特定轴要固定的
[SerializeField] int sum = 90;//初始位置
[SerializeField] int ZhuanSum;//要旋转一次的角度
void OnEnable()
{
//UIManager.ins.ButtonToUI_but(true, confirm, popup);
//AudioManager.ins.PlayAudio(7);
//StartCoroutine(Deng());
}
///
/// 开始拖拽
///
///
public void OnBeginDrag(PointerEventData eventData)
{
currentPos = eventData.position;
}
///
/// 拖拽中
///
///
public void OnDrag(PointerEventData eventData)
{
timeCount += Time.deltaTime;
if (timeCount > limitTime)
{
if (currentPos.x - eventData.position.x > 0)
{
sum += ZhuanSum;
}
if (currentPos.x - eventData.position.x < 0)
{
sum += -ZhuanSum;
}
Debug.Log("旋转的方法");
Deng(sum);
timeCount = 0;
}
}
void Deng(float angle)
{
float z = Mathf.Clamp(angle, mix, max);
stopValveImage.transform.eulerAngles = new Vector3(0, 0, z);
if (transform.name.Equals("万用表"))
{
trans.DOLocalRotate(new Vector3(X, 0, ~(int)z), 0.01f);
}
else
{
trans.DOLocalRotate(new Vector3(X, ~(int)z, 0), 0.01f);
}
Debug.Log(Mathf.Clamp(~(int)z, mix, max));
}
///
/// 拖拽结束
///
///
public void OnEndDrag(PointerEventData eventData)
{
timeCount = 0;
}
}