using DG.Tweening;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
public class StopValve : MonoBehaviour, IBeginDragHandler, IEndDragHandler, /*IDragHandler,*/ IPointerClickHandler
{
    private Vector3 start = new Vector3(0, 0, -80);
    //滑动点到阀门图片中点的向量
    [SerializeField] Image stopValveImage;   //截止阀
    public float timeCount = 0;
    public float limitTime = 0;
    public float linearMeasure;
    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 = transform.position;
        //sum = (int)linearMeasure;
    }
    ///// 
    ///// 拖拽中
    ///// 
    ///// 
    //public void OnDrag(PointerEventData eventData)
    //{
    //    timeCount += Time.deltaTime;
    //    if (timeCount > limitTime)
    //    {
    //        float x = Input.GetAxis("Mouse X");
    //        float y = Input.GetAxis("Mouse Y");
    //        if (x != 0 || y != 0)
    //        {
    //            if (x > 0 || y > 0)
    //            {
    //                sum = ZhuanSum;
    //            }
    //            else if (x < 0 || y < 0)
    //            {
    //                sum = -ZhuanSum;
    //            }
    //        }
    //        Debug.Log("旋转的方法"+x+" "+y);
    //        Deng(sum);
    //        timeCount = 0;
    //    }
    //}
    void Update()
    {
        if (true)
        {
        }
    }
    void Deng(float angle)
    {
        float z = Mathf.Clamp(angle, mix, max);
        stopValveImage.transform.eulerAngles = new Vector3(0, 0, z);
        linearMeasure = 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;
    }
    public void OnPointerClick(PointerEventData eventData)
    {
        //timeCount += Time.deltaTime;
        //if (timeCount > limitTime)
        //{
        //float x = Input.GetAxis("Mouse X");
        //float y = Input.GetAxis("Mouse Y");
        //if (x != 0 || y != 0)
        //{
        //    if (x > 0 || y > 0)
        //    {
        //        sum = ZhuanSum;
        //    }
        //    else if (x < 0 || y < 0)
        //    {
        //        sum = -ZhuanSum;
        //    }
        //}
        //Debug.Log("旋转的方法" + x + " " + y);
        //Deng(sum);
        int z = (int)linearMeasure;
        if (z % max != 0)
        {
            z += ZhuanSum;
        }
        else
        {
            z = mix;
        }
        Deng(z);
        //    timeCount = 0;
        //}
    }
}