diff --git a/UnityCompatibilityTests.Unity35/Assets/Demigiant/DOTween/DOTween.XML b/UnityCompatibilityTests.Unity35/Assets/Demigiant/DOTween/DOTween.XML index 9be3ec0..a735db8 100644 --- a/UnityCompatibilityTests.Unity35/Assets/Demigiant/DOTween/DOTween.XML +++ b/UnityCompatibilityTests.Unity35/Assets/Demigiant/DOTween/DOTween.XML @@ -1416,6 +1416,34 @@ The duration of the tween If TRUE the tween will smoothly snap all values to integers + + Tweens a Rigidbody's position through the given path waypoints, using the chosen path algorithm. + Also stores the Rigidbody as the tween's target so it can be used for filtered operations. + NOTE: to tween a rigidbody correctly it should be set to kinematic at least while being tweened. + BEWARE: doesn't work on Windows Phone store (waiting for Unity to fix their own bug). + If you plan to publish there you should use a regular transform.DOPath. + The waypoints to go through + The duration of the tween + The type of path: Linear (straight path) or CatmullRom (curved CatmullRom path) + The path mode: 3D, side-scroller 2D, top-down 2D + The resolution of the path (useless in case of Linear paths): higher resolutions make for more detailed curved paths but are more expensive. + Defaults to 10, but a value of 5 is usually enough if you don't have dramatic long curves between waypoints + The color of the path (shown when gizmos are active in the Play panel and the tween is running) + + + Tweens a Rigidbody's localPosition through the given path waypoints, using the chosen path algorithm. + Also stores the Rigidbody as the tween's target so it can be used for filtered operations + NOTE: to tween a rigidbody correctly it should be set to kinematic at least while being tweened. + BEWARE: doesn't work on Windows Phone store (waiting for Unity to fix their own bug). + If you plan to publish there you should use a regular transform.DOLocalPath. + The waypoint to go through + The duration of the tween + The type of path: Linear (straight path) or CatmullRom (curved CatmullRom path) + The path mode: 3D, side-scroller 2D, top-down 2D + The resolution of the path: higher resolutions make for more detailed curved paths but are more expensive. + Defaults to 10, but a value of 5 is usually enough if you don't have dramatic long curves between waypoints + The color of the path (shown when gizmos are active in the Play panel and the tween is running) + Tweens a TrailRenderer's startWidth/endWidth to the given value. Also stores the TrailRenderer as the tween's target so it can be used for filtered operations diff --git a/UnityCompatibilityTests.Unity35/Assets/Demigiant/DOTween/DOTween.dll b/UnityCompatibilityTests.Unity35/Assets/Demigiant/DOTween/DOTween.dll index 3fd48ca..db34818 100644 Binary files a/UnityCompatibilityTests.Unity35/Assets/Demigiant/DOTween/DOTween.dll and b/UnityCompatibilityTests.Unity35/Assets/Demigiant/DOTween/DOTween.dll differ diff --git a/UnityCompatibilityTests.Unity35/Assets/Demigiant/DOTween/DOTween.dll.mdb b/UnityCompatibilityTests.Unity35/Assets/Demigiant/DOTween/DOTween.dll.mdb index 3ad2b90..84dea95 100644 Binary files a/UnityCompatibilityTests.Unity35/Assets/Demigiant/DOTween/DOTween.dll.mdb and b/UnityCompatibilityTests.Unity35/Assets/Demigiant/DOTween/DOTween.dll.mdb differ diff --git a/UnityCompatibilityTests.Unity35/Assets/Demigiant/DOTween/DOTween43.dll b/UnityCompatibilityTests.Unity35/Assets/Demigiant/DOTween/DOTween43.dll index 88fa1a9..3e48afa 100644 Binary files a/UnityCompatibilityTests.Unity35/Assets/Demigiant/DOTween/DOTween43.dll and b/UnityCompatibilityTests.Unity35/Assets/Demigiant/DOTween/DOTween43.dll differ diff --git a/UnityCompatibilityTests.Unity35/Assets/Demigiant/DOTween/DOTween43.dll.mdb b/UnityCompatibilityTests.Unity35/Assets/Demigiant/DOTween/DOTween43.dll.mdb index b89af92..7fa9f7b 100644 Binary files a/UnityCompatibilityTests.Unity35/Assets/Demigiant/DOTween/DOTween43.dll.mdb and b/UnityCompatibilityTests.Unity35/Assets/Demigiant/DOTween/DOTween43.dll.mdb differ diff --git a/UnityCompatibilityTests.Unity35/Assets/Demigiant/DOTween/DOTween46.dll b/UnityCompatibilityTests.Unity35/Assets/Demigiant/DOTween/DOTween46.dll index c2a3582..11fb26c 100644 Binary files a/UnityCompatibilityTests.Unity35/Assets/Demigiant/DOTween/DOTween46.dll and b/UnityCompatibilityTests.Unity35/Assets/Demigiant/DOTween/DOTween46.dll differ diff --git a/UnityCompatibilityTests.Unity35/Assets/Demigiant/DOTween/DOTween46.dll.mdb b/UnityCompatibilityTests.Unity35/Assets/Demigiant/DOTween/DOTween46.dll.mdb index fbbdde0..a72d9d8 100644 Binary files a/UnityCompatibilityTests.Unity35/Assets/Demigiant/DOTween/DOTween46.dll.mdb and b/UnityCompatibilityTests.Unity35/Assets/Demigiant/DOTween/DOTween46.dll.mdb differ diff --git a/UnityCompatibilityTests.Unity35/Assets/Demigiant/DOTween/DOTween50.dll b/UnityCompatibilityTests.Unity35/Assets/Demigiant/DOTween/DOTween50.dll index e4b063d..3706ff8 100644 Binary files a/UnityCompatibilityTests.Unity35/Assets/Demigiant/DOTween/DOTween50.dll and b/UnityCompatibilityTests.Unity35/Assets/Demigiant/DOTween/DOTween50.dll differ diff --git a/UnityCompatibilityTests.Unity35/Assets/Demigiant/DOTween/DOTween50.dll.mdb b/UnityCompatibilityTests.Unity35/Assets/Demigiant/DOTween/DOTween50.dll.mdb index c4ba379..7e1c31a 100644 Binary files a/UnityCompatibilityTests.Unity35/Assets/Demigiant/DOTween/DOTween50.dll.mdb and b/UnityCompatibilityTests.Unity35/Assets/Demigiant/DOTween/DOTween50.dll.mdb differ diff --git a/UnityCompatibilityTests.Unity35/Assets/Demigiant/DOTween/Editor/DOTweenEditor.dll b/UnityCompatibilityTests.Unity35/Assets/Demigiant/DOTween/Editor/DOTweenEditor.dll index cf1bf76..de98161 100644 Binary files a/UnityCompatibilityTests.Unity35/Assets/Demigiant/DOTween/Editor/DOTweenEditor.dll and b/UnityCompatibilityTests.Unity35/Assets/Demigiant/DOTween/Editor/DOTweenEditor.dll differ diff --git a/UnityCompatibilityTests.Unity35/Assets/Demigiant/DOTween/Editor/DOTweenEditor.dll.mdb b/UnityCompatibilityTests.Unity35/Assets/Demigiant/DOTween/Editor/DOTweenEditor.dll.mdb index b22d6f3..55362ff 100644 Binary files a/UnityCompatibilityTests.Unity35/Assets/Demigiant/DOTween/Editor/DOTweenEditor.dll.mdb and b/UnityCompatibilityTests.Unity35/Assets/Demigiant/DOTween/Editor/DOTweenEditor.dll.mdb differ diff --git a/UnityTests.Unity4/Assets/Demigiant/DOTween/DOTween.XML b/UnityTests.Unity4/Assets/Demigiant/DOTween/DOTween.XML index 9be3ec0..a735db8 100644 --- a/UnityTests.Unity4/Assets/Demigiant/DOTween/DOTween.XML +++ b/UnityTests.Unity4/Assets/Demigiant/DOTween/DOTween.XML @@ -1416,6 +1416,34 @@ The duration of the tween If TRUE the tween will smoothly snap all values to integers + + Tweens a Rigidbody's position through the given path waypoints, using the chosen path algorithm. + Also stores the Rigidbody as the tween's target so it can be used for filtered operations. + NOTE: to tween a rigidbody correctly it should be set to kinematic at least while being tweened. + BEWARE: doesn't work on Windows Phone store (waiting for Unity to fix their own bug). + If you plan to publish there you should use a regular transform.DOPath. + The waypoints to go through + The duration of the tween + The type of path: Linear (straight path) or CatmullRom (curved CatmullRom path) + The path mode: 3D, side-scroller 2D, top-down 2D + The resolution of the path (useless in case of Linear paths): higher resolutions make for more detailed curved paths but are more expensive. + Defaults to 10, but a value of 5 is usually enough if you don't have dramatic long curves between waypoints + The color of the path (shown when gizmos are active in the Play panel and the tween is running) + + + Tweens a Rigidbody's localPosition through the given path waypoints, using the chosen path algorithm. + Also stores the Rigidbody as the tween's target so it can be used for filtered operations + NOTE: to tween a rigidbody correctly it should be set to kinematic at least while being tweened. + BEWARE: doesn't work on Windows Phone store (waiting for Unity to fix their own bug). + If you plan to publish there you should use a regular transform.DOLocalPath. + The waypoint to go through + The duration of the tween + The type of path: Linear (straight path) or CatmullRom (curved CatmullRom path) + The path mode: 3D, side-scroller 2D, top-down 2D + The resolution of the path: higher resolutions make for more detailed curved paths but are more expensive. + Defaults to 10, but a value of 5 is usually enough if you don't have dramatic long curves between waypoints + The color of the path (shown when gizmos are active in the Play panel and the tween is running) + Tweens a TrailRenderer's startWidth/endWidth to the given value. Also stores the TrailRenderer as the tween's target so it can be used for filtered operations diff --git a/UnityTests.Unity4/Assets/Demigiant/DOTween/DOTween.dll b/UnityTests.Unity4/Assets/Demigiant/DOTween/DOTween.dll index 3fd48ca..db34818 100644 Binary files a/UnityTests.Unity4/Assets/Demigiant/DOTween/DOTween.dll and b/UnityTests.Unity4/Assets/Demigiant/DOTween/DOTween.dll differ diff --git a/UnityTests.Unity4/Assets/Demigiant/DOTween/DOTween.dll.mdb b/UnityTests.Unity4/Assets/Demigiant/DOTween/DOTween.dll.mdb index 3ad2b90..84dea95 100644 Binary files a/UnityTests.Unity4/Assets/Demigiant/DOTween/DOTween.dll.mdb and b/UnityTests.Unity4/Assets/Demigiant/DOTween/DOTween.dll.mdb differ diff --git a/UnityTests.Unity4/Assets/Demigiant/DOTween/DOTween43.dll b/UnityTests.Unity4/Assets/Demigiant/DOTween/DOTween43.dll index 88fa1a9..3e48afa 100644 Binary files a/UnityTests.Unity4/Assets/Demigiant/DOTween/DOTween43.dll and b/UnityTests.Unity4/Assets/Demigiant/DOTween/DOTween43.dll differ diff --git a/UnityTests.Unity4/Assets/Demigiant/DOTween/DOTween43.dll.mdb b/UnityTests.Unity4/Assets/Demigiant/DOTween/DOTween43.dll.mdb index b89af92..7fa9f7b 100644 Binary files a/UnityTests.Unity4/Assets/Demigiant/DOTween/DOTween43.dll.mdb and b/UnityTests.Unity4/Assets/Demigiant/DOTween/DOTween43.dll.mdb differ diff --git a/UnityTests.Unity4/Assets/Demigiant/DOTween/DOTween46.dll b/UnityTests.Unity4/Assets/Demigiant/DOTween/DOTween46.dll index c2a3582..11fb26c 100644 Binary files a/UnityTests.Unity4/Assets/Demigiant/DOTween/DOTween46.dll and b/UnityTests.Unity4/Assets/Demigiant/DOTween/DOTween46.dll differ diff --git a/UnityTests.Unity4/Assets/Demigiant/DOTween/DOTween46.dll.mdb b/UnityTests.Unity4/Assets/Demigiant/DOTween/DOTween46.dll.mdb index fbbdde0..a72d9d8 100644 Binary files a/UnityTests.Unity4/Assets/Demigiant/DOTween/DOTween46.dll.mdb and b/UnityTests.Unity4/Assets/Demigiant/DOTween/DOTween46.dll.mdb differ diff --git a/UnityTests.Unity4/Assets/Demigiant/DOTween/DOTween50.dll b/UnityTests.Unity4/Assets/Demigiant/DOTween/DOTween50.dll index e4b063d..3706ff8 100644 Binary files a/UnityTests.Unity4/Assets/Demigiant/DOTween/DOTween50.dll and b/UnityTests.Unity4/Assets/Demigiant/DOTween/DOTween50.dll differ diff --git a/UnityTests.Unity4/Assets/Demigiant/DOTween/DOTween50.dll.mdb b/UnityTests.Unity4/Assets/Demigiant/DOTween/DOTween50.dll.mdb index c4ba379..7e1c31a 100644 Binary files a/UnityTests.Unity4/Assets/Demigiant/DOTween/DOTween50.dll.mdb and b/UnityTests.Unity4/Assets/Demigiant/DOTween/DOTween50.dll.mdb differ diff --git a/UnityTests.Unity4/Assets/Demigiant/DOTween/Editor/DOTweenEditor.dll b/UnityTests.Unity4/Assets/Demigiant/DOTween/Editor/DOTweenEditor.dll index cf1bf76..de98161 100644 Binary files a/UnityTests.Unity4/Assets/Demigiant/DOTween/Editor/DOTweenEditor.dll and b/UnityTests.Unity4/Assets/Demigiant/DOTween/Editor/DOTweenEditor.dll differ diff --git a/UnityTests.Unity4/Assets/Demigiant/DOTween/Editor/DOTweenEditor.dll.mdb b/UnityTests.Unity4/Assets/Demigiant/DOTween/Editor/DOTweenEditor.dll.mdb index b22d6f3..55362ff 100644 Binary files a/UnityTests.Unity4/Assets/Demigiant/DOTween/Editor/DOTweenEditor.dll.mdb and b/UnityTests.Unity4/Assets/Demigiant/DOTween/Editor/DOTweenEditor.dll.mdb differ diff --git a/UnityTests.Unity5/Assets/Demigiant/DOTween/DOTween.XML b/UnityTests.Unity5/Assets/Demigiant/DOTween/DOTween.XML index 9be3ec0..a735db8 100644 --- a/UnityTests.Unity5/Assets/Demigiant/DOTween/DOTween.XML +++ b/UnityTests.Unity5/Assets/Demigiant/DOTween/DOTween.XML @@ -1416,6 +1416,34 @@ The duration of the tween If TRUE the tween will smoothly snap all values to integers + + Tweens a Rigidbody's position through the given path waypoints, using the chosen path algorithm. + Also stores the Rigidbody as the tween's target so it can be used for filtered operations. + NOTE: to tween a rigidbody correctly it should be set to kinematic at least while being tweened. + BEWARE: doesn't work on Windows Phone store (waiting for Unity to fix their own bug). + If you plan to publish there you should use a regular transform.DOPath. + The waypoints to go through + The duration of the tween + The type of path: Linear (straight path) or CatmullRom (curved CatmullRom path) + The path mode: 3D, side-scroller 2D, top-down 2D + The resolution of the path (useless in case of Linear paths): higher resolutions make for more detailed curved paths but are more expensive. + Defaults to 10, but a value of 5 is usually enough if you don't have dramatic long curves between waypoints + The color of the path (shown when gizmos are active in the Play panel and the tween is running) + + + Tweens a Rigidbody's localPosition through the given path waypoints, using the chosen path algorithm. + Also stores the Rigidbody as the tween's target so it can be used for filtered operations + NOTE: to tween a rigidbody correctly it should be set to kinematic at least while being tweened. + BEWARE: doesn't work on Windows Phone store (waiting for Unity to fix their own bug). + If you plan to publish there you should use a regular transform.DOLocalPath. + The waypoint to go through + The duration of the tween + The type of path: Linear (straight path) or CatmullRom (curved CatmullRom path) + The path mode: 3D, side-scroller 2D, top-down 2D + The resolution of the path: higher resolutions make for more detailed curved paths but are more expensive. + Defaults to 10, but a value of 5 is usually enough if you don't have dramatic long curves between waypoints + The color of the path (shown when gizmos are active in the Play panel and the tween is running) + Tweens a TrailRenderer's startWidth/endWidth to the given value. Also stores the TrailRenderer as the tween's target so it can be used for filtered operations diff --git a/UnityTests.Unity5/Assets/Demigiant/DOTween/DOTween.dll b/UnityTests.Unity5/Assets/Demigiant/DOTween/DOTween.dll index 3fd48ca..db34818 100644 Binary files a/UnityTests.Unity5/Assets/Demigiant/DOTween/DOTween.dll and b/UnityTests.Unity5/Assets/Demigiant/DOTween/DOTween.dll differ diff --git a/UnityTests.Unity5/Assets/Demigiant/DOTween/DOTween.dll.mdb b/UnityTests.Unity5/Assets/Demigiant/DOTween/DOTween.dll.mdb index 3ad2b90..84dea95 100644 Binary files a/UnityTests.Unity5/Assets/Demigiant/DOTween/DOTween.dll.mdb and b/UnityTests.Unity5/Assets/Demigiant/DOTween/DOTween.dll.mdb differ diff --git a/UnityTests.Unity5/Assets/Demigiant/DOTween/DOTween43.dll b/UnityTests.Unity5/Assets/Demigiant/DOTween/DOTween43.dll index 88fa1a9..3e48afa 100644 Binary files a/UnityTests.Unity5/Assets/Demigiant/DOTween/DOTween43.dll and b/UnityTests.Unity5/Assets/Demigiant/DOTween/DOTween43.dll differ diff --git a/UnityTests.Unity5/Assets/Demigiant/DOTween/DOTween43.dll.mdb b/UnityTests.Unity5/Assets/Demigiant/DOTween/DOTween43.dll.mdb index b89af92..7fa9f7b 100644 Binary files a/UnityTests.Unity5/Assets/Demigiant/DOTween/DOTween43.dll.mdb and b/UnityTests.Unity5/Assets/Demigiant/DOTween/DOTween43.dll.mdb differ diff --git a/UnityTests.Unity5/Assets/Demigiant/DOTween/DOTween46.dll b/UnityTests.Unity5/Assets/Demigiant/DOTween/DOTween46.dll index c2a3582..11fb26c 100644 Binary files a/UnityTests.Unity5/Assets/Demigiant/DOTween/DOTween46.dll and b/UnityTests.Unity5/Assets/Demigiant/DOTween/DOTween46.dll differ diff --git a/UnityTests.Unity5/Assets/Demigiant/DOTween/DOTween46.dll.mdb b/UnityTests.Unity5/Assets/Demigiant/DOTween/DOTween46.dll.mdb index fbbdde0..a72d9d8 100644 Binary files a/UnityTests.Unity5/Assets/Demigiant/DOTween/DOTween46.dll.mdb and b/UnityTests.Unity5/Assets/Demigiant/DOTween/DOTween46.dll.mdb differ diff --git a/UnityTests.Unity5/Assets/Demigiant/DOTween/DOTween50.dll b/UnityTests.Unity5/Assets/Demigiant/DOTween/DOTween50.dll index e4b063d..3706ff8 100644 Binary files a/UnityTests.Unity5/Assets/Demigiant/DOTween/DOTween50.dll and b/UnityTests.Unity5/Assets/Demigiant/DOTween/DOTween50.dll differ diff --git a/UnityTests.Unity5/Assets/Demigiant/DOTween/DOTween50.dll.mdb b/UnityTests.Unity5/Assets/Demigiant/DOTween/DOTween50.dll.mdb index c4ba379..7e1c31a 100644 Binary files a/UnityTests.Unity5/Assets/Demigiant/DOTween/DOTween50.dll.mdb and b/UnityTests.Unity5/Assets/Demigiant/DOTween/DOTween50.dll.mdb differ diff --git a/UnityTests.Unity5/Assets/Demigiant/DOTween/Editor/DOTweenEditor.dll b/UnityTests.Unity5/Assets/Demigiant/DOTween/Editor/DOTweenEditor.dll index cf1bf76..de98161 100644 Binary files a/UnityTests.Unity5/Assets/Demigiant/DOTween/Editor/DOTweenEditor.dll and b/UnityTests.Unity5/Assets/Demigiant/DOTween/Editor/DOTweenEditor.dll differ diff --git a/UnityTests.Unity5/Assets/Demigiant/DOTween/Editor/DOTweenEditor.dll.mdb b/UnityTests.Unity5/Assets/Demigiant/DOTween/Editor/DOTweenEditor.dll.mdb index b22d6f3..55362ff 100644 Binary files a/UnityTests.Unity5/Assets/Demigiant/DOTween/Editor/DOTweenEditor.dll.mdb and b/UnityTests.Unity5/Assets/Demigiant/DOTween/Editor/DOTweenEditor.dll.mdb differ diff --git a/UnityTests.Unity5/Assets/Demigiant/DemiLib/Core/Editor/Imgs/orangeSquare.png.meta b/UnityTests.Unity5/Assets/Demigiant/DemiLib/Core/Editor/Imgs/orangeSquare.png.meta index 9615ef7..43e0836 100644 --- a/UnityTests.Unity5/Assets/Demigiant/DemiLib/Core/Editor/Imgs/orangeSquare.png.meta +++ b/UnityTests.Unity5/Assets/Demigiant/DemiLib/Core/Editor/Imgs/orangeSquare.png.meta @@ -1,15 +1,15 @@ fileFormatVersion: 2 guid: 815d51dc93583bf41877ee87d4904f12 -timeCreated: 1452683148 +timeCreated: 1482512619 licenseType: Pro TextureImporter: fileIDToRecycleName: {} - serializedVersion: 2 + serializedVersion: 4 mipmaps: mipMapMode: 0 - enableMipMap: 1 + enableMipMap: 0 + sRGBTexture: 0 linearTexture: 0 - correctGamma: 0 fadeOut: 0 borderMipMap: 0 mipMapFadeDistanceStart: 1 @@ -21,23 +21,19 @@ TextureImporter: normalMapFilter: 0 isReadable: 0 grayScaleToAlpha: 0 - generateCubemap: 0 + generateCubemap: 6 cubemapConvolution: 0 - cubemapConvolutionSteps: 7 - cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 textureFormat: -1 maxTextureSize: 2048 textureSettings: - filterMode: -1 - aniso: -1 + filterMode: 0 + aniso: 1 mipBias: -1 - wrapMode: -1 - nPOTScale: 1 + wrapMode: 1 + nPOTScale: 0 lightmap: 0 - rGBM: 0 compressionQuality: 50 - allowsAlphaSplitting: 0 spriteMode: 0 spriteExtrude: 1 spriteMeshType: 1 @@ -45,10 +41,25 @@ TextureImporter: spritePivot: {x: 0.5, y: 0.5} spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 - alphaIsTransparency: 0 - textureType: -1 - buildTargetSettings: [] + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 16 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 spriteSheet: + serializedVersion: 2 sprites: [] outline: [] spritePackingTag: diff --git a/UnityTests.Unity5/Assets/_Tests PRO/Paths.unity b/UnityTests.Unity5/Assets/_Tests PRO/Paths.unity index f863ce0..3ffb951 100644 Binary files a/UnityTests.Unity5/Assets/_Tests PRO/Paths.unity and b/UnityTests.Unity5/Assets/_Tests PRO/Paths.unity differ diff --git a/UnityTests.Unity5/Assets/_Tests/Bugs/IndexOutOfRange02.cs b/UnityTests.Unity5/Assets/_Tests/Bugs/IndexOutOfRange02.cs new file mode 100644 index 0000000..ba7d3bc --- /dev/null +++ b/UnityTests.Unity5/Assets/_Tests/Bugs/IndexOutOfRange02.cs @@ -0,0 +1,27 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using DG.Tweening; + +public class IndexOutOfRange02 : BrainBase +{ + public Transform[] targets; + + IEnumerator Start() + { + DOTween.Init (true, false, LogBehaviour.ErrorsOnly).SetCapacity (1000, 100); + DOTween.defaultAutoPlay = AutoPlay.None; + DOTween.defaultAutoKill = false; + yield return new WaitForSeconds(1); + + foreach (Transform t in targets) t.DOMoveX(10, 10).Play(); + yield return new WaitForSeconds(2); + + // DOTween.Clear(true); + } + + void OnDestroy() + { + DOTween.Clear(true); + } +} \ No newline at end of file diff --git a/UnityTests.Unity5/Assets/_Tests/Bugs/IndexOutOfRange02.cs.meta b/UnityTests.Unity5/Assets/_Tests/Bugs/IndexOutOfRange02.cs.meta new file mode 100644 index 0000000..2b82950 --- /dev/null +++ b/UnityTests.Unity5/Assets/_Tests/Bugs/IndexOutOfRange02.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 54fb7137f3cb9e8438aa924bd4007c49 +timeCreated: 1481284579 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/UnityTests.Unity5/Assets/_Tests/Bugs/IndexOutOfRange02.unity b/UnityTests.Unity5/Assets/_Tests/Bugs/IndexOutOfRange02.unity new file mode 100644 index 0000000..665a016 Binary files /dev/null and b/UnityTests.Unity5/Assets/_Tests/Bugs/IndexOutOfRange02.unity differ diff --git a/UnityTests.Unity5/Assets/_Tests/Bugs/IndexOutOfRange02.unity.meta b/UnityTests.Unity5/Assets/_Tests/Bugs/IndexOutOfRange02.unity.meta new file mode 100644 index 0000000..b87d0df --- /dev/null +++ b/UnityTests.Unity5/Assets/_Tests/Bugs/IndexOutOfRange02.unity.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d91cc58d8594d7f4595ddd71ef53e32d +timeCreated: 1481284574 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/UnityTests.Unity5/Assets/_Tests/PathsFree.cs b/UnityTests.Unity5/Assets/_Tests/PathsFree.cs index fbc0b4f..0cd5adc 100644 --- a/UnityTests.Unity5/Assets/_Tests/PathsFree.cs +++ b/UnityTests.Unity5/Assets/_Tests/PathsFree.cs @@ -5,16 +5,31 @@ using System.Collections; public class PathsFree : BrainBase { public Transform target; + public bool useRigidbody; + public bool useLocalPosition; + public float duration = 3; public Ease ease = Ease.Linear; public PathType pathType; public bool closePath; public Vector3[] waypoints; - IEnumerator Start() + void Start() { - yield return new WaitForSeconds(1); - - target.DOPath(waypoints, 3f, pathType).SetOptions(closePath).SetEase(ease) + Tween t; + if (useLocalPosition) { + t = useRigidbody + ? target.GetComponent().DOLocalPath(waypoints, duration, pathType).SetOptions(closePath).SetLookAt(0.001f) + : target.DOLocalPath(waypoints, duration, pathType).SetOptions(closePath).SetLookAt(0.001f); + } else { + t = useRigidbody + ? target.GetComponent().DOPath(waypoints, duration, pathType).SetOptions(closePath).SetLookAt(0.001f) + : target.DOPath(waypoints, duration, pathType).SetOptions(closePath).SetLookAt(0.001f); + } + t.SetEase(ease) .OnWaypointChange(x=> Debug.Log("CHANGE > " + x + " - " + target.position)); + if (useRigidbody && !target.GetComponent().isKinematic) { + t.OnPlay(()=> target.GetComponent().isKinematic = true); + t.OnComplete(()=> target.GetComponent().isKinematic = false); + } } } \ No newline at end of file diff --git a/UnityTests.Unity5/Assets/_Tests/PathsFree.unity b/UnityTests.Unity5/Assets/_Tests/PathsFree.unity index 996f04a..6283ea2 100644 Binary files a/UnityTests.Unity5/Assets/_Tests/PathsFree.unity and b/UnityTests.Unity5/Assets/_Tests/PathsFree.unity differ diff --git a/_DOTween.Assembly/DOTween/DOTween.cs b/_DOTween.Assembly/DOTween/DOTween.cs index 72f4f29..46ca1ea 100644 --- a/_DOTween.Assembly/DOTween/DOTween.cs +++ b/_DOTween.Assembly/DOTween/DOTween.cs @@ -32,7 +32,7 @@ namespace DG.Tweening public class DOTween { /// DOTween's version - public static readonly string Version = "1.1.520"; + public static readonly string Version = "1.1.530"; /////////////////////////////////////////////// // Options //////////////////////////////////// diff --git a/_DOTween.Assembly/DOTween/Plugins/Options/PathOptions.cs b/_DOTween.Assembly/DOTween/Plugins/Options/PathOptions.cs index 58e5aee..76b6911 100644 --- a/_DOTween.Assembly/DOTween/Plugins/Options/PathOptions.cs +++ b/_DOTween.Assembly/DOTween/Plugins/Options/PathOptions.cs @@ -30,6 +30,7 @@ namespace DG.Tweening.Plugins.Options public Quaternion forward; public bool useLocalPosition; public Transform parent; // Only used with OrientType.ToPath and useLocalPosition set as TRUE + public bool isRigidbody; internal Quaternion startupRot; // Used to reset orientation when rewinding internal float startupZRot; // Used to store Z value in case of lock Z, in order to rotate things differently diff --git a/_DOTween.Assembly/DOTween/Plugins/PathPlugin.cs b/_DOTween.Assembly/DOTween/Plugins/PathPlugin.cs index 1bb00fb..3308fdf 100644 --- a/_DOTween.Assembly/DOTween/Plugins/PathPlugin.cs +++ b/_DOTween.Assembly/DOTween/Plugins/PathPlugin.cs @@ -54,7 +54,7 @@ namespace DG.Tweening.Plugins // then sets the final path version public override void SetChangeValue(TweenerCore t) { - Transform trans = (Transform)t.target; + Transform trans = ((Component)t.target).transform; if (t.plugOptions.orientType == OrientType.ToPath && t.plugOptions.useLocalPosition) t.plugOptions.parent = trans.parent; if (t.endValue.isFinalized) { @@ -137,7 +137,7 @@ namespace DG.Tweening.Plugins // Public so it can be called by GotoWaypoint public void SetOrientation(PathOptions options, Tween t, Path path, float pathPerc, Vector3 tPos, UpdateNotice updateNotice) { - Transform trans = (Transform)t.target; + Transform trans = ((Component)t.target).transform; Quaternion newRot = Quaternion.identity; if (updateNotice == UpdateNotice.RewindStep) { @@ -216,7 +216,8 @@ namespace DG.Tweening.Plugins } if (options.hasCustomForwardDirection) newRot *= options.forward; - trans.rotation = newRot; + if (options.isRigidbody) ((Rigidbody)t.target).rotation = newRot; + else trans.rotation = newRot; } } } \ No newline at end of file diff --git a/_DOTween.Assembly/DOTween/ShortcutExtensions.cs b/_DOTween.Assembly/DOTween/ShortcutExtensions.cs index e1877a1..98d46c1 100644 --- a/_DOTween.Assembly/DOTween/ShortcutExtensions.cs +++ b/_DOTween.Assembly/DOTween/ShortcutExtensions.cs @@ -404,7 +404,7 @@ namespace DG.Tweening public static Tweener DORotate(this Rigidbody target, Vector3 endValue, float duration, RotateMode mode = RotateMode.Fast) { #if COMPATIBLE - TweenerCore t = DOTween.To(() => target.rotation, x => target.MoveRotation(x), endValue, duration); + TweenerCore t = DOTween.To(() => target.rotation, x => target.MoveRotation(x), endValue, duration); #else TweenerCore t = DOTween.To(() => target.rotation, target.MoveRotation, endValue, duration); #endif @@ -421,7 +421,7 @@ namespace DG.Tweening public static Tweener DOLookAt(this Rigidbody target, Vector3 towards, float duration, AxisConstraint axisConstraint = AxisConstraint.None, Vector3? up = null) { #if COMPATIBLE - TweenerCore t = DOTween.To(() => target.rotation, x => target.MoveRotation(x), towards, duration) + TweenerCore t = DOTween.To(() => target.rotation, x => target.MoveRotation(x), towards, duration) #else TweenerCore t = DOTween.To(() => target.rotation, target.MoveRotation, towards, duration) #endif @@ -480,11 +480,89 @@ namespace DG.Tweening return s; } - #endregion + /// Tweens a Rigidbody's position through the given path waypoints, using the chosen path algorithm. + /// Also stores the Rigidbody as the tween's target so it can be used for filtered operations. + /// NOTE: to tween a rigidbody correctly it should be set to kinematic at least while being tweened. + /// BEWARE: doesn't work on Windows Phone store (waiting for Unity to fix their own bug). + /// If you plan to publish there you should use a regular transform.DOPath. + /// The waypoints to go through + /// The duration of the tween + /// The type of path: Linear (straight path) or CatmullRom (curved CatmullRom path) + /// The path mode: 3D, side-scroller 2D, top-down 2D + /// The resolution of the path (useless in case of Linear paths): higher resolutions make for more detailed curved paths but are more expensive. + /// Defaults to 10, but a value of 5 is usually enough if you don't have dramatic long curves between waypoints + /// The color of the path (shown when gizmos are active in the Play panel and the tween is running) + public static TweenerCore DOPath( + this Rigidbody target, Vector3[] path, float duration, PathType pathType = PathType.Linear, + PathMode pathMode = PathMode.Full3D, int resolution = 10, Color? gizmoColor = null + ) + { + if (resolution < 1) resolution = 1; + TweenerCore t = DOTween.To(PathPlugin.Get(), () => target.position, target.MovePosition, new Path(pathType, path, resolution, gizmoColor), duration) + .SetTarget(target).SetUpdate(UpdateType.Fixed); - #endregion + t.plugOptions.isRigidbody = true; + t.plugOptions.mode = pathMode; + return t; + } + /// Tweens a Rigidbody's localPosition through the given path waypoints, using the chosen path algorithm. + /// Also stores the Rigidbody as the tween's target so it can be used for filtered operations + /// NOTE: to tween a rigidbody correctly it should be set to kinematic at least while being tweened. + /// BEWARE: doesn't work on Windows Phone store (waiting for Unity to fix their own bug). + /// If you plan to publish there you should use a regular transform.DOLocalPath. + /// The waypoint to go through + /// The duration of the tween + /// The type of path: Linear (straight path) or CatmullRom (curved CatmullRom path) + /// The path mode: 3D, side-scroller 2D, top-down 2D + /// The resolution of the path: higher resolutions make for more detailed curved paths but are more expensive. + /// Defaults to 10, but a value of 5 is usually enough if you don't have dramatic long curves between waypoints + /// The color of the path (shown when gizmos are active in the Play panel and the tween is running) + public static TweenerCore DOLocalPath( + this Rigidbody target, Vector3[] path, float duration, PathType pathType = PathType.Linear, + PathMode pathMode = PathMode.Full3D, int resolution = 10, Color? gizmoColor = null + ) + { + if (resolution < 1) resolution = 1; + Transform trans = target.transform; + TweenerCore t = DOTween.To(PathPlugin.Get(), () => trans.localPosition, x => target.MovePosition(trans.parent == null ? x : trans.parent.TransformPoint(x)), new Path(pathType, path, resolution, gizmoColor), duration) + .SetTarget(target).SetUpdate(UpdateType.Fixed); - #region TrailRenderer Shortcuts + t.plugOptions.isRigidbody = true; + t.plugOptions.mode = pathMode; + t.plugOptions.useLocalPosition = true; + return t; + } + // Used by path editor when creating the actual tween, so it can pass a pre-compiled path + internal static TweenerCore DOPath( + this Rigidbody target, Path path, float duration, PathMode pathMode = PathMode.Full3D + ) + { + TweenerCore t = DOTween.To(PathPlugin.Get(), () => target.position, target.MovePosition, path, duration) + .SetTarget(target); + + t.plugOptions.isRigidbody = true; + t.plugOptions.mode = pathMode; + return t; + } + internal static TweenerCore DOLocalPath( + this Rigidbody target, Path path, float duration, PathMode pathMode = PathMode.Full3D + ) + { + Transform trans = target.transform; + TweenerCore t = DOTween.To(PathPlugin.Get(), () => trans.localPosition, x => target.MovePosition(trans.parent == null ? x : trans.parent.TransformPoint(x)), path, duration) + .SetTarget(target); + + t.plugOptions.isRigidbody = true; + t.plugOptions.mode = pathMode; + t.plugOptions.useLocalPosition = true; + return t; + } + +#endregion + +#endregion + +#region TrailRenderer Shortcuts /// Tweens a TrailRenderer's startWidth/endWidth to the given value. /// Also stores the TrailRenderer as the tween's target so it can be used for filtered operations @@ -513,9 +591,9 @@ namespace DG.Tweening .SetTarget(target); } - #endregion +#endregion - #region Transform Shortcuts +#region Transform Shortcuts /// Tweens a Transform's position to the given value. /// Also stores the transform as the tween's target so it can be used for filtered operations @@ -826,7 +904,7 @@ namespace DG.Tweening .SetTarget(target).SetSpecialStartupMode(SpecialStartupMode.SetShake); } - #region Special +#region Special /// Tweens a Transform's position to the given value, while also applying a jump effect along the Y axis. /// Returns a Sequence instead of a Tweener. @@ -965,13 +1043,13 @@ namespace DG.Tweening return t; } - #endregion +#endregion - #endregion +#endregion - #region Blendables +#region Blendables - #region Light +#region Light /// Tweens a Light's color to the given value, /// in a way that allows other DOBlendableColor tweens to work together on the same target, @@ -994,9 +1072,9 @@ namespace DG.Tweening .Blendable().SetTarget(target); } - #endregion +#endregion - #region Material +#region Material /// Tweens a Material's color to the given value, /// in a way that allows other DOBlendableColor tweens to work together on the same target, @@ -1046,9 +1124,9 @@ namespace DG.Tweening .Blendable().SetTarget(target); } - #endregion +#endregion - #region Transform +#region Transform /// Tweens a Transform's position BY the given value (as if you chained a SetRelative), /// in a way that allows other DOBlendableMove tweens to work together on the same target, @@ -1158,14 +1236,14 @@ namespace DG.Tweening .Blendable().SetTarget(target); } - #endregion +#endregion - #endregion +#endregion // =================================================================================== // OPERATION SHORTCUTS --------------------------------------------------------------- - #region Operation Shortcuts +#region Operation Shortcuts /// /// Completes all tweens that have this target as a reference @@ -1411,6 +1489,6 @@ namespace DG.Tweening return DOTween.TogglePause(target); } - #endregion +#endregion } } \ No newline at end of file diff --git a/_DOTween.Assembly/bin/DOTween.XML b/_DOTween.Assembly/bin/DOTween.XML index 9be3ec0..a735db8 100644 --- a/_DOTween.Assembly/bin/DOTween.XML +++ b/_DOTween.Assembly/bin/DOTween.XML @@ -1416,6 +1416,34 @@ The duration of the tween If TRUE the tween will smoothly snap all values to integers + + Tweens a Rigidbody's position through the given path waypoints, using the chosen path algorithm. + Also stores the Rigidbody as the tween's target so it can be used for filtered operations. + NOTE: to tween a rigidbody correctly it should be set to kinematic at least while being tweened. + BEWARE: doesn't work on Windows Phone store (waiting for Unity to fix their own bug). + If you plan to publish there you should use a regular transform.DOPath. + The waypoints to go through + The duration of the tween + The type of path: Linear (straight path) or CatmullRom (curved CatmullRom path) + The path mode: 3D, side-scroller 2D, top-down 2D + The resolution of the path (useless in case of Linear paths): higher resolutions make for more detailed curved paths but are more expensive. + Defaults to 10, but a value of 5 is usually enough if you don't have dramatic long curves between waypoints + The color of the path (shown when gizmos are active in the Play panel and the tween is running) + + + Tweens a Rigidbody's localPosition through the given path waypoints, using the chosen path algorithm. + Also stores the Rigidbody as the tween's target so it can be used for filtered operations + NOTE: to tween a rigidbody correctly it should be set to kinematic at least while being tweened. + BEWARE: doesn't work on Windows Phone store (waiting for Unity to fix their own bug). + If you plan to publish there you should use a regular transform.DOLocalPath. + The waypoint to go through + The duration of the tween + The type of path: Linear (straight path) or CatmullRom (curved CatmullRom path) + The path mode: 3D, side-scroller 2D, top-down 2D + The resolution of the path: higher resolutions make for more detailed curved paths but are more expensive. + Defaults to 10, but a value of 5 is usually enough if you don't have dramatic long curves between waypoints + The color of the path (shown when gizmos are active in the Play panel and the tween is running) + Tweens a TrailRenderer's startWidth/endWidth to the given value. Also stores the TrailRenderer as the tween's target so it can be used for filtered operations diff --git a/_DOTween.Assembly/bin/DOTween.dll b/_DOTween.Assembly/bin/DOTween.dll index 3fd48ca..db34818 100644 Binary files a/_DOTween.Assembly/bin/DOTween.dll and b/_DOTween.Assembly/bin/DOTween.dll differ diff --git a/_DOTween.Assembly/bin/DOTween.dll.mdb b/_DOTween.Assembly/bin/DOTween.dll.mdb index 3ad2b90..84dea95 100644 Binary files a/_DOTween.Assembly/bin/DOTween.dll.mdb and b/_DOTween.Assembly/bin/DOTween.dll.mdb differ diff --git a/_DOTween.Assembly/bin/DOTween43.dll b/_DOTween.Assembly/bin/DOTween43.dll index 88fa1a9..3e48afa 100644 Binary files a/_DOTween.Assembly/bin/DOTween43.dll and b/_DOTween.Assembly/bin/DOTween43.dll differ diff --git a/_DOTween.Assembly/bin/DOTween43.dll.mdb b/_DOTween.Assembly/bin/DOTween43.dll.mdb index b89af92..7fa9f7b 100644 Binary files a/_DOTween.Assembly/bin/DOTween43.dll.mdb and b/_DOTween.Assembly/bin/DOTween43.dll.mdb differ diff --git a/_DOTween.Assembly/bin/DOTween46.dll b/_DOTween.Assembly/bin/DOTween46.dll index c2a3582..11fb26c 100644 Binary files a/_DOTween.Assembly/bin/DOTween46.dll and b/_DOTween.Assembly/bin/DOTween46.dll differ diff --git a/_DOTween.Assembly/bin/DOTween46.dll.mdb b/_DOTween.Assembly/bin/DOTween46.dll.mdb index fbbdde0..a72d9d8 100644 Binary files a/_DOTween.Assembly/bin/DOTween46.dll.mdb and b/_DOTween.Assembly/bin/DOTween46.dll.mdb differ diff --git a/_DOTween.Assembly/bin/DOTween50.dll b/_DOTween.Assembly/bin/DOTween50.dll index e4b063d..3706ff8 100644 Binary files a/_DOTween.Assembly/bin/DOTween50.dll and b/_DOTween.Assembly/bin/DOTween50.dll differ diff --git a/_DOTween.Assembly/bin/DOTween50.dll.mdb b/_DOTween.Assembly/bin/DOTween50.dll.mdb index c4ba379..7e1c31a 100644 Binary files a/_DOTween.Assembly/bin/DOTween50.dll.mdb and b/_DOTween.Assembly/bin/DOTween50.dll.mdb differ diff --git a/_DOTween.Assembly/bin/Editor/DOTweenEditor.dll b/_DOTween.Assembly/bin/Editor/DOTweenEditor.dll index cf1bf76..de98161 100644 Binary files a/_DOTween.Assembly/bin/Editor/DOTweenEditor.dll and b/_DOTween.Assembly/bin/Editor/DOTweenEditor.dll differ diff --git a/_DOTween.Assembly/bin/Editor/DOTweenEditor.dll.mdb b/_DOTween.Assembly/bin/Editor/DOTweenEditor.dll.mdb index b22d6f3..55362ff 100644 Binary files a/_DOTween.Assembly/bin/Editor/DOTweenEditor.dll.mdb and b/_DOTween.Assembly/bin/Editor/DOTweenEditor.dll.mdb differ