1
0
mirror of https://github.com/Cardidi/dotween-upm-fork.git synced 2026-03-26 22:49:03 +08:00

Slightest faster filtered operations

+ Setup now recognizes TextMesh Pro (in case DOTween Pro is installed) using DLL pattern recognition ("TextMeshPro*.dll")
This commit is contained in:
Demigiant 2017-05-26 22:25:53 +02:00
parent 3bb6d1e91e
commit 69be5c6a90
57 changed files with 44 additions and 16 deletions

1
.gitignore vendored
View File

@ -35,3 +35,4 @@ zzTestBuilds
*.pdb *.pdb
UnityTests.Unity5BETA UnityTests.Unity5BETA
Unity_Marketing_Pamphlet.pdf

View File

@ -662,12 +662,16 @@
<member name="M:DG.Tweening.DOTween.RestartAll(System.Boolean)"> <member name="M:DG.Tweening.DOTween.RestartAll(System.Boolean)">
<summary>Restarts all tweens, then returns the number of actual tweens restarted</summary> <summary>Restarts all tweens, then returns the number of actual tweens restarted</summary>
</member> </member>
<member name="M:DG.Tweening.DOTween.Restart(System.Object,System.Boolean)"> <member name="M:DG.Tweening.DOTween.Restart(System.Object,System.Boolean,System.Single)">
<summary>Restarts all tweens with the given ID or target, then returns the number of actual tweens restarted</summary> <summary>Restarts all tweens with the given ID or target, then returns the number of actual tweens restarted</summary>
<param name="includeDelay">If TRUE includes the eventual tweens delays, otherwise skips them</param>
<param name="changeDelayTo">If >= 0 changes the startup delay of all involved tweens to this value, otherwise doesn't touch it</param>
</member> </member>
<member name="M:DG.Tweening.DOTween.Restart(System.Object,System.Object,System.Boolean)"> <member name="M:DG.Tweening.DOTween.Restart(System.Object,System.Object,System.Boolean,System.Single)">
<summary>Restarts all tweens with the given target and the given ID, and returns the number of actual tweens played <summary>Restarts all tweens with the given target and the given ID, and returns the number of actual tweens played
(meaning the tweens that were not already playing or complete)</summary> (meaning the tweens that were not already playing or complete)</summary>
<param name="includeDelay">If TRUE includes the eventual tweens delays, otherwise skips them</param>
<param name="changeDelayTo">If >= 0 changes the startup delay of all involved tweens to this value, otherwise doesn't touch it</param>
</member> </member>
<member name="M:DG.Tweening.DOTween.RewindAll(System.Boolean)"> <member name="M:DG.Tweening.DOTween.RewindAll(System.Boolean)">
<summary>Rewinds and pauses all tweens, then returns the number of actual tweens rewinded <summary>Rewinds and pauses all tweens, then returns the number of actual tweens rewinded
@ -1020,9 +1024,10 @@
<member name="M:DG.Tweening.TweenExtensions.PlayForward(DG.Tweening.Tween)"> <member name="M:DG.Tweening.TweenExtensions.PlayForward(DG.Tweening.Tween)">
<summary>Sets the tween in a forward direction and plays it</summary> <summary>Sets the tween in a forward direction and plays it</summary>
</member> </member>
<member name="M:DG.Tweening.TweenExtensions.Restart(DG.Tweening.Tween,System.Boolean)"> <member name="M:DG.Tweening.TweenExtensions.Restart(DG.Tweening.Tween,System.Boolean,System.Single)">
<summary>Restarts the tween from the beginning</summary> <summary>Restarts the tween from the beginning</summary>
<param name="includeDelay">If TRUE includes the eventual tween delay, otherwise skips it</param> <param name="includeDelay">If TRUE includes the eventual tween delay, otherwise skips it</param>
<param name="changeDelayTo">If >= 0 changes the startup delay to this value, otherwise doesn't touch it</param>
</member> </member>
<member name="M:DG.Tweening.TweenExtensions.Rewind(DG.Tweening.Tween,System.Boolean)"> <member name="M:DG.Tweening.TweenExtensions.Rewind(DG.Tweening.Tween,System.Boolean)">
<summary>Rewinds and pauses the tween</summary> <summary>Rewinds and pauses the tween</summary>
@ -1700,6 +1705,11 @@
Defaults to 10, but a value of 5 is usually enough if you don't have dramatic long curves between waypoints</param> Defaults to 10, but a value of 5 is usually enough if you don't have dramatic long curves between waypoints</param>
<param name="gizmoColor">The color of the path (shown when gizmos are active in the Play panel and the tween is running)</param> <param name="gizmoColor">The color of the path (shown when gizmos are active in the Play panel and the tween is running)</param>
</member> </member>
<member name="M:DG.Tweening.ShortcutExtensions.DOTimeScale(DG.Tweening.Tween,System.Single,System.Single)">
<summary>Tweens a Tween's timeScale to the given value.
Also stores the Tween as the tween's target so it can be used for filtered operations</summary>
<param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
</member>
<member name="M:DG.Tweening.ShortcutExtensions.DOBlendableColor(UnityEngine.Light,UnityEngine.Color,System.Single)"> <member name="M:DG.Tweening.ShortcutExtensions.DOBlendableColor(UnityEngine.Light,UnityEngine.Color,System.Single)">
<summary>Tweens a Light's color to the given value, <summary>Tweens a Light's color to the given value,
in a way that allows other DOBlendableColor tweens to work together on the same target, in a way that allows other DOBlendableColor tweens to work together on the same target,

View File

@ -10,14 +10,31 @@ using UnityEngine;
public class TempTests : BrainBase public class TempTests : BrainBase
{ {
public Transform target; public Transform target;
public Ease ease; Tween myTween;
bool aBool;
// Use this for initialization void Start()
IEnumerator Start ()
{ {
yield return new WaitForSeconds(1); DOTween.Init();
Tween t = target.DOMoveX(60000, 200).SetEase(ease); this.StartCoroutine(COUpdate());
t.Goto(198, true); }
// t.OnUpdate(()=> Debug.Log(target.position.x));
IEnumerator COUpdate()
{
yield return null;
yield return null;
target.DOMoveX(2, 7);
yield return null;
// for (int i = 0; i < 1000; ++i) target.DOMoveX(2, 7).OnComplete(ACallback);
// for (int i = 0; i < 1000; ++i) target.DOMoveX(2, 7).OnComplete(()=> aBool = true);
target.DOMoveX(2, 7).OnComplete(()=> aBool = true);
// myTween.Kill();
// myTween = target.DOMoveX(2, 1);
// myTween.OnComplete(ACallback);
}
void ACallback()
{
Debug.Log("DO SOMETHING");
} }
} }

View File

@ -448,16 +448,16 @@ namespace DG.Tweening.Core
isFilterCompliant = true; isFilterCompliant = true;
break; break;
case FilterType.TargetOrId: case FilterType.TargetOrId:
isFilterCompliant = id.Equals(t.id) || id.Equals(t.target); isFilterCompliant = t.id != null && id.Equals(t.id) || t.target != null && id.Equals(t.target);
break; break;
case FilterType.TargetAndId: case FilterType.TargetAndId:
isFilterCompliant = id.Equals(t.id) && optionalObj != null && optionalObj.Equals(t.target); isFilterCompliant = t.id != null && t.target != null && optionalObj != null && id.Equals(t.id) && optionalObj.Equals(t.target);
break; break;
case FilterType.AllExceptTargetsOrIds: case FilterType.AllExceptTargetsOrIds:
isFilterCompliant = true; isFilterCompliant = true;
for (int c = 0; c < optionalArrayLen; ++c) { for (int c = 0; c < optionalArrayLen; ++c) {
object objId = optionalArray[c]; object objId = optionalArray[c];
if (objId.Equals(t.id) || objId.Equals(t.target)) { if (t.id != null && objId.Equals(t.id) || t.target != null && objId.Equals(t.target)) {
isFilterCompliant = false; isFilterCompliant = false;
break; break;
} }

View File

@ -32,7 +32,7 @@ namespace DG.Tweening
public class DOTween public class DOTween
{ {
/// <summary>DOTween's version</summary> /// <summary>DOTween's version</summary>
public static readonly string Version = "1.1.595"; public static readonly string Version = "1.1.600";
/////////////////////////////////////////////// ///////////////////////////////////////////////
// Options //////////////////////////////////// // Options ////////////////////////////////////

View File

@ -193,7 +193,7 @@ namespace DG.DOTweenEditor
if (rootDirs.Length == 0) return false; if (rootDirs.Length == 0) return false;
foreach (string rootDir in rootDirs) { foreach (string rootDir in rootDirs) {
if (Directory.GetFiles(rootDir, "TextMeshPro.cs", SearchOption.AllDirectories).Length > 0) return true; // Old payed version if (Directory.GetFiles(rootDir, "TextMeshPro.cs", SearchOption.AllDirectories).Length > 0) return true; // Old payed version
if (Directory.GetFiles(rootDir, "TextMeshPro.dll", SearchOption.AllDirectories).Length > 0) return true; // New free version if (Directory.GetFiles(rootDir, "TextMeshPro*.dll", SearchOption.AllDirectories).Length > 0) return true; // New free version
} }
return false; return false;
} }

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.