Пример #1
0
        protected virtual void TurnTowardsTarget()
        {
            if (!base.playerDetected)
            {
                return;
            }

            if (this.rotationTweeningState != null && this.rotationTweeningState.IsTweening)
            {
                return;
            }

            var   toPlayerVector = (playerTransform.localPosition - transform.localPosition).Set(y: 0);
            float angleBetween   = Vector3.Angle(toPlayerVector, transform.forward);

            if (angleBetween < 15f)
            {
                var lookRotation = Quaternion.LookRotation(toPlayerVector);
                transform.rotation = lookRotation;
                return;
            }

            bool isAlreadyRotating = (this.rotationTweeningState == null) ? false : this.rotationTweeningState.IsTweening;

            if (isAlreadyRotating)
            {
                return;
            }
            else
            {
                this.rotationTweeningState = MyTween.Instance.Rotate(transform, toPlayerVector, .15f);
            }
        }
Пример #2
0
        private void TurnTowardsTarget()
        {
            if (this.myTweenState != null)
            {
                return;
            }

            var toTargetVector = (this.Target.localPosition - transform.localPosition).Set(y: 0);

            this.myTweenState = MyTween.Instance.Rotate(transform, toTargetVector, .25f);
        }
Пример #3
0
 public void CancelActions()
 {
     this.Target = null;
     MyTween.Instance.Cancel(this.myTweenState);
     this.myTweenState = null;
 }