From 22891bf59032ba88262824255a706d652031384b Mon Sep 17 00:00:00 2001 From: chai Date: Thu, 10 Mar 2022 14:07:40 +0800 Subject: * move folder --- .../Demigiant/DOTweenPro/DOTweenAnimation.cs | 482 --------------------- 1 file changed, 482 deletions(-) delete mode 100644 Assets/ThirdParty/Demigiant/DOTweenPro/DOTweenAnimation.cs (limited to 'Assets/ThirdParty/Demigiant/DOTweenPro/DOTweenAnimation.cs') diff --git a/Assets/ThirdParty/Demigiant/DOTweenPro/DOTweenAnimation.cs b/Assets/ThirdParty/Demigiant/DOTweenPro/DOTweenAnimation.cs deleted file mode 100644 index a1eae773..00000000 --- a/Assets/ThirdParty/Demigiant/DOTweenPro/DOTweenAnimation.cs +++ /dev/null @@ -1,482 +0,0 @@ -// Author: Daniele Giardini - http://www.demigiant.com -// Created: 2015/03/12 15:55 - -using System; -using System.Collections.Generic; -using DG.Tweening.Core; -using UnityEngine; -using UnityEngine.Events; -using UnityEngine.UI; - -#if DOTWEEN_TMP - using TMPro; -#endif - -#pragma warning disable 1591 -namespace DG.Tweening -{ - /// - /// Attach this to a GameObject to create a tween - /// - [AddComponentMenu("DOTween/DOTween Animation")] - public class DOTweenAnimation : ABSAnimationComponent - { - public float delay; - public float duration = 1; - public Ease easeType = Ease.OutQuad; - public AnimationCurve easeCurve = new AnimationCurve(new Keyframe(0, 0), new Keyframe(1, 1)); - public LoopType loopType = LoopType.Restart; - public int loops = 1; - public string id = ""; - public bool isRelative; - public bool isFrom; - public bool isIndependentUpdate = false; - public bool autoKill = true; - - public bool isActive = true; - public bool isValid; - public Component target; - public DOTweenAnimationType animationType; - public bool autoPlay = true; - - public float endValueFloat; - public Vector3 endValueV3; - public Color endValueColor = new Color(1, 1, 1, 1); - public string endValueString = ""; - public Rect endValueRect = new Rect(0, 0, 0, 0); - - public bool optionalBool0; - public float optionalFloat0; - public int optionalInt0; - public RotateMode optionalRotationMode = RotateMode.Fast; - public ScrambleMode optionalScrambleMode = ScrambleMode.None; - public string optionalString; - - int _playCount = -1; // Used when calling DOPlayNext - - #region Unity Methods - - void Awake() - { - if (!isActive || !isValid) return; - - CreateTween(); - } - - void OnDestroy() - { - if (tween != null && tween.IsActive()) tween.Kill(); - tween = null; - } - - // Used also by DOTweenAnimationInspector when applying runtime changes and restarting - public void CreateTween() - { - if (target == null) { - Debug.LogWarning(string.Format("{0} :: This tween's target is NULL, because the animation was created with a DOTween Pro version older than 0.9.255. To fix this, exit Play mode then simply select this object, and it will update automatically", this.gameObject.name), this.gameObject); - return; - } - - Type t = target.GetType(); - -// Component c; - switch (animationType) { - case DOTweenAnimationType.None: - break; - case DOTweenAnimationType.Move: - if (t.IsSameOrSubclassOf(typeof(RectTransform))) tween = ((RectTransform)target).DOAnchorPos3D(endValueV3, duration, optionalBool0); - else if (t.IsSameOrSubclassOf(typeof(Transform))) tween = ((Transform)target).DOMove(endValueV3, duration, optionalBool0); - else if (t.IsSameOrSubclassOf(typeof(Rigidbody2D))) tween = ((Rigidbody2D)target).DOMove(endValueV3, duration, optionalBool0); - else if (t.IsSameOrSubclassOf(typeof(Rigidbody))) tween = ((Rigidbody)target).DOMove(endValueV3, duration, optionalBool0); -// c = this.GetComponent(); -// if (c != null) { -// tween = ((Rigidbody2D)c).DOMove(endValueV3, duration, optionalBool0); -// goto SetupTween; -// } -// c = this.GetComponent(); -// if (c != null) { -// tween = ((Rigidbody)c).DOMove(endValueV3, duration, optionalBool0); -// goto SetupTween; -// } -// c = this.GetComponent(); -// if (c != null) { -// tween = ((RectTransform)c).DOAnchorPos3D(endValueV3, duration, optionalBool0); -// goto SetupTween; -// } -// tween = transform.DOMove(endValueV3, duration, optionalBool0); - break; - case DOTweenAnimationType.LocalMove: - tween = transform.DOLocalMove(endValueV3, duration, optionalBool0); - break; - case DOTweenAnimationType.Rotate: - if (t.IsSameOrSubclassOf(typeof(Transform))) tween = ((Transform)target).DORotate(endValueV3, duration, optionalRotationMode); - else if (t.IsSameOrSubclassOf(typeof(Rigidbody2D))) tween = ((Rigidbody2D)target).DORotate(endValueFloat, duration); - else if (t.IsSameOrSubclassOf(typeof(Rigidbody))) tween = ((Rigidbody)target).DORotate(endValueV3, duration, optionalRotationMode); -// c = this.GetComponent(); -// if (c != null) { -// tween = ((Rigidbody2D)c).DORotate(endValueFloat, duration); -// goto SetupTween; -// } -// c = this.GetComponent(); -// if (c != null) { -// tween = ((Rigidbody)c).DORotate(endValueV3, duration, optionalRotationMode); -// goto SetupTween; -// } -// tween = transform.DORotate(endValueV3, duration, optionalRotationMode); - break; - case DOTweenAnimationType.LocalRotate: - tween = transform.DOLocalRotate(endValueV3, duration, optionalRotationMode); - break; - case DOTweenAnimationType.Scale: - tween = transform.DOScale(optionalBool0 ? new Vector3(endValueFloat, endValueFloat, endValueFloat) : endValueV3, duration); - break; - case DOTweenAnimationType.Color: - isRelative = false; - if (t.IsSameOrSubclassOf(typeof(SpriteRenderer))) tween = ((SpriteRenderer)target).DOColor(endValueColor, duration); - else if (t.IsSameOrSubclassOf(typeof(Renderer))) tween = ((Renderer)target).material.DOColor(endValueColor, duration); - else if (t.IsSameOrSubclassOf(typeof(Image))) tween = ((Image)target).DOColor(endValueColor, duration); - else if (t.IsSameOrSubclassOf(typeof(Text))) tween = ((Text)target).DOColor(endValueColor, duration); -#if DOTWEEN_TK2D - else if (t.IsSameOrSubclassOf(typeof(tk2dTextMesh))) tween = ((tk2dTextMesh)target).DOColor(endValueColor, duration); - else if (t.IsSameOrSubclassOf(typeof(tk2dBaseSprite))) tween = ((tk2dBaseSprite)target).DOColor(endValueColor, duration); -// c = this.GetComponent(); -// if (c != null) { -// tween = ((tk2dBaseSprite)c).DOColor(endValueColor, duration); -// goto SetupTween; -// } -#endif -#if DOTWEEN_TMP - else if (t.IsSameOrSubclassOf(typeof(TextMeshProUGUI))) tween = ((TextMeshProUGUI)target).DOColor(endValueColor, duration); - else if (t.IsSameOrSubclassOf(typeof(TextMeshPro))) tween = ((TextMeshPro)target).DOColor(endValueColor, duration); -// c = this.GetComponent(); -// if (c != null) { -// tween = ((TextMeshPro)c).DOColor(endValueColor, duration); -// goto SetupTween; -// } -// c = this.GetComponent(); -// if (c != null) { -// tween = ((TextMeshProUGUI)c).DOColor(endValueColor, duration); -// goto SetupTween; -// } -#endif -// c = this.GetComponent(); -// if (c != null) { -// tween = ((SpriteRenderer)c).DOColor(endValueColor, duration); -// goto SetupTween; -// } -// c = this.GetComponent(); -// if (c != null) { -// tween = ((Renderer)c).material.DOColor(endValueColor, duration); -// goto SetupTween; -// } -// c = this.GetComponent(); -// if (c != null) { -// tween = ((Image)c).DOColor(endValueColor, duration); -// goto SetupTween; -// } -// c = this.GetComponent(); -// if (c != null) { -// tween = ((Text)c).DOColor(endValueColor, duration); -// goto SetupTween; -// } - break; - case DOTweenAnimationType.Fade: - isRelative = false; - if (t.IsSameOrSubclassOf(typeof(SpriteRenderer))) tween = ((SpriteRenderer)target).DOFade(endValueFloat, duration); - else if (t.IsSameOrSubclassOf(typeof(Renderer))) tween = ((Renderer)target).material.DOFade(endValueFloat, duration); - else if (t.IsSameOrSubclassOf(typeof(Image))) tween = ((Image)target).DOFade(endValueFloat, duration); - else if (t.IsSameOrSubclassOf(typeof(Text))) tween = ((Text)target).DOFade(endValueFloat, duration); -#if DOTWEEN_TK2D - else if (t.IsSameOrSubclassOf(typeof(tk2dTextMesh))) tween = ((tk2dTextMesh)target).DOFade(endValueFloat, duration); - else if (t.IsSameOrSubclassOf(typeof(tk2dBaseSprite))) tween = ((tk2dBaseSprite)target).DOFade(endValueFloat, duration); -// c = this.GetComponent(); -// if (c != null) { -// tween = ((tk2dBaseSprite)c).DOFade(endValueFloat, duration); -// goto SetupTween; -// } -#endif -#if DOTWEEN_TMP - else if (t.IsSameOrSubclassOf(typeof(TextMeshProUGUI))) tween = ((TextMeshProUGUI)target).DOFade(endValueFloat, duration); - else if (t.IsSameOrSubclassOf(typeof(TextMeshPro))) tween = ((TextMeshPro)target).DOFade(endValueFloat, duration); -// c = this.GetComponent(); -// if (c != null) { -// tween = ((TextMeshPro)c).DOFade(endValueFloat, duration); -// goto SetupTween; -// } -// c = this.GetComponent(); -// if (c != null) { -// tween = ((TextMeshProUGUI)c).DOFade(endValueFloat, duration); -// goto SetupTween; -// } -#endif -// c = this.GetComponent(); -// if (c != null) { -// tween = ((SpriteRenderer)c).DOFade(endValueFloat, duration); -// goto SetupTween; -// } -// c = this.GetComponent(); -// if (c != null) { -// tween = ((Renderer)c).material.DOFade(endValueFloat, duration); -// goto SetupTween; -// } -// c = this.GetComponent(); -// if (c != null) { -// tween = ((Image)c).DOFade(endValueFloat, duration); -// goto SetupTween; -// } -// c = this.GetComponent(); -// if (c != null) { -// tween = ((Text)c).DOFade(endValueFloat, duration); -// goto SetupTween; -// } - break; - case DOTweenAnimationType.Text: - if (t.IsSameOrSubclassOf(typeof(Text))) tween = ((Text)target).DOText(endValueString, duration, optionalBool0, optionalScrambleMode, optionalString); -// c = this.GetComponent(); -// if (c != null) { -// tween = ((Text)c).DOText(endValueString, duration, optionalBool0, optionalScrambleMode, optionalString); -// goto SetupTween; -// } -#if DOTWEEN_TK2D - else if (t.IsSameOrSubclassOf(typeof(tk2dTextMesh))) tween = ((tk2dTextMesh)target).DOText(endValueString, duration, optionalBool0, optionalScrambleMode, optionalString); -// c = this.GetComponent(); -// if (c != null) { -// tween = ((tk2dTextMesh)c).DOText(endValueString, duration, optionalBool0, optionalScrambleMode, optionalString); -// goto SetupTween; -// } -#endif -#if DOTWEEN_TMP - else if (t.IsSameOrSubclassOf(typeof(TextMeshProUGUI))) tween = ((TextMeshProUGUI)target).DOText(endValueString, duration, optionalBool0, optionalScrambleMode, optionalString); - else if (t.IsSameOrSubclassOf(typeof(TextMeshPro))) tween = ((TextMeshPro)target).DOText(endValueString, duration, optionalBool0, optionalScrambleMode, optionalString); -// c = this.GetComponent(); -// if (c != null) { -// tween = ((TextMeshPro)c).DOText(endValueString, duration, optionalBool0, optionalScrambleMode, optionalString); -// goto SetupTween; -// } -// c = this.GetComponent(); -// if (c != null) { -// tween = ((TextMeshProUGUI)c).DOText(endValueString, duration, optionalBool0, optionalScrambleMode, optionalString); -// goto SetupTween; -// } -#endif - break; - case DOTweenAnimationType.PunchPosition: - if (t.IsSameOrSubclassOf(typeof(RectTransform))) tween = ((RectTransform)target).DOPunchAnchorPos(endValueV3, duration, optionalInt0, optionalFloat0, optionalBool0); - else if (t.IsSameOrSubclassOf(typeof(Transform))) tween = ((Transform)target).DOPunchPosition(endValueV3, duration, optionalInt0, optionalFloat0, optionalBool0); -// tween = transform.DOPunchPosition(endValueV3, duration, optionalInt0, optionalFloat0, optionalBool0); - break; - case DOTweenAnimationType.PunchScale: - tween = transform.DOPunchScale(endValueV3, duration, optionalInt0, optionalFloat0); - break; - case DOTweenAnimationType.PunchRotation: - tween = transform.DOPunchRotation(endValueV3, duration, optionalInt0, optionalFloat0); - break; - case DOTweenAnimationType.ShakePosition: - if (t.IsSameOrSubclassOf(typeof(RectTransform))) tween = ((RectTransform)target).DOShakeAnchorPos(duration, endValueV3, optionalInt0, optionalFloat0, optionalBool0); - if (t.IsSameOrSubclassOf(typeof(Transform))) tween = ((Transform)target).DOShakePosition(duration, endValueV3, optionalInt0, optionalFloat0, optionalBool0); -// tween = transform.DOShakePosition(duration, endValueV3, optionalInt0, optionalFloat0, optionalBool0); - break; - case DOTweenAnimationType.ShakeScale: - tween = transform.DOShakeScale(duration, endValueV3, optionalInt0, optionalFloat0); - break; - case DOTweenAnimationType.ShakeRotation: - tween = transform.DOShakeRotation(duration, endValueV3, optionalInt0, optionalFloat0); - break; - case DOTweenAnimationType.CameraAspect: - tween = ((Camera)target).DOAspect(endValueFloat, duration); - break; - case DOTweenAnimationType.CameraBackgroundColor: - tween = ((Camera)target).DOColor(endValueColor, duration); - break; - case DOTweenAnimationType.CameraFieldOfView: - tween = ((Camera)target).DOFieldOfView(endValueFloat, duration); - break; - case DOTweenAnimationType.CameraOrthoSize: - tween = ((Camera)target).DOOrthoSize(endValueFloat, duration); - break; - case DOTweenAnimationType.CameraPixelRect: - tween = ((Camera)target).DOPixelRect(endValueRect, duration); - break; - case DOTweenAnimationType.CameraRect: - tween = ((Camera)target).DORect(endValueRect, duration); - break; - } - -// SetupTween: - if (tween == null) return; - - if (isFrom) { - ((Tweener)tween).From(isRelative); - } else { - tween.SetRelative(isRelative); - } - tween.SetTarget(this.gameObject).SetDelay(delay).SetLoops(loops, loopType).SetAutoKill(autoKill) - .OnKill(()=> tween = null); - if (easeType == Ease.INTERNAL_Custom) tween.SetEase(easeCurve); - else tween.SetEase(easeType); - if (!string.IsNullOrEmpty(id)) tween.SetId(id); - tween.SetUpdate(isIndependentUpdate); - - if (hasOnStart) { - if (onStart != null) tween.OnStart(onStart.Invoke); - } else onStart = null; - if (hasOnPlay) { - if (onPlay != null) tween.OnPlay(onPlay.Invoke); - } else onPlay = null; - if (hasOnUpdate) { - if (onUpdate != null) tween.OnUpdate(onUpdate.Invoke); - } else onUpdate = null; - if (hasOnStepComplete) { - if (onStepComplete != null) tween.OnStepComplete(onStepComplete.Invoke); - } else onStepComplete = null; - if (hasOnComplete) { - if (onComplete != null) tween.OnComplete(onComplete.Invoke); - } else onComplete = null; - - if (autoPlay) tween.Play(); - else tween.Pause(); - } - - #endregion - - #region Public Methods - - // These methods are here so they can be called directly via Unity's UGUI event system - - public override void DOPlay() - { - DOTween.Play(this.gameObject); - } - - public override void DOPlayBackwards() - { - DOTween.PlayBackwards(this.gameObject); - } - - public override void DOPlayForward() - { - DOTween.PlayForward(this.gameObject); - } - - public override void DOPause() - { - DOTween.Pause(this.gameObject); - } - - public override void DOTogglePause() - { - DOTween.TogglePause(this.gameObject); - } - - public override void DORewind() - { - _playCount = -1; - // Rewind using Components order (in case there are multiple animations on the same property) - DOTweenAnimation[] anims = this.gameObject.GetComponents(); - for (int i = anims.Length - 1; i > -1; --i) { - Tween t = anims[i].tween; - if (t != null && t.IsInitialized()) anims[i].tween.Rewind(); - } - // DOTween.Rewind(this.gameObject); - } - - /// - /// Restarts the tween - /// - /// If TRUE, re-evaluates the tween's start and end values from its current position. - /// Set it to TRUE when spawning the same DOTweenAnimation in different positions (like when using a pooling system) - public override void DORestart(bool fromHere = false) - { - _playCount = -1; - if (tween == null) { - if (Debugger.logPriority > 1) Debugger.LogNullTween(tween); return; - } - if (fromHere && isRelative) ReEvaluateRelativeTween(); - DOTween.Restart(this.gameObject); - } - - public override void DOComplete() - { - DOTween.Complete(this.gameObject); - } - - public override void DOKill() - { - DOTween.Kill(this.gameObject); - tween = null; - } - - #region Specifics - - public void DOPlayById(string id) - { - DOTween.Play(this.gameObject, id); - } - public void DOPlayAllById(string id) - { - DOTween.Play(id); - } - - public void DOPlayNext() - { - DOTweenAnimation[] anims = this.GetComponents(); - while (_playCount < anims.Length - 1) { - _playCount++; - DOTweenAnimation anim = anims[_playCount]; - if (anim != null && anim.tween != null && !anim.tween.IsPlaying() && !anim.tween.IsComplete()) { - anim.tween.Play(); - break; - } - } - } - - public void DORewindAndPlayNext() - { - _playCount = -1; - DOTween.Rewind(this.gameObject); - DOPlayNext(); - } - - public void DORestartById(string id) - { - _playCount = -1; - DOTween.Restart(this.gameObject, id); - } - public void DORestartAllById(string id) - { - _playCount = -1; - DOTween.Restart(id); - } - - public List GetTweens() - { - return DOTween.TweensByTarget(this.gameObject); - } - - #endregion - - #endregion - - #region Private - - // Re-evaluate relative position of path - void ReEvaluateRelativeTween() - { - if (animationType == DOTweenAnimationType.Move) { - ((Tweener)tween).ChangeEndValue(transform.position + endValueV3, true); - } else if (animationType == DOTweenAnimationType.LocalMove) { - ((Tweener)tween).ChangeEndValue(transform.localPosition + endValueV3, true); - } - } - - #endregion - } - - public static class DOTweenAnimationExtensions - { - public static bool IsSameOrSubclassOf(this Type t, Type tBase) - { - return t.IsSubclassOf(tBase) || t == tBase; - } - } -} \ No newline at end of file -- cgit v1.1-26-g67d0