using System.Collections;
using System.Collections.Generic;
using UnityEngine;

namespace MPStudio
{
    public class ThrowRotate : MonoBehaviour
    {
        public float cd = 1f;

        private float timer = 0f;
        private float angleMove = 0f;

        private float initSpeed = -8;

        private float addSpeed = 0f;

        // Start is called before the first frame update
        void Start()
        {
            cd = 1f;
            addSpeed = getAddSpeed();
            //addSpeed = 0f;
            print("this addSpeed" + "：" + this.addSpeed);
        }

        float getAddSpeed()
        {
            float s = -2 * Mathf.PI;
            float v0 = initSpeed;
            float t = this.cd;
            return ((s - v0 * t) * 2f) / (t * t);
        }

        // Update is called once per frame
        void Update()
        {
            if (timer < cd)
            {
                float ft = Time.deltaTime;
                float oldMove = angleMove;
                angleMove = initSpeed * timer + addSpeed * 0.5f * timer * timer;
                //print(angleMove+" : initSpeed: "+initSpeed+"  addSpeed:"+addSpeed);
                //校验的确是越来越快
                //  print(angleMove-oldMove);

                //transform.Rotate(Vector3.forward,(angleMove*180f)/Mathf.PI,Space.Self);
                transform.rotation = Quaternion.Euler(0, 0, (angleMove * 180f) / Mathf.PI);
                timer += ft;
            }
        }
    }
}