public void AnimateRotation(Vector3PairAsset fromToValues)
        {
            var initialized = StartAnimateRotation(fromToValues);

            if (!initialized)
            {
                return;
            }

            LTDescr tween;

            if (animationSettings.Space == Space.Self)
            {
                tween = LeanTween.value(gameObject, UpdateLocalRotation, 0f, 1f, animationSettings.Duration)
                        .setOnComplete(OnLocalRotationComplete);
            }
            else
            {
                tween = LeanTween.value(gameObject, UpdateRotation, 0f, 1f, animationSettings.Duration)
                        .setOnComplete(OnRotationComplete);
            }

            ApplyAdditionalSettings(tween);
            uniqueId = tween.uniqueId;
        }
        public bool StartAnimatePosition(Vector3PairAsset fromToValues)
        {
            var initialized = ValidateTarget() && InitializeFromToValues(fromToValues);

            if (!initialized)
            {
                return(false);
            }

            if (animationSettings.Space == Space.Self)
            {
                if (animationSettings.Type == LTAnimationAsset.AnimationType.Relative)
                {
                    var localPosition = transformTarget.localPosition;
                    startVector3 += localPosition;
                    endVector3   += localPosition;
                }

                UpdateLocalPosition(startVector3);
            }
            else
            {
                if (animationSettings.Type == LTAnimationAsset.AnimationType.Relative)
                {
                    var position = transformTarget.position;
                    startVector3 += position;
                    endVector3   += position;
                }

                UpdatePosition(startVector3);
            }

            return(true);
        }
Ejemplo n.º 3
0
        protected virtual bool InitializeFromToValues(Vector3PairAsset fromToValues)
        {
            if (fromToValues == null)
            {
                Debug.LogError("Missing Input type Vector3PairAsset.", gameObject);
                return(false);
            }

            StartNewTween();
            startVector3 = fromToValues.A;
            endVector3   = fromToValues.B;
            return(true);
        }
        public void AnimateScale(Vector3PairAsset fromToValues)
        {
            var initialized = StartAnimateScale(fromToValues);

            if (!initialized)
            {
                return;
            }

            var tween = LeanTween.value(gameObject, UpdateScaling, startVector3, endVector3, animationSettings.Duration)
                        .setOnComplete(OnScalingComplete);

            ApplyAdditionalSettings(tween);
            uniqueId = tween.uniqueId;
        }
        public bool StartAnimateScale(Vector3PairAsset fromToValues)
        {
            var initialized = ValidateTarget() && InitializeFromToValues(fromToValues);

            if (!initialized)
            {
                return(false);
            }

            if (animationSettings.Type == LTAnimationAsset.AnimationType.Relative)
            {
                var localScale = transformTarget.localScale;
                startVector3 += localScale;
                endVector3   += localScale;
            }

            UpdateScaling(startVector3);
            return(true);
        }
        public bool StartAnimateRotation(Vector3PairAsset fromToValues)
        {
            var initialized = ValidateTarget() && InitializeFromToValues(fromToValues);

            if (!initialized)
            {
                return(false);
            }

            startQuaternion = Quaternion.Euler(fromToValues.A);
            endQuaternion   = Quaternion.Euler(fromToValues.B);

            if (animationSettings.Space == Space.Self)
            {
                if (animationSettings.Type == LTAnimationAsset.AnimationType.Relative)
                {
                    var localRotation = transformTarget.localRotation;
                    startQuaternion = MathX.RotateLocalSpace(localRotation, startQuaternion);
                    endQuaternion   = MathX.RotateLocalSpace(localRotation, endQuaternion);
                }

                UpdateLocalRotation(0f);
            }
            else
            {
                if (animationSettings.Type == LTAnimationAsset.AnimationType.Relative)
                {
                    var rotation = transformTarget.rotation;
                    startQuaternion = MathX.RotateWorldSpace(rotation, startQuaternion);
                    endQuaternion   = MathX.RotateWorldSpace(rotation, endQuaternion);
                }

                UpdateRotation(0f);
            }

            return(true);
        }