コード例 #1
0
        public void UpdateMovement(out Vector3 goalPosition, out Quaternion goalRotation, float deltaTime)
        {
            Vector3 tempPos = Vector3.zero;


            switch (fisterState)
            {
            case fistState.resting:

                tempPos = Vector3.Lerp(transform.position, fistRester.position, speed);
                if (Input.GetMouseButtonDown(0) || Input.GetMouseButton(0))
                {
                    StartedLerping(fistState.toHitting);
                }
                break;

            case fistState.hitting:

                tempPos      = Vector3.Lerp(transform.position, fistTarget.position, 2f);
                hittingTime += deltaTime;

                if ((hittingTime >= 0.25f && Input.GetMouseButton(0)) || !Input.GetMouseButton(0) || Input.GetMouseButtonUp(0))
                {
                    StartedLerping(fistState.toResting);
                }

                break;

            case fistState.toResting:

                tempPos = ReLerp(transform.position, fistRester.position, hitTime, lerpTime);
                if (Vector3.Distance(transform.position, fistRester.position) <= 0.1)
                {
                    fisterState = fistState.resting;
                }
                break;

            case fistState.toHitting:

                tempPos = ReLerp(transform.position, fistTarget.position, hitTime, lerpTime);
                if (Vector3.Distance(transform.position, fistTarget.position) <= 0.1)
                {
                    fisterState = fistState.hitting;
                    hittingTime = 0;
                }

                break;
            }

            goalPosition = tempPos;
            goalRotation = Quaternion.identity;
        }
コード例 #2
0
        // Start is called before the first frame update
        void Start()
        {
            fisterState = fistState.resting;

            Mover.MoverController = this;
        }
コード例 #3
0
 public void StartedLerping(fistState fState)
 {
     hitTime     = Time.time;
     fisterState = fState;
 }