diff --git a/DOTween/Plugins/DOTween.XML b/DOTween/Plugins/DOTween.XML index 11e9215..762220e 100644 --- a/DOTween/Plugins/DOTween.XML +++ b/DOTween/Plugins/DOTween.XML @@ -139,7 +139,7 @@ - Behaviour in case a tween nested inside a Sequence fails + Behaviour in case a tween nested inside a Sequence fails and is captured by safe mode @@ -148,6 +148,23 @@ Kill the whole Sequence + + + Log types thrown by errors captured and prevented by safe mode + + + + No logs. NOT RECOMMENDED + + + Throw a normal log + + + Throw a warning log (default) + + + Throw an error log + Additional notices passed to plugins when updating. @@ -210,23 +227,29 @@ Used to dispatch commands that need to be captured externally, usually by Modules - + Returns a Vector3 with z = 0 - + Returns the 2D angle between two vectors - + + + Returns a point on a circle with the given center and radius, + using Unity's circle coordinates (0° points up and increases clockwise) + + + Uses approximate equality on each axis instead of Unity's Vector3 equality, because the latter fails (in some cases) when assigning a Vector3 to a transform.position and then checking it. - + Looks for the type within all possible project assembly names @@ -317,6 +340,46 @@ INTERNAL: do not use + + + Extra non-tweening-related curve methods + + + + + Cubic bezier curve methods + + + + + Calculates a point along the given Cubic Bezier segment-curve. + + Segment start point + Start point's control point/handle + Segment end point + End point's control point/handle + 0-1 percentage along which to retrieve point + + + + Returns an array containing a series of points along the given Cubic Bezier segment-curve. + + Start point + Start point's control point/handle + End point + End point's control point/handle + Cloud resolution (min: 2) + + + + Calculates a series of points along the given Cubic Bezier segment-curve and adds them to the given list. + + Start point + Start point's control point/handle + End point + End point's control point/handle + Cloud resolution (min: 2) + Main DOTween class. Contains static methods to create and control tweens in a generic way @@ -330,8 +393,11 @@ (like targets becoming null while a tween is playing). Default: TRUE + + Log type when safe mode reports capturing an error and preventing it + - Behaviour in case a tween nested inside a Sequence fails (caught by safe mode). + Behaviour in case a tween nested inside a Sequence fails (and is caught by safe mode). Default: NestedTweenFailureBehaviour.TryToPreserveSequence @@ -693,9 +759,21 @@ - Returns a new to be used for tween groups + Returns a new to be used for tween groups. + Mind that Sequences don't have a target applied automatically like Tweener creation shortcuts, + so if you want to be able to kill this Sequence when calling DOTween.Kill(target) you'll have to add + the target manually; you can do that directly by using the overload instead of this one + + + Returns a new to be used for tween groups, and allows to set a target + (because Sequences don't have their target set automatically like Tweener creation shortcuts). + That way killing/controlling tweens by target will apply to this Sequence too. + + The target of the Sequence. Relevant only for static target-based methods like DOTween.Kill(target), + useless otherwise + Completes all tweens and returns the number of actual tweens completed (meaning tweens that don't have infinite loops and were not already complete) @@ -736,6 +814,10 @@ Kills all tweens with the given ID or target and returns the number of actual tweens killed If TRUE completes the tweens before killing them + + Kills all tweens with the given target and the given ID, and returns the number of actual tweens killed + If TRUE completes the tweens before killing them + Pauses all tweens and returns the number of actual tweens paused @@ -835,6 +917,12 @@ If FALSE (default) returns TRUE as long as a tween for the given target/ID is active, otherwise also requires it to be playing + + + Returns the total number of active tweens. + A tween is considered active if it wasn't killed, regardless if it's playing or paused + + Returns the total number of active and playing tweens. @@ -890,7 +978,39 @@ The value to tween to The duration of the tween A callback which must accept a parameter of type float, called at each update - + + + + Tweens a virtual int. + You can add regular settings to the generated tween, + but do not use SetUpdate or you will overwrite the onVirtualUpdate parameter + + The value to start from + The value to tween to + The duration of the tween + A callback which must accept a parameter of type int, called at each update + + + + Tweens a virtual Vector3. + You can add regular settings to the generated tween, + but do not use SetUpdate or you will overwrite the onVirtualUpdate parameter + + The value to start from + The value to tween to + The duration of the tween + A callback which must accept a parameter of type Vector3, called at each update + + + + Tweens a virtual Color. + You can add regular settings to the generated tween, + but do not use SetUpdate or you will overwrite the onVirtualUpdate parameter + + The value to start from + The value to tween to + The duration of the tween + A callback which must accept a parameter of type Color, called at each update Returns a value based on the given ease and lifetime percentage (0 to 1) @@ -1054,6 +1174,13 @@ EXPERIMENTAL: Curved path (which uses Cubic Bezier curves, where each point requires two extra control points) + + + Tweens a Vector2 along a circle. + EndValue represents the center of the circle, start and end value degrees are inside options + ChangeValue x is changeValue°, y is unused + + Path control point @@ -1064,6 +1191,11 @@ Path waypoints (modified by PathPlugin when setting relative end/change value or by CubicBezierDecoder) and by DOTweenPathInspector + + + Minimum input points necessary to create the path (doesn't correspond to actual waypoints required) + + Gets the point on the path at the given percentage (0 to 1) @@ -1178,10 +1310,26 @@ (if higher than the whole tween duration the tween will simply reach its end) If TRUE will play the tween after reaching the given position, otherwise it will pause it + + Send the tween to the given position in time while also executing any callback between the previous time position and the new one + Time position to reach + (if higher than the whole tween duration the tween will simply reach its end) + If TRUE will play the tween after reaching the given position, otherwise it will pause it + Kills the tween If TRUE completes the tween before killing it + + + Forces this tween to update manually, regardless of the set via SetUpdate. + Note that the tween will still be subject to normal tween rules, so if for example it's paused this method will do nothing. + Also note that if you only want to update this tween instance manually you'll have to set it to anyway, + so that it's not updated automatically. + + Manual deltaTime + Unscaled delta time (used with tweens set as timeScaleIndependent) + Pauses the tween @@ -1687,7 +1835,16 @@ The end value to reachThe duration of the tween - Tweens a Transform's rotation so that it will look towards the given position. + Tweens a Transform's rotation so that it will look towards the given world position. + Also stores the transform as the tween's target so it can be used for filtered operations + The position to look atThe duration of the tween + Eventual axis constraint for the rotation + The vector that defines in which direction up is (default: Vector3.up) + + + EXPERIMENTAL Tweens a Transform's rotation so that it will look towards the given world position, + while also updating the lookAt position every frame + (contrary to which calculates the lookAt rotation only once, when the tween starts). Also stores the transform as the tween's target so it can be used for filtered operations The position to look atThe duration of the tween Eventual axis constraint for the rotation @@ -2336,6 +2493,17 @@ The type of update If TRUE the tween will ignore Unity's Time.timeScale + + EXPERIMENTAL: inverts this tween, so that it will play from the end to the beginning + (playing it backwards will actually play it from the beginning to the end). + Has no effect if the tween has already started or if it's added to a Sequence + + + EXPERIMENTAL: inverts this tween, so that it will play from the end to the beginning + (playing it backwards will actually play it from the beginning to the end). + Has no effect if the tween has already started or if it's added to a Sequence + If TRUE the tween will be inverted, otherwise it won't + Sets the onStart callback for the tween, clearing any previous onStart callback that was set. Called the first time the tween is set in a playing state, after any eventual delay @@ -2446,23 +2614,39 @@ then immediately sends the target to the previously set endValue. If TRUE the FROM value will be calculated as relative to the current one + + Changes a TO tween into a FROM tween: sets the current value of the target as the endValue, + and the previously passed endValue as the actual startValue. + If TRUE sets the target to from value immediately, otherwise waits for the tween to start + If TRUE the FROM value will be calculated as relative to the current one + Changes a TO tween into a FROM tween: sets the tween's starting value to the given one and eventually sets the tween's target to that value immediately. Value to start from If TRUE sets the target to from value immediately, otherwise waits for the tween to start + If TRUE the FROM/TO values will be calculated as relative to the current ones Changes a TO tween into a FROM tween: sets the tween's starting value to the given one and eventually sets the tween's target to that value immediately. Alpha value to start from (in case of Fade tweens) If TRUE sets the target to from value immediately, otherwise waits for the tween to start + If TRUE the FROM/TO values will be calculated as relative to the current ones Changes a TO tween into a FROM tween: sets the tween's starting value to the given one and eventually sets the tween's target to that value immediately. Value to start from (in case of Vector tweens that act on a single coordinate or scale tweens) If TRUE sets the target to from value immediately, otherwise waits for the tween to start + If TRUE the FROM/TO values will be calculated as relative to the current ones + + + Changes a TO tween into a FROM tween: sets the tween's starting value to the given one + and eventually sets the tween's target to that value immediately. + Value to start from (in case of Vector tweens that act on a single coordinate or scale tweens) + If TRUE sets the target to from value immediately, otherwise waits for the tween to start + If TRUE the FROM/TO values will be calculated as relative to the current ones Sets a delayed startup for the tween. @@ -2559,6 +2743,12 @@ Options for Vector3Array tweens If TRUE the tween will smoothly snap all values to integers + + Options for ShapeCircle tweens + If TRUE the center you set in the DOTween.To method will be considered as relative + to the starting position of the target + If TRUE the tween will smoothly snap all values to integers + Options for Path tweens (created via the DOPath shortcut) The eventual movement axis to lock. You can input multiple axis if you separate them like this: @@ -2645,7 +2835,11 @@ TimeScale for the tween - If TRUE the tween wil go backwards + If TRUE the tween will play backwards + + + If TRUE the tween is completely inverted but without playing it backwards + (play backwards will actually play the tween in the original direction) Object ID (usable for filtering with DOTween static methods). Can be anything except a string or an int diff --git a/DOTween/Plugins/DOTween.XML.meta b/DOTween/Plugins/DOTween.XML.meta index 215ae05..8fc2c38 100644 --- a/DOTween/Plugins/DOTween.XML.meta +++ b/DOTween/Plugins/DOTween.XML.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 6246f0bf2867e5c4cacfc3ce7a67d5cf +guid: 90b7003b2b7d4e642b50ea92b8a104c7 TextScriptImporter: externalObjects: {} userData: diff --git a/DOTween/Plugins/DOTween.dll b/DOTween/Plugins/DOTween.dll index 6ad855f..4c0bb10 100644 Binary files a/DOTween/Plugins/DOTween.dll and b/DOTween/Plugins/DOTween.dll differ diff --git a/DOTween/Plugins/DOTween.dll.mdb b/DOTween/Plugins/DOTween.dll.mdb index b4e9081..87cabdb 100644 Binary files a/DOTween/Plugins/DOTween.dll.mdb and b/DOTween/Plugins/DOTween.dll.mdb differ diff --git a/DOTween/Plugins/DOTween.dll.mdb.meta b/DOTween/Plugins/DOTween.dll.mdb.meta index 60c54de..a992d31 100644 --- a/DOTween/Plugins/DOTween.dll.mdb.meta +++ b/DOTween/Plugins/DOTween.dll.mdb.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 8675e32b8ad50a74e83eee86c0f5503d +guid: cf1aaf0790a9e65498b17dc683074882 DefaultImporter: externalObjects: {} userData: diff --git a/DOTween/Plugins/DOTween.dll.meta b/DOTween/Plugins/DOTween.dll.meta index d97eb5b..ae8052f 100644 --- a/DOTween/Plugins/DOTween.dll.meta +++ b/DOTween/Plugins/DOTween.dll.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: b79603e038c6c12439b661cc1bb71433 +guid: 987d269d3fbd26e48aa263b2aae5d76c PluginImporter: externalObjects: {} serializedVersion: 2 diff --git a/DOTween/Plugins/Editor.meta b/DOTween/Plugins/Editor.meta index 2ee53d5..0971a5c 100644 --- a/DOTween/Plugins/Editor.meta +++ b/DOTween/Plugins/Editor.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: b242fb4fa664a2546b8792f4932611ab +guid: e9a2d4cce90640f438950a09e36852ca folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/DOTween/Plugins/Editor/DOTweenEditor.XML b/DOTween/Plugins/Editor/DOTweenEditor.XML index 9ebc231..8b82472 100644 --- a/DOTween/Plugins/Editor/DOTweenEditor.XML +++ b/DOTween/Plugins/Editor/DOTweenEditor.XML @@ -10,11 +10,14 @@ Eventual callback to call after every update - + Stops the update loop and clears the onPreviewUpdated callback. - If TRUE also resets the tweened objects to their original state + If TRUE also resets the tweened objects to their original state. + Note that this works by calling Rewind on all tweens, so it will work correctly + only if you have a single tween type per object and it wasn't killed + If TRUE also kills any cached tween diff --git a/DOTween/Plugins/Editor/DOTweenEditor.XML.meta b/DOTween/Plugins/Editor/DOTweenEditor.XML.meta index 26a6052..3a3f50b 100644 --- a/DOTween/Plugins/Editor/DOTweenEditor.XML.meta +++ b/DOTween/Plugins/Editor/DOTweenEditor.XML.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 5850708c48e6f0f41b6001c30b2116b9 +guid: fc460462e4fb02f44b6439e6937a29c2 TextScriptImporter: externalObjects: {} userData: diff --git a/DOTween/Plugins/Editor/DOTweenEditor.dll b/DOTween/Plugins/Editor/DOTweenEditor.dll index 6792714..1599b40 100644 Binary files a/DOTween/Plugins/Editor/DOTweenEditor.dll and b/DOTween/Plugins/Editor/DOTweenEditor.dll differ diff --git a/DOTween/Plugins/Editor/DOTweenEditor.dll.mdb b/DOTween/Plugins/Editor/DOTweenEditor.dll.mdb index 671eb0c..fa2e903 100644 Binary files a/DOTween/Plugins/Editor/DOTweenEditor.dll.mdb and b/DOTween/Plugins/Editor/DOTweenEditor.dll.mdb differ diff --git a/DOTween/Plugins/Editor/DOTweenEditor.dll.mdb.meta b/DOTween/Plugins/Editor/DOTweenEditor.dll.mdb.meta index 5d7cd29..c29a082 100644 --- a/DOTween/Plugins/Editor/DOTweenEditor.dll.mdb.meta +++ b/DOTween/Plugins/Editor/DOTweenEditor.dll.mdb.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: d2c9fa369d29bbe478866b833e9ece80 +guid: f07cde41bacef1d47be85bec7a3fd403 DefaultImporter: externalObjects: {} userData: diff --git a/DOTween/Plugins/Editor/DOTweenEditor.dll.meta b/DOTween/Plugins/Editor/DOTweenEditor.dll.meta index f5387af..35debfe 100644 --- a/DOTween/Plugins/Editor/DOTweenEditor.dll.meta +++ b/DOTween/Plugins/Editor/DOTweenEditor.dll.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: e4d2c14df1e9d134eb88172d8a3e1a0a +guid: 9ededf7b7c80baa4eb3a18dcc19bb21a PluginImporter: externalObjects: {} serializedVersion: 2 diff --git a/DOTween/Plugins/Editor/Imgs.meta b/DOTween/Plugins/Editor/Imgs.meta index 167d4fc..4c8a8f8 100644 --- a/DOTween/Plugins/Editor/Imgs.meta +++ b/DOTween/Plugins/Editor/Imgs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: e0baa0885fad4e24592b43fe409995ff +guid: 6fe5d78dacf8efa48aa72a3e7d5b70fb folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/DOTween/Plugins/Editor/Imgs/DOTweenIcon.png.meta b/DOTween/Plugins/Editor/Imgs/DOTweenIcon.png.meta index 0c8b946..ba5c9d5 100644 --- a/DOTween/Plugins/Editor/Imgs/DOTweenIcon.png.meta +++ b/DOTween/Plugins/Editor/Imgs/DOTweenIcon.png.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: a1c8d93bd70fa4346b7cc37b9e32efc0 +guid: f0628927dc722724a9ce9b31035e26a8 TextureImporter: internalIDToNameTable: [] externalObjects: {} @@ -33,11 +33,11 @@ TextureImporter: textureSettings: serializedVersion: 2 filterMode: -1 - aniso: 2 + aniso: -1 mipBias: -100 - wrapU: 0 - wrapV: 0 - wrapW: 0 + wrapU: -1 + wrapV: -1 + wrapW: -1 nPOTScale: 1 lightmap: 0 compressionQuality: 50 @@ -55,8 +55,6 @@ TextureImporter: textureType: 0 textureShape: 1 singleChannelComponent: 0 - flipbookRows: 1 - flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -65,55 +63,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Standalone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: iPhone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Windows Store Apps - maxTextureSize: 8192 + maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/DOTween/Plugins/Editor/Imgs/DOTweenMiniIcon.png b/DOTween/Plugins/Editor/Imgs/DOTweenMiniIcon.png new file mode 100644 index 0000000..7cd74c1 Binary files /dev/null and b/DOTween/Plugins/Editor/Imgs/DOTweenMiniIcon.png differ diff --git a/DOTween/Plugins/Editor/Imgs/DOTweenMiniIcon.png.meta b/DOTween/Plugins/Editor/Imgs/DOTweenMiniIcon.png.meta new file mode 100644 index 0000000..08969c6 --- /dev/null +++ b/DOTween/Plugins/Editor/Imgs/DOTweenMiniIcon.png.meta @@ -0,0 +1,94 @@ +fileFormatVersion: 2 +guid: 66ce67af51b1aa942891e94bcfa4168c +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + wrapU: -1 + wrapV: -1 + wrapW: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/DOTween/Plugins/Editor/Imgs/Footer.png.meta b/DOTween/Plugins/Editor/Imgs/Footer.png.meta index 19952ca..ef249ac 100644 --- a/DOTween/Plugins/Editor/Imgs/Footer.png.meta +++ b/DOTween/Plugins/Editor/Imgs/Footer.png.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 19c5fbf641b241b47bb435f136237b45 +guid: 6820a7802bd4aab4c80ffc64cefc960e TextureImporter: internalIDToNameTable: [] externalObjects: {} @@ -33,11 +33,11 @@ TextureImporter: textureSettings: serializedVersion: 2 filterMode: -1 - aniso: 2 + aniso: -1 mipBias: -100 - wrapU: 0 - wrapV: 0 - wrapW: 0 + wrapU: -1 + wrapV: -1 + wrapW: -1 nPOTScale: 1 lightmap: 0 compressionQuality: 50 @@ -55,8 +55,6 @@ TextureImporter: textureType: 0 textureShape: 1 singleChannelComponent: 0 - flipbookRows: 1 - flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -65,55 +63,7 @@ TextureImporter: platformSettings: - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Standalone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: iPhone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Windows Store Apps - maxTextureSize: 8192 + maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/DOTween/Plugins/Editor/Imgs/Footer_dark.png.meta b/DOTween/Plugins/Editor/Imgs/Footer_dark.png.meta index 8d28d75..240d0de 100644 --- a/DOTween/Plugins/Editor/Imgs/Footer_dark.png.meta +++ b/DOTween/Plugins/Editor/Imgs/Footer_dark.png.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: af6883624ea803d43997a9002764a3a3 +guid: 9d0333dc10d2a6e42a0bc211d3376370 TextureImporter: internalIDToNameTable: [] externalObjects: {} @@ -55,8 +55,6 @@ TextureImporter: textureType: 2 textureShape: 1 singleChannelComponent: 0 - flipbookRows: 1 - flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -75,54 +73,6 @@ TextureImporter: overridden: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Standalone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: iPhone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Windows Store Apps - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] diff --git a/DOTween/Plugins/Editor/Imgs/Header.jpg.meta b/DOTween/Plugins/Editor/Imgs/Header.jpg.meta index 77d5012..9796edc 100644 --- a/DOTween/Plugins/Editor/Imgs/Header.jpg.meta +++ b/DOTween/Plugins/Editor/Imgs/Header.jpg.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 63373706de76d7f488a3332144af3fec +guid: 1cc9a961cffdca14991b755c5af0683c TextureImporter: internalIDToNameTable: [] externalObjects: {} @@ -55,8 +55,6 @@ TextureImporter: textureType: 2 textureShape: 1 singleChannelComponent: 0 - flipbookRows: 1 - flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -75,54 +73,6 @@ TextureImporter: overridden: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Standalone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: iPhone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Windows Store Apps - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] diff --git a/DOTween/Plugins/Modules.meta b/DOTween/Plugins/Modules.meta index 4daf58c..0bc0357 100644 --- a/DOTween/Plugins/Modules.meta +++ b/DOTween/Plugins/Modules.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: ff75aa93ec75e4c46be1ad4d94e1d927 +guid: b9bf6da5c99bf224fba192e3f71e7002 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/DOTween/Plugins/Modules/DOTweenModuleAudio.cs.meta b/DOTween/Plugins/Modules/DOTweenModuleAudio.cs.meta index 9494cbc..2d0997b 100644 --- a/DOTween/Plugins/Modules/DOTweenModuleAudio.cs.meta +++ b/DOTween/Plugins/Modules/DOTweenModuleAudio.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: b51928c6780ec0045876e55f07760037 +guid: fbf8e8d4c1bfd294eb2efc9f3d563fb2 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/DOTween/Plugins/Modules/DOTweenModuleEPOOutline.cs b/DOTween/Plugins/Modules/DOTweenModuleEPOOutline.cs new file mode 100644 index 0000000..aff1235 --- /dev/null +++ b/DOTween/Plugins/Modules/DOTweenModuleEPOOutline.cs @@ -0,0 +1,142 @@ +using UnityEngine; + +#if false || EPO_DOTWEEN // MODULE_MARKER + +using EPOOutline; +using DG.Tweening.Plugins.Options; +using DG.Tweening; +using DG.Tweening.Core; + +namespace DG.Tweening +{ + public static class DOTweenModuleEPOOutline + { + public static int DOKill(this SerializedPass target, bool complete) + { + return DOTween.Kill(target, complete); + } + + public static TweenerCore DOFloat(this SerializedPass target, string propertyName, float endValue, float duration) + { + var tweener = DOTween.To(() => target.GetFloat(propertyName), x => target.SetFloat(propertyName, x), endValue, duration); + tweener.SetOptions(true).SetTarget(target); + return tweener; + } + + public static TweenerCore DOFade(this SerializedPass target, string propertyName, float endValue, float duration) + { + var tweener = DOTween.ToAlpha(() => target.GetColor(propertyName), x => target.SetColor(propertyName, x), endValue, duration); + tweener.SetOptions(true).SetTarget(target); + return tweener; + } + + public static TweenerCore DOColor(this SerializedPass target, string propertyName, Color endValue, float duration) + { + var tweener = DOTween.To(() => target.GetColor(propertyName), x => target.SetColor(propertyName, x), endValue, duration); + tweener.SetOptions(false).SetTarget(target); + return tweener; + } + + public static TweenerCore DOVector(this SerializedPass target, string propertyName, Vector4 endValue, float duration) + { + var tweener = DOTween.To(() => target.GetVector(propertyName), x => target.SetVector(propertyName, x), endValue, duration); + tweener.SetOptions(false).SetTarget(target); + return tweener; + } + + public static TweenerCore DOFloat(this SerializedPass target, int propertyId, float endValue, float duration) + { + var tweener = DOTween.To(() => target.GetFloat(propertyId), x => target.SetFloat(propertyId, x), endValue, duration); + tweener.SetOptions(true).SetTarget(target); + return tweener; + } + + public static TweenerCore DOFade(this SerializedPass target, int propertyId, float endValue, float duration) + { + var tweener = DOTween.ToAlpha(() => target.GetColor(propertyId), x => target.SetColor(propertyId, x), endValue, duration); + tweener.SetOptions(true).SetTarget(target); + return tweener; + } + + public static TweenerCore DOColor(this SerializedPass target, int propertyId, Color endValue, float duration) + { + var tweener = DOTween.To(() => target.GetColor(propertyId), x => target.SetColor(propertyId, x), endValue, duration); + tweener.SetOptions(false).SetTarget(target); + return tweener; + } + + public static TweenerCore DOVector(this SerializedPass target, int propertyId, Vector4 endValue, float duration) + { + var tweener = DOTween.To(() => target.GetVector(propertyId), x => target.SetVector(propertyId, x), endValue, duration); + tweener.SetOptions(false).SetTarget(target); + return tweener; + } + + public static int DOKill(this Outlinable.OutlineProperties target, bool complete = false) + { + return DOTween.Kill(target, complete); + } + + public static int DOKill(this Outliner target, bool complete = false) + { + return DOTween.Kill(target, complete); + } + + public static TweenerCore DOFade(this Outlinable.OutlineProperties target, float endValue, float duration) + { + var tweener = DOTween.ToAlpha(() => target.Color, x => target.Color = x, endValue, duration); + tweener.SetOptions(true).SetTarget(target); + return tweener; + } + + public static TweenerCore DOColor(this Outlinable.OutlineProperties target, Color endValue, float duration) + { + var tweener = DOTween.To(() => target.Color, x => target.Color = x, endValue, duration); + tweener.SetOptions(false).SetTarget(target); + return tweener; + } + + public static TweenerCore DODilateShift(this Outlinable.OutlineProperties target, float endValue, float duration, bool snapping = false) + { + var tweener = DOTween.To(() => target.DilateShift, x => target.DilateShift = x, endValue, duration); + tweener.SetOptions(snapping).SetTarget(target); + return tweener; + } + + public static TweenerCore DOBlurShift(this Outlinable.OutlineProperties target, float endValue, float duration, bool snapping = false) + { + var tweener = DOTween.To(() => target.BlurShift, x => target.BlurShift = x, endValue, duration); + tweener.SetOptions(snapping).SetTarget(target); + return tweener; + } + + public static TweenerCore DOBlurShift(this Outliner target, float endValue, float duration, bool snapping = false) + { + var tweener = DOTween.To(() => target.BlurShift, x => target.BlurShift = x, endValue, duration); + tweener.SetOptions(snapping).SetTarget(target); + return tweener; + } + + public static TweenerCore DODilateShift(this Outliner target, float endValue, float duration, bool snapping = false) + { + var tweener = DOTween.To(() => target.DilateShift, x => target.DilateShift = x, endValue, duration); + tweener.SetOptions(snapping).SetTarget(target); + return tweener; + } + + public static TweenerCore DOInfoRendererScale(this Outliner target, float endValue, float duration, bool snapping = false) + { + var tweener = DOTween.To(() => target.InfoRendererScale, x => target.InfoRendererScale = x, endValue, duration); + tweener.SetOptions(snapping).SetTarget(target); + return tweener; + } + + public static TweenerCore DOPrimaryRendererScale(this Outliner target, float endValue, float duration, bool snapping = false) + { + var tweener = DOTween.To(() => target.PrimaryRendererScale, x => target.PrimaryRendererScale = x, endValue, duration); + tweener.SetOptions(snapping).SetTarget(target); + return tweener; + } + } +} +#endif diff --git a/DOTween/Plugins/Modules/DOTweenModuleEPOOutline.cs.meta b/DOTween/Plugins/Modules/DOTweenModuleEPOOutline.cs.meta new file mode 100644 index 0000000..77d7cdf --- /dev/null +++ b/DOTween/Plugins/Modules/DOTweenModuleEPOOutline.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 77e46eee9ca507645b10c2a7ddb58515 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/DOTween/Plugins/Modules/DOTweenModulePhysics.cs.meta b/DOTween/Plugins/Modules/DOTweenModulePhysics.cs.meta index 9321a9f..8a8fc4f 100644 --- a/DOTween/Plugins/Modules/DOTweenModulePhysics.cs.meta +++ b/DOTween/Plugins/Modules/DOTweenModulePhysics.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 9a7ab48ed4cb5da4bb047ded29094635 +guid: 73af3dd43499bc9428bca4bf4db7329a MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/DOTween/Plugins/Modules/DOTweenModulePhysics2D.cs b/DOTween/Plugins/Modules/DOTweenModulePhysics2D.cs index eab2cbf..d01f728 100644 --- a/DOTween/Plugins/Modules/DOTweenModulePhysics2D.cs +++ b/DOTween/Plugins/Modules/DOTweenModulePhysics2D.cs @@ -123,7 +123,7 @@ namespace DG.Tweening TweenerCore t = DOTween.To(PathPlugin.Get(), () => target.position, x => target.MovePosition(x), new Path(pathType, path3D, resolution, gizmoColor), duration) .SetTarget(target).SetUpdate(UpdateType.Fixed); - t.plugOptions.isRigidbody = true; + t.plugOptions.isRigidbody2D = true; t.plugOptions.mode = pathMode; return t; } @@ -152,7 +152,32 @@ namespace DG.Tweening TweenerCore t = DOTween.To(PathPlugin.Get(), () => trans.localPosition, x => target.MovePosition(trans.parent == null ? x : trans.parent.TransformPoint(x)), new Path(pathType, path3D, resolution, gizmoColor), duration) .SetTarget(target).SetUpdate(UpdateType.Fixed); - t.plugOptions.isRigidbody = true; + t.plugOptions.isRigidbody2D = 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 Rigidbody2D target, Path path, float duration, PathMode pathMode = PathMode.Full3D + ) + { + TweenerCore t = DOTween.To(PathPlugin.Get(), () => target.position, x => target.MovePosition(x), path, duration) + .SetTarget(target); + + t.plugOptions.isRigidbody2D = true; + t.plugOptions.mode = pathMode; + return t; + } + internal static TweenerCore DOLocalPath( + this Rigidbody2D 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.isRigidbody2D = true; t.plugOptions.mode = pathMode; t.plugOptions.useLocalPosition = true; return t; diff --git a/DOTween/Plugins/Modules/DOTweenModulePhysics2D.cs.meta b/DOTween/Plugins/Modules/DOTweenModulePhysics2D.cs.meta index 0cdf54a..c45ea51 100644 --- a/DOTween/Plugins/Modules/DOTweenModulePhysics2D.cs.meta +++ b/DOTween/Plugins/Modules/DOTweenModulePhysics2D.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: f0d8dd9e4f14b894198bbc8bbd9ae82d +guid: 6e230a21e89a5564bb62198dc8492985 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/DOTween/Plugins/Modules/DOTweenModuleSprite.cs.meta b/DOTween/Plugins/Modules/DOTweenModuleSprite.cs.meta index ba4236b..bc3c6e9 100644 --- a/DOTween/Plugins/Modules/DOTweenModuleSprite.cs.meta +++ b/DOTween/Plugins/Modules/DOTweenModuleSprite.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: fa3b4aeddfc4f244f865ca6873cdbfcb +guid: 47eb476c6907e9c41a1584efc30740a3 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/DOTween/Plugins/Modules/DOTweenModuleUI.cs b/DOTween/Plugins/Modules/DOTweenModuleUI.cs index ee32bed..dc24ebf 100644 --- a/DOTween/Plugins/Modules/DOTweenModuleUI.cs +++ b/DOTween/Plugins/Modules/DOTweenModuleUI.cs @@ -9,7 +9,10 @@ using UnityEngine; using UnityEngine.UI; using DG.Tweening.Core; using DG.Tweening.Core.Enums; +using DG.Tweening.Plugins; using DG.Tweening.Plugins.Options; +using Outline = UnityEngine.UI.Outline; +using Text = UnityEngine.UI.Text; #pragma warning disable 1591 namespace DG.Tweening @@ -606,6 +609,29 @@ namespace DG.Tweening #endregion + #region Shapes + + /// Tweens a RectTransform's anchoredPosition so that it draws a circle around the given center. + /// Also stores the RectTransform as the tween's target so it can be used for filtered operations. + /// IMPORTANT: SetFrom(value) requires a instead of a float, where the X property represents the "from degrees value" + /// Circle-center/pivot around which to rotate (in UI anchoredPosition coordinates) + /// The end value degrees to reach (to rotate counter-clockwise pass a negative value) + /// The duration of the tween + /// If TRUE the coordinates will be considered as relative to the target's current anchoredPosition + /// If TRUE the tween will smoothly snap all values to integers + public static TweenerCore DOShapeCircle( + this RectTransform target, Vector2 center, float endValueDegrees, float duration, bool relativeCenter = false, bool snapping = false + ) + { + TweenerCore t = DOTween.To( + CirclePlugin.Get(), () => target.anchoredPosition, x => target.anchoredPosition = x, center, duration + ); + t.SetOptions(endValueDegrees, relativeCenter, snapping).SetTarget(target); + return t; + } + + #endregion + #endregion // █████████████████████████████████████████████████████████████████████████████████████████████████████████████████████ diff --git a/DOTween/Plugins/Modules/DOTweenModuleUI.cs.meta b/DOTween/Plugins/Modules/DOTweenModuleUI.cs.meta index 3f17e57..07c256c 100644 --- a/DOTween/Plugins/Modules/DOTweenModuleUI.cs.meta +++ b/DOTween/Plugins/Modules/DOTweenModuleUI.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 3211c98c35c2e7f4cb7bf19b3d8a44b6 +guid: c494f8b802d9fae43a5cf352c4be0298 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/DOTween/Plugins/Modules/DOTweenModuleUnityVersion.cs b/DOTween/Plugins/Modules/DOTweenModuleUnityVersion.cs index 49a22bc..fa1ac05 100644 --- a/DOTween/Plugins/Modules/DOTweenModuleUnityVersion.cs +++ b/DOTween/Plugins/Modules/DOTweenModuleUnityVersion.cs @@ -5,9 +5,9 @@ using System; using UnityEngine; using DG.Tweening.Core; using DG.Tweening.Plugins.Options; -#if UNITY_2018_1_OR_NEWER && (NET_4_6 || NET_STANDARD_2_0) -using System.Threading.Tasks; -#endif +//#if UNITY_2018_1_OR_NEWER && (NET_4_6 || NET_STANDARD_2_0) +//using Task = System.Threading.Tasks.Task; +//#endif #pragma warning disable 1591 namespace DG.Tweening @@ -216,95 +216,95 @@ namespace DG.Tweening #region .NET 4.6 or Newer -#if (NET_4_6 || NET_STANDARD_2_0) +#if UNITY_2018_1_OR_NEWER && (NET_4_6 || NET_STANDARD_2_0) #region Async Instructions /// - /// Returns an async that waits until the tween is killed or complete. + /// Returns an async that waits until the tween is killed or complete. /// It can be used inside an async operation. /// Example usage:await myTween.WaitForCompletion(); /// - public static async Task AsyncWaitForCompletion(this Tween t) + public static async System.Threading.Tasks.Task AsyncWaitForCompletion(this Tween t) { if (!t.active) { if (Debugger.logPriority > 0) Debugger.LogInvalidTween(t); return; } - while (t.active && !t.IsComplete()) await Task.Yield(); + while (t.active && !t.IsComplete()) await System.Threading.Tasks.Task.Yield(); } /// - /// Returns an async that waits until the tween is killed or rewinded. + /// Returns an async that waits until the tween is killed or rewinded. /// It can be used inside an async operation. /// Example usage:await myTween.AsyncWaitForRewind(); /// - public static async Task AsyncWaitForRewind(this Tween t) + public static async System.Threading.Tasks.Task AsyncWaitForRewind(this Tween t) { if (!t.active) { if (Debugger.logPriority > 0) Debugger.LogInvalidTween(t); return; } - while (t.active && (!t.playedOnce || t.position * (t.CompletedLoops() + 1) > 0)) await Task.Yield(); + while (t.active && (!t.playedOnce || t.position * (t.CompletedLoops() + 1) > 0)) await System.Threading.Tasks.Task.Yield(); } /// - /// Returns an async that waits until the tween is killed. + /// Returns an async that waits until the tween is killed. /// It can be used inside an async operation. /// Example usage:await myTween.AsyncWaitForKill(); /// - public static async Task AsyncWaitForKill(this Tween t) + public static async System.Threading.Tasks.Task AsyncWaitForKill(this Tween t) { if (!t.active) { if (Debugger.logPriority > 0) Debugger.LogInvalidTween(t); return; } - while (t.active) await Task.Yield(); + while (t.active) await System.Threading.Tasks.Task.Yield(); } /// - /// Returns an async that waits until the tween is killed or has gone through the given amount of loops. + /// Returns an async that waits until the tween is killed or has gone through the given amount of loops. /// It can be used inside an async operation. /// Example usage:await myTween.AsyncWaitForElapsedLoops(); /// /// Elapsed loops to wait for - public static async Task AsyncWaitForElapsedLoops(this Tween t, int elapsedLoops) + public static async System.Threading.Tasks.Task AsyncWaitForElapsedLoops(this Tween t, int elapsedLoops) { if (!t.active) { if (Debugger.logPriority > 0) Debugger.LogInvalidTween(t); return; } - while (t.active && t.CompletedLoops() < elapsedLoops) await Task.Yield(); + while (t.active && t.CompletedLoops() < elapsedLoops) await System.Threading.Tasks.Task.Yield(); } /// - /// Returns an async that waits until the tween is killed or started + /// Returns an async that waits until the tween is killed or started /// (meaning when the tween is set in a playing state the first time, after any eventual delay). /// It can be used inside an async operation. /// Example usage:await myTween.AsyncWaitForPosition(); /// /// Position (loops included, delays excluded) to wait for - public static async Task AsyncWaitForPosition(this Tween t, float position) + public static async System.Threading.Tasks.Task AsyncWaitForPosition(this Tween t, float position) { if (!t.active) { if (Debugger.logPriority > 0) Debugger.LogInvalidTween(t); return; } - while (t.active && t.position * (t.CompletedLoops() + 1) < position) await Task.Yield(); + while (t.active && t.position * (t.CompletedLoops() + 1) < position) await System.Threading.Tasks.Task.Yield(); } /// - /// Returns an async that waits until the tween is killed. + /// Returns an async that waits until the tween is killed. /// It can be used inside an async operation. /// Example usage:await myTween.AsyncWaitForKill(); /// - public static async Task AsyncWaitForStart(this Tween t) + public static async System.Threading.Tasks.Task AsyncWaitForStart(this Tween t) { if (!t.active) { if (Debugger.logPriority > 0) Debugger.LogInvalidTween(t); return; } - while (t.active && !t.playedOnce) await Task.Yield(); + while (t.active && !t.playedOnce) await System.Threading.Tasks.Task.Yield(); } #endregion diff --git a/DOTween/Plugins/Modules/DOTweenModuleUnityVersion.cs.meta b/DOTween/Plugins/Modules/DOTweenModuleUnityVersion.cs.meta index 025f175..513d103 100644 --- a/DOTween/Plugins/Modules/DOTweenModuleUnityVersion.cs.meta +++ b/DOTween/Plugins/Modules/DOTweenModuleUnityVersion.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 167f051cc042292498861556b3325ff1 +guid: 5e74eed058c0d5341adcc26034dd665a MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/DOTween/Plugins/Modules/DOTweenModuleUtils.cs b/DOTween/Plugins/Modules/DOTweenModuleUtils.cs index 8a1fb5f..12a365d 100644 --- a/DOTween/Plugins/Modules/DOTweenModuleUtils.cs +++ b/DOTween/Plugins/Modules/DOTweenModuleUtils.cs @@ -129,23 +129,35 @@ namespace DG.Tweening public static TweenerCore CreateDOTweenPathTween( MonoBehaviour target, bool tweenRigidbody, bool isLocal, Path path, float duration, PathMode pathMode ){ - TweenerCore t; + TweenerCore t = null; + bool rBodyFoundAndTweened = false; #if true // PHYSICS_MARKER - Rigidbody rBody = tweenRigidbody ? target.GetComponent() : null; - if (tweenRigidbody && rBody != null) { - t = isLocal - ? rBody.DOLocalPath(path, duration, pathMode) - : rBody.DOPath(path, duration, pathMode); - } else { + if (tweenRigidbody) { + Rigidbody rBody = target.GetComponent(); + if (rBody != null) { + rBodyFoundAndTweened = true; + t = isLocal + ? rBody.DOLocalPath(path, duration, pathMode) + : rBody.DOPath(path, duration, pathMode); + } + } +#endif +#if true // PHYSICS2D_MARKER + if (!rBodyFoundAndTweened && tweenRigidbody) { + Rigidbody2D rBody2D = target.GetComponent(); + if (rBody2D != null) { + rBodyFoundAndTweened = true; + t = isLocal + ? rBody2D.DOLocalPath(path, duration, pathMode) + : rBody2D.DOPath(path, duration, pathMode); + } + } +#endif + if (!rBodyFoundAndTweened) { t = isLocal ? target.transform.DOLocalPath(path, duration, pathMode) : target.transform.DOPath(path, duration, pathMode); } -#else - t = isLocal - ? target.transform.DOLocalPath(path, duration, pathMode) - : target.transform.DOPath(path, duration, pathMode); -#endif return t; } diff --git a/DOTween/Plugins/Modules/DOTweenModuleUtils.cs.meta b/DOTween/Plugins/Modules/DOTweenModuleUtils.cs.meta index 61560bb..00eb758 100644 --- a/DOTween/Plugins/Modules/DOTweenModuleUtils.cs.meta +++ b/DOTween/Plugins/Modules/DOTweenModuleUtils.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 50e00c871ae334b48a8fc7c23bd48dd1 +guid: 45ef4c63cbbea914d86fdca2115cecec MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/DOTween/Plugins/readme.txt.meta b/DOTween/Plugins/readme.txt.meta index ef27a75..a939320 100644 --- a/DOTween/Plugins/readme.txt.meta +++ b/DOTween/Plugins/readme.txt.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: c4677c9bc78c3284b86896427be2b896 +guid: 68b80d2cce018c04e95b2ba29e61a857 TextScriptImporter: externalObjects: {} userData: