diff --git a/UnityCompatibilityTests.Unity35/Assets/Demigiant/DOTween/DOTween.XML b/UnityCompatibilityTests.Unity35/Assets/Demigiant/DOTween/DOTween.XML
index 9947fa0..70d7b74 100644
--- a/UnityCompatibilityTests.Unity35/Assets/Demigiant/DOTween/DOTween.XML
+++ b/UnityCompatibilityTests.Unity35/Assets/Demigiant/DOTween/DOTween.XML
@@ -532,39 +532,39 @@
Options for float tweens
If TRUE the tween will smoothly snap all values to integers
-
+
Options for Vector2 tweens
If TRUE the tween will smoothly snap all values to integers
-
+
Options for Vector2 tweens
Selecting an axis will tween the vector only on that axis, leaving the others untouched
If TRUE the tween will smoothly snap all values to integers
-
+
Options for Vector3 tweens
If TRUE the tween will smoothly snap all values to integers
-
+
Options for Vector3 tweens
Selecting an axis will tween the vector only on that axis, leaving the others untouched
If TRUE the tween will smoothly snap all values to integers
-
+
Options for Vector4 tweens
If TRUE the tween will smoothly snap all values to integers
-
+
Options for Vector4 tweens
Selecting an axis will tween the vector only on that axis, leaving the others untouched
If TRUE the tween will smoothly snap all values to integers
-
+
Options for Quaternion tweens
If TRUE (default) the rotation will take the shortest route, and will not rotate more than 360°.
If FALSE the rotation will be fully accounted. Is always FALSE if the tween is set as relative
-
+
Options for Color tweens
If TRUE only the alpha value of the color will be tweened
@@ -1507,7 +1507,7 @@
Example usage with lambda:x=> myProperty = x
The end value to reachThe tween's duration
-
+
Tweens a property or field to the given value using default plugins
A getter for the field or property to tween.
Example usage with lambda:()=> myProperty
@@ -1515,7 +1515,7 @@
Example usage with lambda:x=> myProperty = x
The end value to reachThe tween's duration
-
+
Tweens a property or field to the given value using default plugins
A getter for the field or property to tween.
Example usage with lambda:()=> myProperty
@@ -1523,7 +1523,7 @@
Example usage with lambda:x=> myProperty = x
The end value to reachThe tween's duration
-
+
Tweens a property or field to the given value using default plugins
A getter for the field or property to tween.
Example usage with lambda:()=> myProperty
@@ -1531,7 +1531,7 @@
Example usage with lambda:x=> myProperty = x
The end value to reachThe tween's duration
-
+
Tweens a property or field to the given value using default plugins
A getter for the field or property to tween.
Example usage with lambda:()=> myProperty
@@ -1539,7 +1539,7 @@
Example usage with lambda:x=> myProperty = x
The end value to reachThe tween's duration
-
+
Tweens a property or field to the given value using default plugins
A getter for the field or property to tween.
Example usage with lambda:()=> myProperty
@@ -1574,7 +1574,7 @@
Example usage with lambda:x=> myProperty = x
The end value to reachThe tween's duration
-
+
Tweens only one axis of a Vector3 to the given value using default plugins.
A getter for the field or property to tween.
Example usage with lambda:()=> myProperty
@@ -1583,7 +1583,7 @@
The end value to reachThe tween's duration
The axis to tween
-
+
Tweens only the alpha of a Color to the given value using default plugins
A getter for the field or property to tween.
Example usage with lambda:()=> myProperty
diff --git a/UnityCompatibilityTests.Unity35/Assets/Demigiant/DOTween/DOTween.dll b/UnityCompatibilityTests.Unity35/Assets/Demigiant/DOTween/DOTween.dll
index c271b28..d553b4d 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 f278411..ac0247d 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 8918883..3b88fec 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 c084e77..819ba59 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 e5b68a9..274728e 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 7d171c1..10becb1 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 d4598f8..725d445 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 cf1b441..82c1bcc 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 19745ee..932cf1d 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 b566726..e14573b 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 9947fa0..70d7b74 100644
--- a/UnityTests.Unity4/Assets/Demigiant/DOTween/DOTween.XML
+++ b/UnityTests.Unity4/Assets/Demigiant/DOTween/DOTween.XML
@@ -532,39 +532,39 @@
Options for float tweens
If TRUE the tween will smoothly snap all values to integers
-
+
Options for Vector2 tweens
If TRUE the tween will smoothly snap all values to integers
-
+
Options for Vector2 tweens
Selecting an axis will tween the vector only on that axis, leaving the others untouched
If TRUE the tween will smoothly snap all values to integers
-
+
Options for Vector3 tweens
If TRUE the tween will smoothly snap all values to integers
-
+
Options for Vector3 tweens
Selecting an axis will tween the vector only on that axis, leaving the others untouched
If TRUE the tween will smoothly snap all values to integers
-
+
Options for Vector4 tweens
If TRUE the tween will smoothly snap all values to integers
-
+
Options for Vector4 tweens
Selecting an axis will tween the vector only on that axis, leaving the others untouched
If TRUE the tween will smoothly snap all values to integers
-
+
Options for Quaternion tweens
If TRUE (default) the rotation will take the shortest route, and will not rotate more than 360°.
If FALSE the rotation will be fully accounted. Is always FALSE if the tween is set as relative
-
+
Options for Color tweens
If TRUE only the alpha value of the color will be tweened
@@ -1507,7 +1507,7 @@
Example usage with lambda:x=> myProperty = x
The end value to reachThe tween's duration
-
+
Tweens a property or field to the given value using default plugins
A getter for the field or property to tween.
Example usage with lambda:()=> myProperty
@@ -1515,7 +1515,7 @@
Example usage with lambda:x=> myProperty = x
The end value to reachThe tween's duration
-
+
Tweens a property or field to the given value using default plugins
A getter for the field or property to tween.
Example usage with lambda:()=> myProperty
@@ -1523,7 +1523,7 @@
Example usage with lambda:x=> myProperty = x
The end value to reachThe tween's duration
-
+
Tweens a property or field to the given value using default plugins
A getter for the field or property to tween.
Example usage with lambda:()=> myProperty
@@ -1531,7 +1531,7 @@
Example usage with lambda:x=> myProperty = x
The end value to reachThe tween's duration
-
+
Tweens a property or field to the given value using default plugins
A getter for the field or property to tween.
Example usage with lambda:()=> myProperty
@@ -1539,7 +1539,7 @@
Example usage with lambda:x=> myProperty = x
The end value to reachThe tween's duration
-
+
Tweens a property or field to the given value using default plugins
A getter for the field or property to tween.
Example usage with lambda:()=> myProperty
@@ -1574,7 +1574,7 @@
Example usage with lambda:x=> myProperty = x
The end value to reachThe tween's duration
-
+
Tweens only one axis of a Vector3 to the given value using default plugins.
A getter for the field or property to tween.
Example usage with lambda:()=> myProperty
@@ -1583,7 +1583,7 @@
The end value to reachThe tween's duration
The axis to tween
-
+
Tweens only the alpha of a Color to the given value using default plugins
A getter for the field or property to tween.
Example usage with lambda:()=> myProperty
diff --git a/UnityTests.Unity4/Assets/Demigiant/DOTween/DOTween.dll b/UnityTests.Unity4/Assets/Demigiant/DOTween/DOTween.dll
index c271b28..d553b4d 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 f278411..ac0247d 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 8918883..3b88fec 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 c084e77..819ba59 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 e5b68a9..274728e 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 7d171c1..10becb1 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 d4598f8..725d445 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 cf1b441..82c1bcc 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 19745ee..932cf1d 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 b566726..e14573b 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 9947fa0..70d7b74 100644
--- a/UnityTests.Unity5/Assets/Demigiant/DOTween/DOTween.XML
+++ b/UnityTests.Unity5/Assets/Demigiant/DOTween/DOTween.XML
@@ -532,39 +532,39 @@
Options for float tweens
If TRUE the tween will smoothly snap all values to integers
-
+
Options for Vector2 tweens
If TRUE the tween will smoothly snap all values to integers
-
+
Options for Vector2 tweens
Selecting an axis will tween the vector only on that axis, leaving the others untouched
If TRUE the tween will smoothly snap all values to integers
-
+
Options for Vector3 tweens
If TRUE the tween will smoothly snap all values to integers
-
+
Options for Vector3 tweens
Selecting an axis will tween the vector only on that axis, leaving the others untouched
If TRUE the tween will smoothly snap all values to integers
-
+
Options for Vector4 tweens
If TRUE the tween will smoothly snap all values to integers
-
+
Options for Vector4 tweens
Selecting an axis will tween the vector only on that axis, leaving the others untouched
If TRUE the tween will smoothly snap all values to integers
-
+
Options for Quaternion tweens
If TRUE (default) the rotation will take the shortest route, and will not rotate more than 360°.
If FALSE the rotation will be fully accounted. Is always FALSE if the tween is set as relative
-
+
Options for Color tweens
If TRUE only the alpha value of the color will be tweened
@@ -1507,7 +1507,7 @@
Example usage with lambda:x=> myProperty = x
The end value to reachThe tween's duration
-
+
Tweens a property or field to the given value using default plugins
A getter for the field or property to tween.
Example usage with lambda:()=> myProperty
@@ -1515,7 +1515,7 @@
Example usage with lambda:x=> myProperty = x
The end value to reachThe tween's duration
-
+
Tweens a property or field to the given value using default plugins
A getter for the field or property to tween.
Example usage with lambda:()=> myProperty
@@ -1523,7 +1523,7 @@
Example usage with lambda:x=> myProperty = x
The end value to reachThe tween's duration
-
+
Tweens a property or field to the given value using default plugins
A getter for the field or property to tween.
Example usage with lambda:()=> myProperty
@@ -1531,7 +1531,7 @@
Example usage with lambda:x=> myProperty = x
The end value to reachThe tween's duration
-
+
Tweens a property or field to the given value using default plugins
A getter for the field or property to tween.
Example usage with lambda:()=> myProperty
@@ -1539,7 +1539,7 @@
Example usage with lambda:x=> myProperty = x
The end value to reachThe tween's duration
-
+
Tweens a property or field to the given value using default plugins
A getter for the field or property to tween.
Example usage with lambda:()=> myProperty
@@ -1574,7 +1574,7 @@
Example usage with lambda:x=> myProperty = x
The end value to reachThe tween's duration
-
+
Tweens only one axis of a Vector3 to the given value using default plugins.
A getter for the field or property to tween.
Example usage with lambda:()=> myProperty
@@ -1583,7 +1583,7 @@
The end value to reachThe tween's duration
The axis to tween
-
+
Tweens only the alpha of a Color to the given value using default plugins
A getter for the field or property to tween.
Example usage with lambda:()=> myProperty
diff --git a/UnityTests.Unity5/Assets/Demigiant/DOTween/DOTween.dll b/UnityTests.Unity5/Assets/Demigiant/DOTween/DOTween.dll
index c271b28..d553b4d 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 f278411..ac0247d 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 8918883..3b88fec 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 c084e77..819ba59 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 e5b68a9..274728e 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 7d171c1..10becb1 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 d4598f8..725d445 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 cf1b441..82c1bcc 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 19745ee..932cf1d 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 b566726..e14573b 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/_DOTween.Assembly/DOTween.sln b/_DOTween.Assembly/DOTween.sln
index 618a3b7..72ae298 100644
--- a/_DOTween.Assembly/DOTween.sln
+++ b/_DOTween.Assembly/DOTween.sln
@@ -17,53 +17,53 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DOTween50", "DOTween50\DOTw
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ CompatibilityMode|Any CPU = CompatibilityMode|Any CPU
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
- WP81|Any CPU = WP81|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {DE17C145-3E8D-45D6-BBB6-D06BD7D80A55}.CompatibilityMode|Any CPU.ActiveCfg = CompatibilityMode|Any CPU
+ {DE17C145-3E8D-45D6-BBB6-D06BD7D80A55}.CompatibilityMode|Any CPU.Build.0 = CompatibilityMode|Any CPU
{DE17C145-3E8D-45D6-BBB6-D06BD7D80A55}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{DE17C145-3E8D-45D6-BBB6-D06BD7D80A55}.Debug|Any CPU.Build.0 = Debug|Any CPU
{DE17C145-3E8D-45D6-BBB6-D06BD7D80A55}.Release|Any CPU.ActiveCfg = Release|Any CPU
{DE17C145-3E8D-45D6-BBB6-D06BD7D80A55}.Release|Any CPU.Build.0 = Release|Any CPU
- {DE17C145-3E8D-45D6-BBB6-D06BD7D80A55}.WP81|Any CPU.ActiveCfg = WP81|Any CPU
- {DE17C145-3E8D-45D6-BBB6-D06BD7D80A55}.WP81|Any CPU.Build.0 = WP81|Any CPU
+ {421ACC19-8922-4E98-8921-B52240CE172A}.CompatibilityMode|Any CPU.ActiveCfg = CompatibilityMode|Any CPU
+ {421ACC19-8922-4E98-8921-B52240CE172A}.CompatibilityMode|Any CPU.Build.0 = CompatibilityMode|Any CPU
{421ACC19-8922-4E98-8921-B52240CE172A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{421ACC19-8922-4E98-8921-B52240CE172A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{421ACC19-8922-4E98-8921-B52240CE172A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{421ACC19-8922-4E98-8921-B52240CE172A}.Release|Any CPU.Build.0 = Release|Any CPU
- {421ACC19-8922-4E98-8921-B52240CE172A}.WP81|Any CPU.ActiveCfg = WP81|Any CPU
- {421ACC19-8922-4E98-8921-B52240CE172A}.WP81|Any CPU.Build.0 = WP81|Any CPU
+ {20D2E542-D14F-4678-9C38-F3C0ECF6A2F6}.CompatibilityMode|Any CPU.ActiveCfg = CompatibilityMode|Any CPU
+ {20D2E542-D14F-4678-9C38-F3C0ECF6A2F6}.CompatibilityMode|Any CPU.Build.0 = CompatibilityMode|Any CPU
{20D2E542-D14F-4678-9C38-F3C0ECF6A2F6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{20D2E542-D14F-4678-9C38-F3C0ECF6A2F6}.Debug|Any CPU.Build.0 = Debug|Any CPU
{20D2E542-D14F-4678-9C38-F3C0ECF6A2F6}.Release|Any CPU.ActiveCfg = Release|Any CPU
{20D2E542-D14F-4678-9C38-F3C0ECF6A2F6}.Release|Any CPU.Build.0 = Release|Any CPU
- {20D2E542-D14F-4678-9C38-F3C0ECF6A2F6}.WP81|Any CPU.ActiveCfg = WP81|Any CPU
- {20D2E542-D14F-4678-9C38-F3C0ECF6A2F6}.WP81|Any CPU.Build.0 = WP81|Any CPU
+ {978C0952-38D0-4C22-B96C-823EAFEDF0FA}.CompatibilityMode|Any CPU.ActiveCfg = CompatibilityMode|Any CPU
+ {978C0952-38D0-4C22-B96C-823EAFEDF0FA}.CompatibilityMode|Any CPU.Build.0 = CompatibilityMode|Any CPU
{978C0952-38D0-4C22-B96C-823EAFEDF0FA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{978C0952-38D0-4C22-B96C-823EAFEDF0FA}.Debug|Any CPU.Build.0 = Debug|Any CPU
{978C0952-38D0-4C22-B96C-823EAFEDF0FA}.Release|Any CPU.ActiveCfg = Release|Any CPU
{978C0952-38D0-4C22-B96C-823EAFEDF0FA}.Release|Any CPU.Build.0 = Release|Any CPU
- {978C0952-38D0-4C22-B96C-823EAFEDF0FA}.WP81|Any CPU.ActiveCfg = WP81|Any CPU
- {978C0952-38D0-4C22-B96C-823EAFEDF0FA}.WP81|Any CPU.Build.0 = WP81|Any CPU
+ {279545AE-D268-42F0-A4C6-AA5BA15FB9BE}.CompatibilityMode|Any CPU.ActiveCfg = CompatibilityMode|Any CPU
+ {279545AE-D268-42F0-A4C6-AA5BA15FB9BE}.CompatibilityMode|Any CPU.Build.0 = CompatibilityMode|Any CPU
{279545AE-D268-42F0-A4C6-AA5BA15FB9BE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{279545AE-D268-42F0-A4C6-AA5BA15FB9BE}.Debug|Any CPU.Build.0 = Debug|Any CPU
{279545AE-D268-42F0-A4C6-AA5BA15FB9BE}.Release|Any CPU.ActiveCfg = Release|Any CPU
{279545AE-D268-42F0-A4C6-AA5BA15FB9BE}.Release|Any CPU.Build.0 = Release|Any CPU
- {279545AE-D268-42F0-A4C6-AA5BA15FB9BE}.WP81|Any CPU.ActiveCfg = WP81|Any CPU
- {279545AE-D268-42F0-A4C6-AA5BA15FB9BE}.WP81|Any CPU.Build.0 = WP81|Any CPU
+ {AC1E5A23-CE58-419C-B165-EB1CD39AB433}.CompatibilityMode|Any CPU.ActiveCfg = CompatibilityMode|Any CPU
+ {AC1E5A23-CE58-419C-B165-EB1CD39AB433}.CompatibilityMode|Any CPU.Build.0 = CompatibilityMode|Any CPU
{AC1E5A23-CE58-419C-B165-EB1CD39AB433}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{AC1E5A23-CE58-419C-B165-EB1CD39AB433}.Debug|Any CPU.Build.0 = Debug|Any CPU
{AC1E5A23-CE58-419C-B165-EB1CD39AB433}.Release|Any CPU.ActiveCfg = Release|Any CPU
{AC1E5A23-CE58-419C-B165-EB1CD39AB433}.Release|Any CPU.Build.0 = Release|Any CPU
- {AC1E5A23-CE58-419C-B165-EB1CD39AB433}.WP81|Any CPU.ActiveCfg = WP81|Any CPU
- {AC1E5A23-CE58-419C-B165-EB1CD39AB433}.WP81|Any CPU.Build.0 = WP81|Any CPU
+ {930C3B07-B00A-44B8-A8E5-452A8FD125C7}.CompatibilityMode|Any CPU.ActiveCfg = CompatibilityMode|Any CPU
+ {930C3B07-B00A-44B8-A8E5-452A8FD125C7}.CompatibilityMode|Any CPU.Build.0 = CompatibilityMode|Any CPU
{930C3B07-B00A-44B8-A8E5-452A8FD125C7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{930C3B07-B00A-44B8-A8E5-452A8FD125C7}.Debug|Any CPU.Build.0 = Debug|Any CPU
{930C3B07-B00A-44B8-A8E5-452A8FD125C7}.Release|Any CPU.ActiveCfg = Release|Any CPU
{930C3B07-B00A-44B8-A8E5-452A8FD125C7}.Release|Any CPU.Build.0 = Release|Any CPU
- {930C3B07-B00A-44B8-A8E5-452A8FD125C7}.WP81|Any CPU.ActiveCfg = WP81|Any CPU
- {930C3B07-B00A-44B8-A8E5-452A8FD125C7}.WP81|Any CPU.Build.0 = WP81|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/_DOTween.Assembly/DOTween/Core/Surrogates/ColorSurrogate.cs b/_DOTween.Assembly/DOTween/Core/Surrogates/ColorSurrogate.cs
deleted file mode 100644
index b1e168e..0000000
--- a/_DOTween.Assembly/DOTween/Core/Surrogates/ColorSurrogate.cs
+++ /dev/null
@@ -1,66 +0,0 @@
-using UnityEngine;
-
-#if WP81
-// Author: Daniele Giardini - http://www.demigiant.com
-// Created: 2015/04/15 12:10
-
-#pragma warning disable 1591
-namespace DG.Tweening.Core.Surrogates
-{
- public struct ColorSurrogate
- {
- public float r, g, b, a;
-
- public ColorSurrogate(float r, float g, float b, float a)
- {
- this.r = r;
- this.g = g;
- this.b = b;
- this.a = a;
- }
-
- #region Operations
-
- public static ColorSurrogate operator +(ColorSurrogate v1, ColorSurrogate v2)
- {
- return new ColorSurrogate(v1.r + v2.r, v1.g + v2.g, v1.b + v2.b, v1.a + v2.a);
- }
-
- public static ColorSurrogate operator -(ColorSurrogate v1, ColorSurrogate v2)
- {
- return new ColorSurrogate(v1.r - v2.r, v1.g - v2.g, v1.b - v2.b, v1.a - v2.a);
- }
-
- public static ColorSurrogate operator *(ColorSurrogate v1, float f)
- {
- return new ColorSurrogate(v1.r * f, v1.g * f, v1.b * f, v1.a * f);
- }
-
- #endregion
-
- #region Conversions
-
- public static implicit operator Color(ColorSurrogate v)
- {
- return new Color(v.r, v.g, v.b, v.a);
- }
-
- public static implicit operator ColorSurrogate(Color v)
- {
- return new ColorSurrogate(v.r, v.g, v.b, v.a);
- }
-
- public static implicit operator Color32(ColorSurrogate v)
- {
- return new Color32((byte)(Mathf.Clamp01(v.r) * 255f), (byte)(Mathf.Clamp01(v.g) * 255f), (byte)(Mathf.Clamp01(v.b) * 255f), (byte)(Mathf.Clamp01(v.a) * 255f));
- }
-
- public static implicit operator ColorSurrogate(Color32 v)
- {
- return new ColorSurrogate((float)v.r / 255f, (float)v.g / 255f, (float)v.b / 255f, (float)v.a / 255f);
- }
-
- #endregion
- }
-}
-#endif
\ No newline at end of file
diff --git a/_DOTween.Assembly/DOTween/Core/Surrogates/ColorWrapper.cs b/_DOTween.Assembly/DOTween/Core/Surrogates/ColorWrapper.cs
new file mode 100644
index 0000000..59b78ec
--- /dev/null
+++ b/_DOTween.Assembly/DOTween/Core/Surrogates/ColorWrapper.cs
@@ -0,0 +1,30 @@
+#if COMPATIBLE
+// Author: Daniele Giardini - http://www.demigiant.com
+// Created: 2015/04/20 17:52
+
+using UnityEngine;
+
+#pragma warning disable 1591
+namespace DG.Tweening.Core.Surrogates
+{
+ public struct ColorWrapper
+ {
+ public Color value;
+
+ public ColorWrapper(Color value)
+ {
+ this.value = value;
+ }
+
+ public static implicit operator Color(ColorWrapper v)
+ {
+ return v.value;
+ }
+
+ public static implicit operator ColorWrapper(Color v)
+ {
+ return new ColorWrapper(v);
+ }
+ }
+}
+#endif
\ No newline at end of file
diff --git a/_DOTween.Assembly/DOTween/Core/Surrogates/QuaternionSurrogate.cs b/_DOTween.Assembly/DOTween/Core/Surrogates/QuaternionSurrogate.cs
deleted file mode 100644
index ca09ebe..0000000
--- a/_DOTween.Assembly/DOTween/Core/Surrogates/QuaternionSurrogate.cs
+++ /dev/null
@@ -1,67 +0,0 @@
-#if WP81
-// Author: Daniele Giardini - http://www.demigiant.com
-// Created: 2015/04/15 18:44
-
-using UnityEngine;
-
-#pragma warning disable 1591
-namespace DG.Tweening.Core.Surrogates
-{
- public struct QuaternionSurrogate
- {
- public float x, y, z, w;
-
- public QuaternionSurrogate(float x, float y, float z, float w)
- {
- this.x = x;
- this.y = y;
- this.z = z;
- this.w = w;
- }
-
- #region Operations
-
- public static QuaternionSurrogate operator *(QuaternionSurrogate lhs, QuaternionSurrogate rhs)
- {
- return new QuaternionSurrogate(lhs.w * rhs.x + lhs.x * rhs.w + lhs.y * rhs.z - lhs.z * rhs.y, lhs.w * rhs.y + lhs.y * rhs.w + lhs.z * rhs.x - lhs.x * rhs.z, lhs.w * rhs.z + lhs.z * rhs.w + lhs.x * rhs.y - lhs.y * rhs.x, lhs.w * rhs.w - lhs.x * rhs.x - lhs.y * rhs.y - lhs.z * rhs.z);
- }
-
- public static Vector3Surrogate operator *(QuaternionSurrogate rotation, Vector3Surrogate point)
- {
- float num = rotation.x * 2f;
- float num2 = rotation.y * 2f;
- float num3 = rotation.z * 2f;
- float num4 = rotation.x * num;
- float num5 = rotation.y * num2;
- float num6 = rotation.z * num3;
- float num7 = rotation.x * num2;
- float num8 = rotation.x * num3;
- float num9 = rotation.y * num3;
- float num10 = rotation.w * num;
- float num11 = rotation.w * num2;
- float num12 = rotation.w * num3;
- Vector3Surrogate result;
- result.x = (1f - (num5 + num6)) * point.x + (num7 - num12) * point.y + (num8 + num11) * point.z;
- result.y = (num7 + num12) * point.x + (1f - (num4 + num6)) * point.y + (num9 - num10) * point.z;
- result.z = (num8 - num11) * point.x + (num9 + num10) * point.y + (1f - (num4 + num5)) * point.z;
- return result;
- }
-
- #endregion
-
- #region Conversions
-
- public static implicit operator Quaternion(QuaternionSurrogate v)
- {
- return new Quaternion(v.x, v.y, v.z, v.w);
- }
-
- public static implicit operator QuaternionSurrogate(Quaternion v)
- {
- return new QuaternionSurrogate(v.x, v.y, v.z, v.w);
- }
-
- #endregion
- }
-}
-#endif
\ No newline at end of file
diff --git a/_DOTween.Assembly/DOTween/Core/Surrogates/QuaternionWrapper.cs b/_DOTween.Assembly/DOTween/Core/Surrogates/QuaternionWrapper.cs
new file mode 100644
index 0000000..a9402c9
--- /dev/null
+++ b/_DOTween.Assembly/DOTween/Core/Surrogates/QuaternionWrapper.cs
@@ -0,0 +1,30 @@
+#if COMPATIBLE
+// Author: Daniele Giardini - http://www.demigiant.com
+// Created: 2015/04/20 17:53
+
+using UnityEngine;
+
+#pragma warning disable 1591
+namespace DG.Tweening.Core.Surrogates
+{
+ public struct QuaternionWrapper
+ {
+ public Quaternion value;
+
+ public QuaternionWrapper(Quaternion value)
+ {
+ this.value = value;
+ }
+
+ public static implicit operator Quaternion(QuaternionWrapper v)
+ {
+ return v.value;
+ }
+
+ public static implicit operator QuaternionWrapper(Quaternion v)
+ {
+ return new QuaternionWrapper(v);
+ }
+ }
+}
+#endif
\ No newline at end of file
diff --git a/_DOTween.Assembly/DOTween/Core/Surrogates/Vector2Surrogate.cs b/_DOTween.Assembly/DOTween/Core/Surrogates/Vector2Surrogate.cs
deleted file mode 100644
index ab03771..0000000
--- a/_DOTween.Assembly/DOTween/Core/Surrogates/Vector2Surrogate.cs
+++ /dev/null
@@ -1,63 +0,0 @@
-#if WP81
-// Author: Daniele Giardini - http://www.demigiant.com
-// Created: 2015/04/14 12:42
-
-using UnityEngine;
-
-#pragma warning disable 1591
-namespace DG.Tweening.Core.Surrogates
-{
- ///
- /// A surrogate for Vector2/3/4 values to work around Unity's bug when trying to cast to
- /// a Vector2/3/4 plugin on WP8.1
- ///
- public struct Vector2Surrogate
- {
- public float x, y;
-
- public float magnitude {
- get { return Mathf.Sqrt(x * x + y * y); }
- }
-
- public Vector2Surrogate(float x, float y)
- : this()
- {
- this.x = x;
- this.y = y;
- }
-
- #region Operations
-
- public static Vector2Surrogate operator +(Vector2Surrogate v1, Vector2Surrogate v2)
- {
- return new Vector2Surrogate(v1.x + v2.x, v1.y + v2.y);
- }
-
- public static Vector2Surrogate operator -(Vector2Surrogate v1, Vector2Surrogate v2)
- {
- return new Vector2Surrogate(v1.x - v2.x, v1.y - v2.y);
- }
-
- public static Vector2Surrogate operator *(Vector2Surrogate v1, float f)
- {
- return new Vector2Surrogate(v1.x * f, v1.y * f);
- }
-
- #endregion
-
- #region Conversions
-
- public static implicit operator Vector2(Vector2Surrogate v)
- {
- return new Vector2(v.x, v.y);
- }
-
- public static implicit operator Vector2Surrogate(Vector2 v)
- {
- return new Vector2Surrogate(v.x, v.y);
- }
-
- #endregion
- }
-}
-#endif
\ No newline at end of file
diff --git a/_DOTween.Assembly/DOTween/Core/Surrogates/Vector2Wrapper.cs b/_DOTween.Assembly/DOTween/Core/Surrogates/Vector2Wrapper.cs
new file mode 100644
index 0000000..7eb95ac
--- /dev/null
+++ b/_DOTween.Assembly/DOTween/Core/Surrogates/Vector2Wrapper.cs
@@ -0,0 +1,34 @@
+#if COMPATIBLE
+// Author: Daniele Giardini - http://www.demigiant.com
+// Created: 2015/04/20 17:50
+
+using UnityEngine;
+
+#pragma warning disable 1591
+namespace DG.Tweening.Core.Surrogates
+{
+ public struct Vector2Wrapper
+ {
+ public Vector2 value;
+
+ public Vector2Wrapper(Vector2 value)
+ {
+ this.value = value;
+ }
+ public Vector2Wrapper(float x, float y)
+ {
+ this.value = new Vector2(x, y);
+ }
+
+ public static implicit operator Vector2(Vector2Wrapper v)
+ {
+ return v.value;
+ }
+
+ public static implicit operator Vector2Wrapper(Vector2 v)
+ {
+ return new Vector2Wrapper(v);
+ }
+ }
+}
+#endif
\ No newline at end of file
diff --git a/_DOTween.Assembly/DOTween/Core/Surrogates/Vector3Surrogate.cs b/_DOTween.Assembly/DOTween/Core/Surrogates/Vector3Surrogate.cs
deleted file mode 100644
index 1e68d32..0000000
--- a/_DOTween.Assembly/DOTween/Core/Surrogates/Vector3Surrogate.cs
+++ /dev/null
@@ -1,72 +0,0 @@
-#if WP81
-// Author: Daniele Giardini - http://www.demigiant.com
-// Created: 2015/04/14 12:37
-
-using UnityEngine;
-
-#pragma warning disable 1591
-namespace DG.Tweening.Core.Surrogates
-{
- ///
- /// A surrogate for Vector2/3/4 values to work around Unity's bug when trying to cast to
- /// a Vector2/3/4 plugin on WP8.1
- ///
- public struct Vector3Surrogate
- {
- public float x, y, z;
-
- public static Vector3Surrogate zero {
- get { return new Vector3Surrogate(0, 0, 0); }
- }
-
- public float magnitude {
- get { return Mathf.Sqrt(x * x + y * y + z * z); }
- }
-
- public Vector3Surrogate(float x, float y, float z)
- : this()
- {
- this.x = x;
- this.y = y;
- this.z = z;
- }
-
- #region Operations
-
- public static Vector3Surrogate operator +(Vector3Surrogate v1, Vector3Surrogate v2)
- {
- return new Vector3Surrogate(v1.x + v2.x, v1.y + v2.y, v1.z + v2.z);
- }
-
- public static Vector3Surrogate operator -(Vector3Surrogate v1, Vector3Surrogate v2)
- {
- return new Vector3Surrogate(v1.x - v2.x, v1.y - v2.y, v1.z - v2.z);
- }
- public static Vector3Surrogate operator -(Vector3Surrogate v1)
- {
- return new Vector3Surrogate(-v1.x, -v1.y, -v1.z);
- }
-
- public static Vector3Surrogate operator *(Vector3Surrogate v1, float f)
- {
- return new Vector3Surrogate(v1.x * f, v1.y * f, v1.z * f);
- }
-
- #endregion
-
- #region Conversions
-
- public static implicit operator Vector3(Vector3Surrogate v)
- {
- return new Vector3(v.x, v.y, v.z);
- }
-
- public static implicit operator Vector3Surrogate(Vector3 v)
- {
- return new Vector3Surrogate(v.x, v.y, v.z);
- }
-
- #endregion
- }
-}
-#endif
\ No newline at end of file
diff --git a/_DOTween.Assembly/DOTween/Core/Surrogates/Vector3Wrapper.cs b/_DOTween.Assembly/DOTween/Core/Surrogates/Vector3Wrapper.cs
new file mode 100644
index 0000000..9689f56
--- /dev/null
+++ b/_DOTween.Assembly/DOTween/Core/Surrogates/Vector3Wrapper.cs
@@ -0,0 +1,30 @@
+#if COMPATIBLE
+// Author: Daniele Giardini - http://www.demigiant.com
+// Created: 2015/04/20 16:57
+
+using UnityEngine;
+
+#pragma warning disable 1591
+namespace DG.Tweening.Core.Surrogates
+{
+ public struct Vector3Wrapper
+ {
+ public Vector3 value;
+
+ public Vector3Wrapper(Vector3 value)
+ {
+ this.value = value;
+ }
+
+ public static implicit operator Vector3(Vector3Wrapper v)
+ {
+ return v.value;
+ }
+
+ public static implicit operator Vector3Wrapper(Vector3 v)
+ {
+ return new Vector3Wrapper(v);
+ }
+ }
+}
+#endif
\ No newline at end of file
diff --git a/_DOTween.Assembly/DOTween/Core/Surrogates/Vector4Surrogate.cs b/_DOTween.Assembly/DOTween/Core/Surrogates/Vector4Surrogate.cs
deleted file mode 100644
index 44eaa1f..0000000
--- a/_DOTween.Assembly/DOTween/Core/Surrogates/Vector4Surrogate.cs
+++ /dev/null
@@ -1,113 +0,0 @@
-#if WP81
-// Author: Daniele Giardini - http://www.demigiant.com
-// Created: 2015/04/14 12:10
-
-using UnityEngine;
-
-#pragma warning disable 1591
-namespace DG.Tweening.Core.Surrogates
-{
- ///
- /// A surrogate for Vector2/3/4 values to work around Unity's bug when trying to cast to
- /// a Vector2/3/4 plugin on WP8.1
- ///
- public struct Vector4Surrogate
- {
- public float x, y, z, w;
-
- public float magnitude {
- get { return Mathf.Sqrt(x * x + y * y + z * z + w * w); }
- }
-
- public Vector4Surrogate(float x, float y, float z, float w)
- {
- this.x = x;
- this.y = y;
- this.z = z;
- this.w = w;
- }
-
- #region Operations
-
- public static Vector4Surrogate operator +(Vector4Surrogate v1, Vector4Surrogate v2)
- {
- return new Vector4Surrogate(v1.x + v2.x, v1.y + v2.y, v1.z + v2.z, v1.w + v2.w);
- }
-
- public static Vector4Surrogate operator -(Vector4Surrogate v1, Vector4Surrogate v2)
- {
- return new Vector4Surrogate(v1.x - v2.x, v1.y - v2.y, v1.z - v2.z, v1.w - v2.w);
- }
-
- public static Vector4Surrogate operator *(Vector4Surrogate v1, float f)
- {
- return new Vector4Surrogate(v1.x * f, v1.y * f, v1.z * f, v1.w * f);
- }
-
-// public static Vector4Surrogate operator /(Vector4Surrogate v1, float f)
-// {
-// return new Vector4Surrogate(v1.x / f, v1.y / f, v1.z / f, v1.w / f);
-// }
-
- #endregion
-
- #region Comparisons
-
- // public static bool operator <(Vector4Surrogate v1, Vector4Surrogate v2)
-// {
-// return v1.magnitude < v2.magnitude;
-// }
-//
-// public static bool operator <=(Vector4Surrogate v1, Vector4Surrogate v2)
-// {
-// return v1.magnitude <= v2.magnitude;
-// }
-//
-// public static bool operator >(Vector4Surrogate v1, Vector4Surrogate v2)
-// {
-// return v1.magnitude > v2.magnitude;
-// }
-//
-// public static bool operator >=(Vector4Surrogate v1, Vector4Surrogate v2)
-// {
-// return v1.magnitude >= v2.magnitude;
-// }
-//
-// public static bool operator ==(Vector4Surrogate v1, Vector4Surrogate v2)
-// {
-// return v1.x == v2.x && v1.y == v2.y && v1.z == v2.z && v1.w == v2.w;
-// }
-//
-// public static bool operator !=(Vector4Surrogate v1, Vector4Surrogate v2)
-// {
-// return !(v1 == v2);
- // }
-
- #endregion
-
- #region Conversions
-
-// public static implicit operator Vector2(Vector4Surrogate v)
-// {
-// return new Vector2(v.x, v.y);
-// }
-//
-// public static implicit operator Vector3(Vector4Surrogate v)
-// {
-// return new Vector3(v.x, v.y, v.z);
-// }
-
- public static implicit operator Vector4(Vector4Surrogate v)
- {
- return new Vector4(v.x, v.y, v.z, v.w);
- }
-
- public static implicit operator Vector4Surrogate(Vector4 v)
- {
- return new Vector4Surrogate(v.x, v.y, v.z, v.w);
- }
-
- #endregion
- }
-}
-#endif
\ No newline at end of file
diff --git a/_DOTween.Assembly/DOTween/Core/Surrogates/Vector4Wrapper.cs b/_DOTween.Assembly/DOTween/Core/Surrogates/Vector4Wrapper.cs
new file mode 100644
index 0000000..e6c2bdb
--- /dev/null
+++ b/_DOTween.Assembly/DOTween/Core/Surrogates/Vector4Wrapper.cs
@@ -0,0 +1,30 @@
+#if COMPATIBLE
+// Author: Daniele Giardini - http://www.demigiant.com
+// Created: 2015/04/20 17:51
+
+using UnityEngine;
+
+#pragma warning disable 1591
+namespace DG.Tweening.Core.Surrogates
+{
+ public struct Vector4Wrapper
+ {
+ public Vector4 value;
+
+ public Vector4Wrapper(Vector4 value)
+ {
+ this.value = value;
+ }
+
+ public static implicit operator Vector4(Vector4Wrapper v)
+ {
+ return v.value;
+ }
+
+ public static implicit operator Vector4Wrapper(Vector4 v)
+ {
+ return new Vector4Wrapper(v);
+ }
+ }
+}
+#endif
\ No newline at end of file
diff --git a/_DOTween.Assembly/DOTween/DOTween.cs b/_DOTween.Assembly/DOTween/DOTween.cs
index c7723a1..f6dca8b 100644
--- a/_DOTween.Assembly/DOTween/DOTween.cs
+++ b/_DOTween.Assembly/DOTween/DOTween.cs
@@ -4,11 +4,19 @@
// License Copyright (c) Daniele Giardini.
// This work is subject to the terms at http://dotween.demigiant.com/license.php
-#if WP81
-using DG.Tweening.Core.Surrogates;
+#if COMPATIBLE
+using DOVector2 = DG.Tweening.Core.Surrogates.Vector2Wrapper;
+using DOVector3 = DG.Tweening.Core.Surrogates.Vector3Wrapper;
+using DOVector4 = DG.Tweening.Core.Surrogates.Vector4Wrapper;
+using DOQuaternion = DG.Tweening.Core.Surrogates.QuaternionWrapper;
+using DOColor = DG.Tweening.Core.Surrogates.ColorWrapper;
+#else
+using DOVector2 = UnityEngine.Vector2;
+using DOVector3 = UnityEngine.Vector3;
+using DOVector4 = UnityEngine.Vector4;
+using DOQuaternion = UnityEngine.Quaternion;
+using DOColor = UnityEngine.Color;
#endif
-using System;
-using System.Collections;
using System.Collections.Generic;
using DG.Tweening.Core;
using DG.Tweening.Core.Enums;
@@ -24,7 +32,7 @@ namespace DG.Tweening
public class DOTween
{
/// DOTween's version
- public static readonly string Version = "1.0.535";
+ public static readonly string Version = "1.0.600";
///////////////////////////////////////////////
// Options ////////////////////////////////////
@@ -307,65 +315,40 @@ namespace DG.Tweening
/// A setter for the field or property to tween
/// Example usage with lambda:x=> myProperty = x
/// The end value to reachThe tween's duration
-#if WP81
- public static TweenerCore To(DOGetter getter, DOSetter setter, Vector2 endValue, float duration)
- { return ApplyTo(getter, setter, endValue, duration); }
-#else
- public static TweenerCore To(DOGetter getter, DOSetter setter, Vector2 endValue, float duration)
- { return ApplyTo(getter, setter, endValue, duration); }
-#endif
+ public static TweenerCore To(DOGetter getter, DOSetter setter, Vector2 endValue, float duration)
+ { return ApplyTo(getter, setter, endValue, duration); }
/// Tweens a property or field to the given value using default plugins
/// A getter for the field or property to tween.
/// Example usage with lambda:()=> myProperty
/// A setter for the field or property to tween
/// Example usage with lambda:x=> myProperty = x
/// The end value to reachThe tween's duration
-#if WP81
- public static TweenerCore To(DOGetter getter, DOSetter setter, Vector3 endValue, float duration)
- { return ApplyTo(getter, setter, endValue, duration); }
-#else
- public static TweenerCore To(DOGetter getter, DOSetter setter, Vector3 endValue, float duration)
- { return ApplyTo(getter, setter, endValue, duration); }
-#endif
+ public static TweenerCore To(DOGetter getter, DOSetter setter, Vector3 endValue, float duration)
+ { return ApplyTo(getter, setter, endValue, duration); }
/// Tweens a property or field to the given value using default plugins
/// A getter for the field or property to tween.
/// Example usage with lambda:()=> myProperty
/// A setter for the field or property to tween
/// Example usage with lambda:x=> myProperty = x
/// The end value to reachThe tween's duration
-#if WP81
- public static TweenerCore To(DOGetter getter, DOSetter setter, Vector4 endValue, float duration)
- { return ApplyTo(getter, setter, endValue, duration); }
-#else
- public static TweenerCore To(DOGetter getter, DOSetter setter, Vector4 endValue, float duration)
- { return ApplyTo(getter, setter, endValue, duration); }
-#endif
+ public static TweenerCore To(DOGetter getter, DOSetter setter, Vector4 endValue, float duration)
+ { return ApplyTo(getter, setter, endValue, duration); }
/// Tweens a property or field to the given value using default plugins
/// A getter for the field or property to tween.
/// Example usage with lambda:()=> myProperty
/// A setter for the field or property to tween
/// Example usage with lambda:x=> myProperty = x
/// The end value to reachThe tween's duration
-#if WP81
- public static TweenerCore To(DOGetter getter, DOSetter setter, Vector3 endValue, float duration)
- { return ApplyTo(getter, setter, endValue, duration); }
-#else
- public static TweenerCore To(DOGetter getter, DOSetter setter, Vector3 endValue, float duration)
- { return ApplyTo(getter, setter, endValue, duration); }
-#endif
+ public static TweenerCore To(DOGetter getter, DOSetter setter, Vector3 endValue, float duration)
+ { return ApplyTo(getter, setter, endValue, duration); }
/// Tweens a property or field to the given value using default plugins
/// A getter for the field or property to tween.
/// Example usage with lambda:()=> myProperty
/// A setter for the field or property to tween
/// Example usage with lambda:x=> myProperty = x
/// The end value to reachThe tween's duration
-#if WP81
- public static TweenerCore To(DOGetter getter, DOSetter setter, Color endValue, float duration)
- { return ApplyTo(getter, setter, endValue, duration); }
-#else
- public static TweenerCore To(DOGetter getter, DOSetter setter, Color endValue, float duration)
- { return ApplyTo(getter, setter, endValue, duration); }
-#endif
+ public static TweenerCore To(DOGetter getter, DOSetter setter, Color endValue, float duration)
+ { return ApplyTo(getter, setter, endValue, duration); }
/// Tweens a property or field to the given value using default plugins
/// A getter for the field or property to tween.
/// Example usage with lambda:()=> myProperty
@@ -405,34 +388,20 @@ namespace DG.Tweening
/// Example usage with lambda:x=> myProperty = x
/// The end value to reachThe tween's duration
/// The axis to tween
-#if WP81
- public static TweenerCore ToAxis(DOGetter getter, DOSetter setter, float endValue, float duration, AxisConstraint axisConstraint = AxisConstraint.X)
+ public static TweenerCore ToAxis(DOGetter getter, DOSetter setter, float endValue, float duration, AxisConstraint axisConstraint = AxisConstraint.X)
{
- TweenerCore t = ApplyTo(getter, setter, new Vector3Surrogate(endValue, endValue, endValue), duration);
+ TweenerCore t = ApplyTo(getter, setter, new Vector3(endValue, endValue, endValue), duration);
t.plugOptions.axisConstraint = axisConstraint;
return t;
}
-#else
- public static TweenerCore ToAxis(DOGetter getter, DOSetter setter, float endValue, float duration, AxisConstraint axisConstraint = AxisConstraint.X)
- {
- TweenerCore t = ApplyTo(getter, setter, new Vector3(endValue, endValue, endValue), duration);
- t.plugOptions.axisConstraint = axisConstraint;
- return t;
- }
-#endif
/// Tweens only the alpha of a Color to the given value using default plugins
/// A getter for the field or property to tween.
/// Example usage with lambda:()=> myProperty
/// A setter for the field or property to tween
/// Example usage with lambda:x=> myProperty = x
/// The end value to reachThe tween's duration
-#if WP81
- public static Tweener ToAlpha(DOGetter getter, DOSetter setter, float endValue, float duration)
- { return ApplyTo(getter, setter, new ColorSurrogate(0, 0, 0, endValue), duration).SetOptions(true); }
-#else
- public static Tweener ToAlpha(DOGetter getter, DOSetter setter, float endValue, float duration)
- { return ApplyTo(getter, setter, new Color(0, 0, 0, endValue), duration).SetOptions(true); }
-#endif
+ public static Tweener ToAlpha(DOGetter getter, DOSetter setter, float endValue, float duration)
+ { return ApplyTo(getter, setter, new Color(0, 0, 0, endValue), duration).SetOptions(true); }
#endregion
diff --git a/_DOTween.Assembly/DOTween/DOTween.csproj b/_DOTween.Assembly/DOTween/DOTween.csproj
index 2518fcf..5c33262 100644
--- a/_DOTween.Assembly/DOTween/DOTween.csproj
+++ b/_DOTween.Assembly/DOTween/DOTween.csproj
@@ -34,9 +34,9 @@
..\bin\DOTween.XML
1573
-
+
..\bin\
- TRACE;WP81
+ TRACE;COMPATIBLE
..\bin\DOTween.XML
true
1573
@@ -71,13 +71,13 @@
-
-
-
-
+
+
+
+
+
-
@@ -86,15 +86,15 @@
-
+
-
+
-
+
@@ -103,8 +103,8 @@
-
-
+
+
diff --git a/_DOTween.Assembly/DOTween/Plugins/ColorPlugin.cs b/_DOTween.Assembly/DOTween/Plugins/ColorPlugin.cs
index 6604d13..e66cec2 100644
--- a/_DOTween.Assembly/DOTween/Plugins/ColorPlugin.cs
+++ b/_DOTween.Assembly/DOTween/Plugins/ColorPlugin.cs
@@ -1,4 +1,4 @@
-#if !WP81
+#if !COMPATIBLE
// Author: Daniele Giardini - http://www.demigiant.com
// Created: 2014/07/10 14:33
//
diff --git a/_DOTween.Assembly/DOTween/Plugins/ColorSurrogatePlugin.cs b/_DOTween.Assembly/DOTween/Plugins/ColorSurrogatePlugin.cs
deleted file mode 100644
index 80d5af6..0000000
--- a/_DOTween.Assembly/DOTween/Plugins/ColorSurrogatePlugin.cs
+++ /dev/null
@@ -1,74 +0,0 @@
-#if WP81
-// Author: Daniele Giardini - http://www.demigiant.com
-// Created: 2015/04/15 12:17
-
-using DG.Tweening.Core;
-using DG.Tweening.Core.Easing;
-using DG.Tweening.Core.Surrogates;
-using DG.Tweening.Plugins.Core;
-using DG.Tweening.Plugins.Options;
-
-#pragma warning disable 1591
-namespace DG.Tweening.Plugins
-{
- public class ColorSurrogatePlugin : ABSTweenPlugin
- {
- public override void Reset(TweenerCore t) { }
-
- public override void SetFrom(TweenerCore t, bool isRelative)
- {
- ColorSurrogate prevEndVal = t.endValue;
- t.endValue = t.getter();
- t.startValue = isRelative ? t.endValue + prevEndVal : prevEndVal;
- ColorSurrogate to = t.endValue;
- if (!t.plugOptions.alphaOnly) to = t.startValue;
- else to.a = t.startValue.a;
- t.setter(to);
- }
-
- public override ColorSurrogate ConvertToStartValue(TweenerCore t, ColorSurrogate value)
- {
- return value;
- }
-
- public override void SetRelativeEndValue(TweenerCore t)
- {
- t.endValue += t.startValue;
- }
-
- public override void SetChangeValue(TweenerCore t)
- {
- t.changeValue = t.endValue - t.startValue;
- }
-
- public override float GetSpeedBasedDuration(ColorOptions options, float unitsXSecond, ColorSurrogate changeValue)
- {
- return 1f / unitsXSecond;
- }
-
- public override void EvaluateAndApply(ColorOptions options, Tween t, bool isRelative, DOGetter getter, DOSetter setter, float elapsed, ColorSurrogate startValue, ColorSurrogate changeValue, float duration, bool usingInversePosition)
- {
- if (t.loopType == LoopType.Incremental) startValue += changeValue * (t.isComplete ? t.completedLoops - 1 : t.completedLoops);
- if (t.isSequenced && t.sequenceParent.loopType == LoopType.Incremental) {
- startValue += changeValue * (t.loopType == LoopType.Incremental ? t.loops : 1)
- * (t.sequenceParent.isComplete ? t.sequenceParent.completedLoops - 1 : t.sequenceParent.completedLoops);
- }
-
- float easeVal = EaseManager.Evaluate(t.easeType, t.customEase, elapsed, duration, t.easeOvershootOrAmplitude, t.easePeriod);
- if (!options.alphaOnly) {
- startValue.r += changeValue.r * easeVal;
- startValue.g += changeValue.g * easeVal;
- startValue.b += changeValue.b * easeVal;
- startValue.a += changeValue.a * easeVal;
- setter(startValue);
- return;
- }
-
- // Alpha only
- ColorSurrogate res = getter();
- res.a = startValue.a + changeValue.a * easeVal;
- setter(res);
- }
- }
-}
-#endif
\ No newline at end of file
diff --git a/_DOTween.Assembly/DOTween/Plugins/ColorWrapperPlugin.cs b/_DOTween.Assembly/DOTween/Plugins/ColorWrapperPlugin.cs
new file mode 100644
index 0000000..f733360
--- /dev/null
+++ b/_DOTween.Assembly/DOTween/Plugins/ColorWrapperPlugin.cs
@@ -0,0 +1,75 @@
+#if COMPATIBLE
+// Author: Daniele Giardini - http://www.demigiant.com
+// Created: 2015/04/20 18:17
+
+using DG.Tweening.Core;
+using DG.Tweening.Core.Easing;
+using DG.Tweening.Core.Surrogates;
+using DG.Tweening.Plugins.Core;
+using DG.Tweening.Plugins.Options;
+using UnityEngine;
+
+#pragma warning disable 1591
+namespace DG.Tweening.Plugins
+{
+ public class ColorWrapperPlugin : ABSTweenPlugin
+ {
+ public override void Reset(TweenerCore t) { }
+
+ public override void SetFrom(TweenerCore t, bool isRelative)
+ {
+ Color prevEndVal = t.endValue;
+ t.endValue.value = t.getter().value;
+ t.startValue.value = isRelative ? t.endValue.value + prevEndVal : prevEndVal;
+ Color to = t.endValue.value;
+ if (!t.plugOptions.alphaOnly) to = t.startValue.value;
+ else to.a = t.startValue.value.a;
+ t.setter(to);
+ }
+
+ public override ColorWrapper ConvertToStartValue(TweenerCore t, ColorWrapper value)
+ {
+ return value.value;
+ }
+
+ public override void SetRelativeEndValue(TweenerCore t)
+ {
+ t.endValue.value += t.startValue.value;
+ }
+
+ public override void SetChangeValue(TweenerCore t)
+ {
+ t.changeValue.value = t.endValue.value - t.startValue.value;
+ }
+
+ public override float GetSpeedBasedDuration(ColorOptions options, float unitsXSecond, ColorWrapper changeValue)
+ {
+ return 1f / unitsXSecond;
+ }
+
+ public override void EvaluateAndApply(ColorOptions options, Tween t, bool isRelative, DOGetter getter, DOSetter setter, float elapsed, ColorWrapper startValue, ColorWrapper changeValue, float duration, bool usingInversePosition)
+ {
+ if (t.loopType == LoopType.Incremental) startValue.value += changeValue.value * (t.isComplete ? t.completedLoops - 1 : t.completedLoops);
+ if (t.isSequenced && t.sequenceParent.loopType == LoopType.Incremental) {
+ startValue.value += changeValue.value * (t.loopType == LoopType.Incremental ? t.loops : 1)
+ * (t.sequenceParent.isComplete ? t.sequenceParent.completedLoops - 1 : t.sequenceParent.completedLoops);
+ }
+
+ float easeVal = EaseManager.Evaluate(t.easeType, t.customEase, elapsed, duration, t.easeOvershootOrAmplitude, t.easePeriod);
+ if (!options.alphaOnly) {
+ startValue.value.r += changeValue.value.r * easeVal;
+ startValue.value.g += changeValue.value.g * easeVal;
+ startValue.value.b += changeValue.value.b * easeVal;
+ startValue.value.a += changeValue.value.a * easeVal;
+ setter(startValue);
+ return;
+ }
+
+ // Alpha only
+ Color res = getter().value;
+ res.a = startValue.value.a + changeValue.value.a * easeVal;
+ setter(res);
+ }
+ }
+}
+#endif
\ No newline at end of file
diff --git a/_DOTween.Assembly/DOTween/Plugins/Core/PluginsManager.cs b/_DOTween.Assembly/DOTween/Plugins/Core/PluginsManager.cs
index d0dc97d..d67fe6b 100644
--- a/_DOTween.Assembly/DOTween/Plugins/Core/PluginsManager.cs
+++ b/_DOTween.Assembly/DOTween/Plugins/Core/PluginsManager.cs
@@ -4,8 +4,28 @@
// License Copyright (c) Daniele Giardini.
// This work is subject to the terms at http://dotween.demigiant.com/license.php
-#if WP81
-using DG.Tweening.Core.Surrogates;
+#if COMPATIBLE
+using DOVector2 = DG.Tweening.Core.Surrogates.Vector2Wrapper;
+using DOVector3 = DG.Tweening.Core.Surrogates.Vector3Wrapper;
+using DOVector4 = DG.Tweening.Core.Surrogates.Vector4Wrapper;
+using DOQuaternion = DG.Tweening.Core.Surrogates.QuaternionWrapper;
+using DOColor = DG.Tweening.Core.Surrogates.ColorWrapper;
+using DOVector2Plugin = DG.Tweening.Plugins.Vector2WrapperPlugin;
+using DOVector3Plugin = DG.Tweening.Plugins.Vector3WrapperPlugin;
+using DOVector4Plugin = DG.Tweening.Plugins.Vector4WrapperPlugin;
+using DOQuaternionPlugin = DG.Tweening.Plugins.QuaternionWrapperPlugin;
+using DOColorPlugin = DG.Tweening.Plugins.ColorWrapperPlugin;
+#else
+using DOVector2 = UnityEngine.Vector2;
+using DOVector3 = UnityEngine.Vector3;
+using DOVector4 = UnityEngine.Vector4;
+using DOQuaternion = UnityEngine.Quaternion;
+using DOColor = UnityEngine.Color;
+using DOVector2Plugin = DG.Tweening.Plugins.Vector2Plugin;
+using DOVector3Plugin = DG.Tweening.Plugins.Vector3Plugin;
+using DOVector4Plugin = DG.Tweening.Plugins.Vector4Plugin;
+using DOQuaternionPlugin = DG.Tweening.Plugins.QuaternionPlugin;
+using DOColorPlugin = DG.Tweening.Plugins.ColorPlugin;
#endif
using System;
using System.Collections.Generic;
@@ -45,84 +65,34 @@ namespace DG.Tweening.Plugins.Core
Type t1 = typeof(T1);
Type t2 = typeof(T2);
ITweenPlugin plugin = null;
-#if WP81
- if (t1 == typeof(Vector3Surrogate) && t1 == t2) {
- if (_vector3Plugin == null) _vector3Plugin = new Vector3SurrogatePlugin();
+ if (t1 == typeof(DOVector3) && t1 == t2) {
+ if (_vector3Plugin == null) _vector3Plugin = new DOVector3Plugin();
plugin = _vector3Plugin;
} else if (t1 == typeof(Vector3) && t2 == typeof(Vector3[])) {
if (_vector3ArrayPlugin == null) _vector3ArrayPlugin = new Vector3ArrayPlugin();
plugin = _vector3ArrayPlugin;
- }
-#else
- if (t1 == typeof(Vector3)) {
- if (t1 == t2) {
- if (_vector3Plugin == null) _vector3Plugin = new Vector3Plugin();
- plugin = _vector3Plugin;
- } else if (t2 == typeof(Vector3[])) {
- if (_vector3ArrayPlugin == null) _vector3ArrayPlugin = new Vector3ArrayPlugin();
- plugin = _vector3ArrayPlugin;
- }
- }
-#endif
-#if WP81
- else if (t1 == typeof(QuaternionSurrogate)) {
+ } else if (t1 == typeof(DOQuaternion)) {
if (t2 == typeof(Quaternion)) Debugger.LogError("Quaternion tweens require a Vector3 endValue");
else {
- if (_quaternionPlugin == null) _quaternionPlugin = new QuaternionSurrogatePlugin();
+ if (_quaternionPlugin == null) _quaternionPlugin = new DOQuaternionPlugin();
plugin = _quaternionPlugin;
}
- }
-#else
- else if (t1 == typeof(Quaternion)) {
- if (t2 == typeof(Quaternion)) Debugger.LogError("Quaternion tweens require a Vector3 endValue");
- else {
- if (_quaternionPlugin == null) _quaternionPlugin = new QuaternionPlugin();
- plugin = _quaternionPlugin;
- }
- }
-#endif
-#if WP81
- else if (t1 == typeof(Vector2Surrogate)) {
- if (_vector2Plugin == null) _vector2Plugin = new Vector2SurrogatePlugin();
+ } else if (t1 == typeof(DOVector2)) {
+ if (_vector2Plugin == null) _vector2Plugin = new DOVector2Plugin();
plugin = _vector2Plugin;
- }
-#else
- else if (t1 == typeof(Vector2)) {
- if (_vector2Plugin == null) _vector2Plugin = new Vector2Plugin();
- plugin = _vector2Plugin;
- }
-#endif
- else if (t1 == typeof(float)) {
+ } else if (t1 == typeof(float)) {
if (_floatPlugin == null) _floatPlugin = new FloatPlugin();
plugin = _floatPlugin;
- }
-#if WP81
- else if (t1 == typeof(ColorSurrogate)) {
- if (_colorPlugin == null) _colorPlugin = new ColorSurrogatePlugin();
+ } else if (t1 == typeof(DOColor)) {
+ if (_colorPlugin == null) _colorPlugin = new DOColorPlugin();
plugin = _colorPlugin;
- }
-#else
- else if (t1 == typeof(Color)) {
- if (_colorPlugin == null) _colorPlugin = new ColorPlugin();
- plugin = _colorPlugin;
- }
-#endif
- else if (t1 == typeof(int)) {
+ } else if (t1 == typeof(int)) {
if (_intPlugin == null) _intPlugin = new IntPlugin();
plugin = _intPlugin;
- }
-#if WP81
- else if (t1 == typeof(Vector4Surrogate)) {
- if (_vector4Plugin == null) _vector4Plugin = new Vector4SurrogatePlugin();
+ } else if (t1 == typeof(DOVector4)) {
+ if (_vector4Plugin == null) _vector4Plugin = new DOVector4Plugin();
plugin = _vector4Plugin;
- }
-#else
- else if (t1 == typeof(Vector4)) {
- if (_vector4Plugin == null) _vector4Plugin = new Vector4Plugin();
- plugin = _vector4Plugin;
- }
-#endif
- else if (t1 == typeof(Rect)) {
+ } else if (t1 == typeof(Rect)) {
if (_rectPlugin == null) _rectPlugin = new RectPlugin();
plugin = _rectPlugin;
} else if (t1 == typeof(RectOffset)) {
@@ -145,67 +115,7 @@ namespace DG.Tweening.Plugins.Core
plugin = _ulongPlugin;
}
-#if !WP81
if (plugin != null) return plugin as ABSTweenPlugin;
-#else
- if (plugin != null) return plugin as ABSTweenPlugin;
- // WP8.1 fix tries
-// if (plugin != null) {
-// Debug.Log("PLUGIN FOUND, trying to assign it correctly...");
-// ABSTweenPlugin p;
-// ABSTweenPlugin pExplicit;
-// // Explicit casting to Vector3Plugin
-// try {
-// pExplicit = (ABSTweenPlugin)plugin;
-// if (pExplicit != null) Debug.Log("- EXPLICIT CAST SUCCESS X");
-// p = pExplicit as ABSTweenPlugin;
-// if (p != null) {
-// Debug.Log("- PLUGIN SUCCESS X");
-// return p;
-// }
-// } catch (Exception e) {
-// Debug.Log("- PLUGIN FAIL X > " + e.Message);
-// }
-// // More regular ways
-// try {
-// p = plugin as ABSTweenPlugin;
-// if (p != null) {
-// Debug.Log("- PLUGIN SUCCESS A");
-// return p;
-// }
-// } catch (Exception e) {
-// Debug.Log("- PLUGIN FAIL A > " + e.Message);
-// }
-// try {
-// System.Object obj = (object)plugin;
-// p = obj as ABSTweenPlugin;
-// if (p != null) {
-// Debug.Log("- PLUGIN SUCCESS A2");
-// return p;
-// }
-// } catch (Exception e) {
-// Debug.Log("- PLUGIN FAIL A2 > " + e.Message);
-// }
-// try {
-// p = (ABSTweenPlugin)plugin;
-// Debug.Log("- PLUGIN SUCCESS B");
-// return p;
-// } catch (Exception e) {
-// Debug.Log("- PLUGIN FAIL B > " + e.Message);
-// }
-// try {
-// System.Object obj = (object)plugin;
-// p = (ABSTweenPlugin)obj;
-// Debug.Log("- PLUGIN SUCCESS B2");
-// return p;
-// } catch (Exception e) {
-// Debug.Log("- PLUGIN FAIL B2 > " + e.Message);
-// }
-// return null;
-// }
-// Debug.Log("PLUGIN NOT FOUND");
- // WP8.1 fix tries END
-#endif
return null;
}
diff --git a/_DOTween.Assembly/DOTween/Plugins/Core/SpecialPluginsUtils.cs b/_DOTween.Assembly/DOTween/Plugins/Core/SpecialPluginsUtils.cs
index bca370e..a9de886 100644
--- a/_DOTween.Assembly/DOTween/Plugins/Core/SpecialPluginsUtils.cs
+++ b/_DOTween.Assembly/DOTween/Plugins/Core/SpecialPluginsUtils.cs
@@ -4,8 +4,12 @@
// License Copyright (c) Daniele Giardini.
// This work is subject to the terms at http://dotween.demigiant.com/license.php
-#if WP81
-using DG.Tweening.Core.Surrogates;
+#if COMPATIBLE
+using DOVector3 = DG.Tweening.Core.Surrogates.Vector3Wrapper;
+using DOQuaternion = DG.Tweening.Core.Surrogates.QuaternionWrapper;
+#else
+using DOVector3 = UnityEngine.Vector3;
+using DOQuaternion = UnityEngine.Quaternion;
#endif
using DG.Tweening.Core;
using DG.Tweening.Plugins.Options;
@@ -17,11 +21,7 @@ namespace DG.Tweening.Plugins.Core
internal static class SpecialPluginsUtils
{
// Returns TRUE if it's successful, FALSE otherwise
-#if WP81
- internal static bool SetLookAt(TweenerCore t)
-#else
- internal static bool SetLookAt(TweenerCore t)
-#endif
+ internal static bool SetLookAt(TweenerCore t)
{
Transform trans = t.target as Transform;
Vector3 towards = t.endValue;
diff --git a/_DOTween.Assembly/DOTween/Plugins/QuaternionPlugin.cs b/_DOTween.Assembly/DOTween/Plugins/QuaternionPlugin.cs
index 2dec0a2..e4d3dc6 100644
--- a/_DOTween.Assembly/DOTween/Plugins/QuaternionPlugin.cs
+++ b/_DOTween.Assembly/DOTween/Plugins/QuaternionPlugin.cs
@@ -1,4 +1,4 @@
-#if !WP81
+#if !COMPATIBLE
// Author: Daniele Giardini - http://www.demigiant.com
// Created: 2014/07/07 20:02
//
diff --git a/_DOTween.Assembly/DOTween/Plugins/QuaternionSurrogatePlugin.cs b/_DOTween.Assembly/DOTween/Plugins/QuaternionSurrogatePlugin.cs
deleted file mode 100644
index 63c4ee6..0000000
--- a/_DOTween.Assembly/DOTween/Plugins/QuaternionSurrogatePlugin.cs
+++ /dev/null
@@ -1,111 +0,0 @@
-#if WP81
-// Author: Daniele Giardini - http://www.demigiant.com
-// Created: 2015/04/15 12:32
-
-using DG.Tweening.Core;
-using DG.Tweening.Core.Easing;
-using DG.Tweening.Core.Surrogates;
-using DG.Tweening.Plugins.Core;
-using DG.Tweening.Plugins.Options;
-using UnityEngine;
-
-#pragma warning disable 1591
-namespace DG.Tweening.Plugins
-{
- public class QuaternionSurrogatePlugin : ABSTweenPlugin
- {
- public override void Reset(TweenerCore t) { }
-
- public override void SetFrom(TweenerCore t, bool isRelative)
- {
- Vector3Surrogate prevEndVal = t.endValue;
- t.endValue = ((Quaternion)t.getter()).eulerAngles;
- if (t.plugOptions.rotateMode == RotateMode.Fast && !t.isRelative) {
- t.startValue = prevEndVal;
- } else if (t.plugOptions.rotateMode == RotateMode.FastBeyond360) {
- t.startValue = t.endValue + prevEndVal;
- } else {
- QuaternionSurrogate rot = t.getter();
- if (t.plugOptions.rotateMode == RotateMode.WorldAxisAdd) {
- t.startValue = ((Quaternion)rot * Quaternion.Inverse(rot) * Quaternion.Euler(prevEndVal) * (Quaternion)rot).eulerAngles;
- } else {
- t.startValue = ((Quaternion)rot * Quaternion.Euler(prevEndVal)).eulerAngles;
- }
- t.endValue = -prevEndVal;
- }
- t.setter(Quaternion.Euler(t.startValue));
- }
-
- public override Vector3Surrogate ConvertToStartValue(TweenerCore t, QuaternionSurrogate value)
- {
- return ((Quaternion)value).eulerAngles;
- }
-
- public override void SetRelativeEndValue(TweenerCore t)
- {
- t.endValue += t.startValue;
- }
-
- public override void SetChangeValue(TweenerCore t)
- {
- if (t.plugOptions.rotateMode == RotateMode.Fast && !t.isRelative) {
- // Rotation will be adapted to 360° and will take the shortest route
- // - Adapt to 360°
- Vector3Surrogate ev = t.endValue;
- if (ev.x > 360) ev.x = ev.x % 360;
- if (ev.y > 360) ev.y = ev.y % 360;
- if (ev.z > 360) ev.z = ev.z % 360;
- Vector3Surrogate changeVal = ev - t.startValue;
- // - Find shortest rotation
- float abs = (changeVal.x > 0 ? changeVal.x : -changeVal.x);
- if (abs > 180) changeVal.x = changeVal.x > 0 ? -(360 - abs) : 360 - abs;
- abs = (changeVal.y > 0 ? changeVal.y : -changeVal.y);
- if (abs > 180) changeVal.y = changeVal.y > 0 ? -(360 - abs) : 360 - abs;
- abs = (changeVal.z > 0 ? changeVal.z : -changeVal.z);
- if (abs > 180) changeVal.z = changeVal.z > 0 ? -(360 - abs) : 360 - abs;
- // - Assign
- t.changeValue = changeVal;
- } else if (t.plugOptions.rotateMode == RotateMode.FastBeyond360 || t.isRelative) {
- t.changeValue = t.endValue - t.startValue;
- } else {
- t.changeValue = t.endValue;
- }
- }
-
- public override float GetSpeedBasedDuration(QuaternionOptions options, float unitsXSecond, Vector3Surrogate changeValue)
- {
- return changeValue.magnitude / unitsXSecond;
- }
-
- public override void EvaluateAndApply(QuaternionOptions options, Tween t, bool isRelative, DOGetter getter, DOSetter setter, float elapsed, Vector3Surrogate startValue, Vector3Surrogate changeValue, float duration, bool usingInversePosition)
- {
- Vector3Surrogate endValue = startValue;
-
- if (t.loopType == LoopType.Incremental) endValue += changeValue * (t.isComplete ? t.completedLoops - 1 : t.completedLoops);
- if (t.isSequenced && t.sequenceParent.loopType == LoopType.Incremental) {
- endValue += changeValue * (t.loopType == LoopType.Incremental ? t.loops : 1)
- * (t.sequenceParent.isComplete ? t.sequenceParent.completedLoops - 1 : t.sequenceParent.completedLoops);
- }
-
- float easeVal = EaseManager.Evaluate(t.easeType, t.customEase, elapsed, duration, t.easeOvershootOrAmplitude, t.easePeriod);
- switch (options.rotateMode) {
- case RotateMode.WorldAxisAdd:
- case RotateMode.LocalAxisAdd:
- QuaternionSurrogate startRot = Quaternion.Euler(startValue); // Reset rotation
- endValue.x = changeValue.x * easeVal;
- endValue.y = changeValue.y * easeVal;
- endValue.z = changeValue.z * easeVal;
- if (options.rotateMode == RotateMode.WorldAxisAdd) setter((Quaternion)startRot * Quaternion.Inverse(startRot) * Quaternion.Euler(endValue) * (Quaternion)startRot);
- else setter((Quaternion)startRot * Quaternion.Euler(endValue));
- break;
- default:
- endValue.x += changeValue.x * easeVal;
- endValue.y += changeValue.y * easeVal;
- endValue.z += changeValue.z * easeVal;
- setter(Quaternion.Euler(endValue));
- break;
- }
- }
- }
-}
-#endif
\ No newline at end of file
diff --git a/_DOTween.Assembly/DOTween/Plugins/QuaternionWrapperPlugin.cs b/_DOTween.Assembly/DOTween/Plugins/QuaternionWrapperPlugin.cs
new file mode 100644
index 0000000..4999d26
--- /dev/null
+++ b/_DOTween.Assembly/DOTween/Plugins/QuaternionWrapperPlugin.cs
@@ -0,0 +1,111 @@
+#if COMPATIBLE
+// Author: Daniele Giardini - http://www.demigiant.com
+// Created: 2015/04/20 18:21
+
+using DG.Tweening.Core;
+using DG.Tweening.Core.Easing;
+using DG.Tweening.Core.Surrogates;
+using DG.Tweening.Plugins.Core;
+using DG.Tweening.Plugins.Options;
+using UnityEngine;
+
+#pragma warning disable 1591
+namespace DG.Tweening.Plugins
+{
+ public class QuaternionWrapperPlugin : ABSTweenPlugin
+ {
+ public override void Reset(TweenerCore t) { }
+
+ public override void SetFrom(TweenerCore t, bool isRelative)
+ {
+ Vector3 prevEndVal = t.endValue.value;
+ t.endValue.value = t.getter().value.eulerAngles;
+ if (t.plugOptions.rotateMode == RotateMode.Fast && !t.isRelative) {
+ t.startValue.value = prevEndVal;
+ } else if (t.plugOptions.rotateMode == RotateMode.FastBeyond360) {
+ t.startValue.value = t.endValue.value + prevEndVal;
+ } else {
+ Quaternion rot = t.getter().value;
+ if (t.plugOptions.rotateMode == RotateMode.WorldAxisAdd) {
+ t.startValue.value = (rot * Quaternion.Inverse(rot) * Quaternion.Euler(prevEndVal) * rot).eulerAngles;
+ } else {
+ t.startValue.value = (rot * Quaternion.Euler(prevEndVal)).eulerAngles;
+ }
+ t.endValue.value = -prevEndVal;
+ }
+ t.setter(Quaternion.Euler(t.startValue.value));
+ }
+
+ public override Vector3Wrapper ConvertToStartValue(TweenerCore t, QuaternionWrapper value)
+ {
+ return value.value.eulerAngles;
+ }
+
+ public override void SetRelativeEndValue(TweenerCore t)
+ {
+ t.endValue.value += t.startValue.value;
+ }
+
+ public override void SetChangeValue(TweenerCore t)
+ {
+ if (t.plugOptions.rotateMode == RotateMode.Fast && !t.isRelative) {
+ // Rotation will be adapted to 360° and will take the shortest route
+ // - Adapt to 360°
+ Vector3 ev = t.endValue.value;
+ if (ev.x > 360) ev.x = ev.x % 360;
+ if (ev.y > 360) ev.y = ev.y % 360;
+ if (ev.z > 360) ev.z = ev.z % 360;
+ Vector3 changeVal = ev - t.startValue.value;
+ // - Find shortest rotation
+ float abs = (changeVal.x > 0 ? changeVal.x : -changeVal.x);
+ if (abs > 180) changeVal.x = changeVal.x > 0 ? -(360 - abs) : 360 - abs;
+ abs = (changeVal.y > 0 ? changeVal.y : -changeVal.y);
+ if (abs > 180) changeVal.y = changeVal.y > 0 ? -(360 - abs) : 360 - abs;
+ abs = (changeVal.z > 0 ? changeVal.z : -changeVal.z);
+ if (abs > 180) changeVal.z = changeVal.z > 0 ? -(360 - abs) : 360 - abs;
+ // - Assign
+ t.changeValue.value = changeVal;
+ } else if (t.plugOptions.rotateMode == RotateMode.FastBeyond360 || t.isRelative) {
+ t.changeValue.value = t.endValue.value - t.startValue.value;
+ } else {
+ t.changeValue.value = t.endValue.value;
+ }
+ }
+
+ public override float GetSpeedBasedDuration(QuaternionOptions options, float unitsXSecond, Vector3Wrapper changeValue)
+ {
+ return changeValue.value.magnitude / unitsXSecond;
+ }
+
+ public override void EvaluateAndApply(QuaternionOptions options, Tween t, bool isRelative, DOGetter getter, DOSetter setter, float elapsed, Vector3Wrapper startValue, Vector3Wrapper changeValue, float duration, bool usingInversePosition)
+ {
+ Vector3 endValue = startValue.value;
+
+ if (t.loopType == LoopType.Incremental) endValue += changeValue.value * (t.isComplete ? t.completedLoops - 1 : t.completedLoops);
+ if (t.isSequenced && t.sequenceParent.loopType == LoopType.Incremental) {
+ endValue += changeValue.value * (t.loopType == LoopType.Incremental ? t.loops : 1)
+ * (t.sequenceParent.isComplete ? t.sequenceParent.completedLoops - 1 : t.sequenceParent.completedLoops);
+ }
+
+ float easeVal = EaseManager.Evaluate(t.easeType, t.customEase, elapsed, duration, t.easeOvershootOrAmplitude, t.easePeriod);
+ switch (options.rotateMode) {
+ case RotateMode.WorldAxisAdd:
+ case RotateMode.LocalAxisAdd:
+ Quaternion startRot = Quaternion.Euler(startValue.value); // Reset rotation
+ endValue.x = changeValue.value.x * easeVal;
+ endValue.y = changeValue.value.y * easeVal;
+ endValue.z = changeValue.value.z * easeVal;
+ if (options.rotateMode == RotateMode.WorldAxisAdd) setter(startRot * Quaternion.Inverse(startRot) * Quaternion.Euler(endValue) * startRot);
+ else setter(startRot * Quaternion.Euler(endValue));
+ break;
+ default:
+ endValue.x += changeValue.value.x * easeVal;
+ endValue.y += changeValue.value.y * easeVal;
+ endValue.z += changeValue.value.z * easeVal;
+ setter(Quaternion.Euler(endValue));
+ break;
+ }
+ }
+ }
+}
+#endif
\ No newline at end of file
diff --git a/_DOTween.Assembly/DOTween/Plugins/Vector2Plugin.cs b/_DOTween.Assembly/DOTween/Plugins/Vector2Plugin.cs
index b3c664d..4996e53 100644
--- a/_DOTween.Assembly/DOTween/Plugins/Vector2Plugin.cs
+++ b/_DOTween.Assembly/DOTween/Plugins/Vector2Plugin.cs
@@ -1,4 +1,4 @@
-#if !WP81
+#if !COMPATIBLE
// Author: Daniele Giardini - http://www.demigiant.com
// Created: 2014/07/10 16:51
//
diff --git a/_DOTween.Assembly/DOTween/Plugins/Vector2SurrogatePlugin.cs b/_DOTween.Assembly/DOTween/Plugins/Vector2SurrogatePlugin.cs
deleted file mode 100644
index 7201161..0000000
--- a/_DOTween.Assembly/DOTween/Plugins/Vector2SurrogatePlugin.cs
+++ /dev/null
@@ -1,109 +0,0 @@
-#if WP81
-// Author: Daniele Giardini - http://www.demigiant.com
-// Created: 2015/04/14 12:46
-
-using System;
-using DG.Tweening.Core;
-using DG.Tweening.Core.Easing;
-using DG.Tweening.Core.Surrogates;
-using DG.Tweening.Plugins.Core;
-using DG.Tweening.Plugins.Options;
-using UnityEngine;
-
-#pragma warning disable 1591
-namespace DG.Tweening.Plugins
-{
- public class Vector2SurrogatePlugin : ABSTweenPlugin
- {
- public override void Reset(TweenerCore t) { }
-
- public override void SetFrom(TweenerCore t, bool isRelative)
- {
- Vector2Surrogate prevEndVal = t.endValue;
- t.endValue = t.getter();
- t.startValue = isRelative ? t.endValue + prevEndVal : prevEndVal;
- Vector2Surrogate to = t.endValue;
- switch (t.plugOptions.axisConstraint) {
- case AxisConstraint.X:
- to.x = t.startValue.x;
- break;
- case AxisConstraint.Y:
- to.y = t.startValue.y;
- break;
- default:
- to = t.startValue;
- break;
- }
- if (t.plugOptions.snapping) {
- to.x = (float)Math.Round(to.x);
- to.y = (float)Math.Round(to.y);
- }
- t.setter(to);
- }
-
- public override Vector2Surrogate ConvertToStartValue(TweenerCore t, Vector2Surrogate value)
- {
- return value;
- }
-
- public override void SetRelativeEndValue(TweenerCore t)
- {
- t.endValue += t.startValue;
- }
-
- public override void SetChangeValue(TweenerCore t)
- {
- switch (t.plugOptions.axisConstraint) {
- case AxisConstraint.X:
- t.changeValue = new Vector2Surrogate(t.endValue.x - t.startValue.x, 0);
- break;
- case AxisConstraint.Y:
- t.changeValue = new Vector2Surrogate(0, t.endValue.y - t.startValue.y);
- break;
- default:
- t.changeValue = t.endValue - t.startValue;
- break;
- }
- }
-
- public override float GetSpeedBasedDuration(VectorOptions options, float unitsXSecond, Vector2Surrogate changeValue)
- {
- return changeValue.magnitude / unitsXSecond;
- }
-
- public override void EvaluateAndApply(VectorOptions options, Tween t, bool isRelative, DOGetter getter, DOSetter setter, float elapsed, Vector2Surrogate startValue, Vector2Surrogate changeValue, float duration, bool usingInversePosition)
- {
- if (t.loopType == LoopType.Incremental) startValue += changeValue * (t.isComplete ? t.completedLoops - 1 : t.completedLoops);
- if (t.isSequenced && t.sequenceParent.loopType == LoopType.Incremental) {
- startValue += changeValue * (t.loopType == LoopType.Incremental ? t.loops : 1)
- * (t.sequenceParent.isComplete ? t.sequenceParent.completedLoops - 1 : t.sequenceParent.completedLoops);
- }
-
- float easeVal = EaseManager.Evaluate(t.easeType, t.customEase, elapsed, duration, t.easeOvershootOrAmplitude, t.easePeriod);
- switch (options.axisConstraint) {
- case AxisConstraint.X:
- Vector2Surrogate resX = getter();
- resX.x = startValue.x + changeValue.x * easeVal;
- if (options.snapping) resX.x = (float)Math.Round(resX.x);
- setter(resX);
- break;
- case AxisConstraint.Y:
- Vector2Surrogate resY = getter();
- resY.y = startValue.y + changeValue.y * easeVal;
- if (options.snapping) resY.y = (float)Math.Round(resY.y);
- setter(resY);
- break;
- default:
- startValue.x += changeValue.x * easeVal;
- startValue.y += changeValue.y * easeVal;
- if (options.snapping) {
- startValue.x = (float)Math.Round(startValue.x);
- startValue.y = (float)Math.Round(startValue.y);
- }
- setter(startValue);
- break;
- }
- }
- }
-}
-#endif
\ No newline at end of file
diff --git a/_DOTween.Assembly/DOTween/Plugins/Vector2WrapperPlugin.cs b/_DOTween.Assembly/DOTween/Plugins/Vector2WrapperPlugin.cs
new file mode 100644
index 0000000..0f605b8
--- /dev/null
+++ b/_DOTween.Assembly/DOTween/Plugins/Vector2WrapperPlugin.cs
@@ -0,0 +1,109 @@
+#if COMPATIBLE
+// Author: Daniele Giardini - http://www.demigiant.com
+// Created: 2015/04/20 18:06
+
+using System;
+using DG.Tweening.Core;
+using DG.Tweening.Core.Easing;
+using DG.Tweening.Core.Surrogates;
+using DG.Tweening.Plugins.Core;
+using DG.Tweening.Plugins.Options;
+using UnityEngine;
+
+#pragma warning disable 1591
+namespace DG.Tweening.Plugins
+{
+ public class Vector2WrapperPlugin : ABSTweenPlugin
+ {
+ public override void Reset(TweenerCore t) { }
+
+ public override void SetFrom(TweenerCore t, bool isRelative)
+ {
+ Vector2 prevEndVal = t.endValue;
+ t.endValue = t.getter().value;
+ t.startValue.value = isRelative ? t.endValue.value + prevEndVal : prevEndVal;
+ Vector2 to = t.endValue;
+ switch (t.plugOptions.axisConstraint) {
+ case AxisConstraint.X:
+ to.x = t.startValue.value.x;
+ break;
+ case AxisConstraint.Y:
+ to.y = t.startValue.value.y;
+ break;
+ default:
+ to = t.startValue;
+ break;
+ }
+ if (t.plugOptions.snapping) {
+ to.x = (float)Math.Round(to.x);
+ to.y = (float)Math.Round(to.y);
+ }
+ t.setter(to);
+ }
+
+ public override Vector2Wrapper ConvertToStartValue(TweenerCore t, Vector2Wrapper value)
+ {
+ return value.value;
+ }
+
+ public override void SetRelativeEndValue(TweenerCore t)
+ {
+ t.endValue.value += t.startValue.value;
+ }
+
+ public override void SetChangeValue(TweenerCore t)
+ {
+ switch (t.plugOptions.axisConstraint) {
+ case AxisConstraint.X:
+ t.changeValue.value = new Vector2(t.endValue.value.x - t.startValue.value.x, 0);
+ break;
+ case AxisConstraint.Y:
+ t.changeValue.value = new Vector2(0, t.endValue.value.y - t.startValue.value.y);
+ break;
+ default:
+ t.changeValue.value = t.endValue.value - t.startValue.value;
+ break;
+ }
+ }
+
+ public override float GetSpeedBasedDuration(VectorOptions options, float unitsXSecond, Vector2Wrapper changeValue)
+ {
+ return changeValue.value.magnitude / unitsXSecond;
+ }
+
+ public override void EvaluateAndApply(VectorOptions options, Tween t, bool isRelative, DOGetter getter, DOSetter setter, float elapsed, Vector2Wrapper startValue, Vector2Wrapper changeValue, float duration, bool usingInversePosition)
+ {
+ if (t.loopType == LoopType.Incremental) startValue.value += changeValue.value * (t.isComplete ? t.completedLoops - 1 : t.completedLoops);
+ if (t.isSequenced && t.sequenceParent.loopType == LoopType.Incremental) {
+ startValue.value += changeValue.value * (t.loopType == LoopType.Incremental ? t.loops : 1)
+ * (t.sequenceParent.isComplete ? t.sequenceParent.completedLoops - 1 : t.sequenceParent.completedLoops);
+ }
+
+ float easeVal = EaseManager.Evaluate(t.easeType, t.customEase, elapsed, duration, t.easeOvershootOrAmplitude, t.easePeriod);
+ switch (options.axisConstraint) {
+ case AxisConstraint.X:
+ Vector2 resX = getter().value;
+ resX.x = startValue.value.x + changeValue.value.x * easeVal;
+ if (options.snapping) resX.x = (float)Math.Round(resX.x);
+ setter(resX);
+ break;
+ case AxisConstraint.Y:
+ Vector2 resY = getter().value;
+ resY.y = startValue.value.y + changeValue.value.y * easeVal;
+ if (options.snapping) resY.y = (float)Math.Round(resY.y);
+ setter(resY);
+ break;
+ default:
+ startValue.value.x += changeValue.value.x * easeVal;
+ startValue.value.y += changeValue.value.y * easeVal;
+ if (options.snapping) {
+ startValue.value.x = (float)Math.Round(startValue.value.x);
+ startValue.value.y = (float)Math.Round(startValue.value.y);
+ }
+ setter(startValue);
+ break;
+ }
+ }
+ }
+}
+#endif
\ No newline at end of file
diff --git a/_DOTween.Assembly/DOTween/Plugins/Vector3Plugin.cs b/_DOTween.Assembly/DOTween/Plugins/Vector3Plugin.cs
index df65b2f..bb906b4 100644
--- a/_DOTween.Assembly/DOTween/Plugins/Vector3Plugin.cs
+++ b/_DOTween.Assembly/DOTween/Plugins/Vector3Plugin.cs
@@ -1,4 +1,4 @@
-#if !WP81
+#if !COMPATIBLE
// Author: Daniele Giardini - http://www.demigiant.com
// Created: 2014/05/06 19:35
//
diff --git a/_DOTween.Assembly/DOTween/Plugins/Vector3SurrogatePlugin.cs b/_DOTween.Assembly/DOTween/Plugins/Vector3SurrogatePlugin.cs
deleted file mode 100644
index af29d5f..0000000
--- a/_DOTween.Assembly/DOTween/Plugins/Vector3SurrogatePlugin.cs
+++ /dev/null
@@ -1,123 +0,0 @@
-#if WP81
-// Author: Daniele Giardini - http://www.demigiant.com
-// Created: 2015/04/14 12:44
-
-using System;
-using DG.Tweening.Core;
-using DG.Tweening.Core.Easing;
-using DG.Tweening.Core.Surrogates;
-using DG.Tweening.Plugins.Core;
-using DG.Tweening.Plugins.Options;
-
-#pragma warning disable 1591
-namespace DG.Tweening.Plugins
-{
- public class Vector3SurrogatePlugin : ABSTweenPlugin
- {
- public override void Reset(TweenerCore t) { }
-
- public override void SetFrom(TweenerCore t, bool isRelative)
- {
- Vector3Surrogate prevEndVal = t.endValue;
- t.endValue = t.getter();
- t.startValue = isRelative ? t.endValue + prevEndVal : prevEndVal;
- Vector3Surrogate to = t.endValue;
- switch (t.plugOptions.axisConstraint) {
- case AxisConstraint.X:
- to.x = t.startValue.x;
- break;
- case AxisConstraint.Y:
- to.y = t.startValue.y;
- break;
- case AxisConstraint.Z:
- to.z = t.startValue.z;
- break;
- default:
- to = t.startValue;
- break;
- }
- if (t.plugOptions.snapping) {
- to.x = (float)Math.Round(to.x);
- to.y = (float)Math.Round(to.y);
- to.z = (float)Math.Round(to.z);
- }
- t.setter(to);
- }
-
- public override Vector3Surrogate ConvertToStartValue(TweenerCore t, Vector3Surrogate value)
- {
- return value;
- }
-
- public override void SetRelativeEndValue(TweenerCore t)
- {
- t.endValue += t.startValue;
- }
-
- public override void SetChangeValue(TweenerCore t)
- {
- switch (t.plugOptions.axisConstraint) {
- case AxisConstraint.X:
- t.changeValue = new Vector3Surrogate(t.endValue.x - t.startValue.x, 0, 0);
- break;
- case AxisConstraint.Y:
- t.changeValue = new Vector3Surrogate(0, t.endValue.y - t.startValue.y, 0);
- break;
- case AxisConstraint.Z:
- t.changeValue = new Vector3Surrogate(0, 0, t.endValue.z - t.startValue.z);
- break;
- default:
- t.changeValue = t.endValue - t.startValue;
- break;
- }
- }
-
- public override float GetSpeedBasedDuration(VectorOptions options, float unitsXSecond, Vector3Surrogate changeValue)
- {
- return changeValue.magnitude / unitsXSecond;
- }
-
- public override void EvaluateAndApply(VectorOptions options, Tween t, bool isRelative, DOGetter getter, DOSetter setter, float elapsed, Vector3Surrogate startValue, Vector3Surrogate changeValue, float duration, bool usingInversePosition)
- {
- if (t.loopType == LoopType.Incremental) startValue += changeValue * (t.isComplete ? t.completedLoops - 1 : t.completedLoops);
- if (t.isSequenced && t.sequenceParent.loopType == LoopType.Incremental) {
- startValue += changeValue * (t.loopType == LoopType.Incremental ? t.loops : 1)
- * (t.sequenceParent.isComplete ? t.sequenceParent.completedLoops - 1 : t.sequenceParent.completedLoops);
- }
-
- float easeVal = EaseManager.Evaluate(t.easeType, t.customEase, elapsed, duration, t.easeOvershootOrAmplitude, t.easePeriod);
- switch (options.axisConstraint) {
- case AxisConstraint.X:
- Vector3Surrogate resX = getter();
- resX.x = startValue.x + changeValue.x * easeVal;
- if (options.snapping) resX.x = (float)Math.Round(resX.x);
- setter(resX);
- break;
- case AxisConstraint.Y:
- Vector3Surrogate resY = getter();
- resY.y = startValue.y + changeValue.y * easeVal;
- if (options.snapping) resY.y = (float)Math.Round(resY.y);
- setter(resY);
- break;
- case AxisConstraint.Z:
- Vector3Surrogate resZ = getter();
- resZ.z = startValue.z + changeValue.z * easeVal;
- if (options.snapping) resZ.z = (float)Math.Round(resZ.z);
- setter(resZ);
- break;
- default:
- startValue.x += changeValue.x * easeVal;
- startValue.y += changeValue.y * easeVal;
- startValue.z += changeValue.z * easeVal;
- if (options.snapping) {
- startValue.x = (float)Math.Round(startValue.x);
- startValue.y = (float)Math.Round(startValue.y);
- startValue.z = (float)Math.Round(startValue.z);
- }
- setter(startValue);
- break;
- }
- }
- }
-}
-#endif
\ No newline at end of file
diff --git a/_DOTween.Assembly/DOTween/Plugins/Vector3WrapperPlugin.cs b/_DOTween.Assembly/DOTween/Plugins/Vector3WrapperPlugin.cs
new file mode 100644
index 0000000..1f552f9
--- /dev/null
+++ b/_DOTween.Assembly/DOTween/Plugins/Vector3WrapperPlugin.cs
@@ -0,0 +1,124 @@
+#if COMPATIBLE
+// Author: Daniele Giardini - http://www.demigiant.com
+// Created: 2015/04/20 16:59
+
+using System;
+using DG.Tweening.Core;
+using DG.Tweening.Core.Easing;
+using DG.Tweening.Core.Surrogates;
+using DG.Tweening.Plugins.Core;
+using DG.Tweening.Plugins.Options;
+using UnityEngine;
+
+#pragma warning disable 1591
+namespace DG.Tweening.Plugins
+{
+ public class Vector3WrapperPlugin : ABSTweenPlugin
+ {
+ public override void Reset(TweenerCore t) { }
+
+ public override void SetFrom(TweenerCore t, bool isRelative)
+ {
+ Vector3 prevEndVal = t.endValue;
+ t.endValue = t.getter().value;
+ t.startValue.value = isRelative ? t.endValue.value + prevEndVal : prevEndVal;
+ Vector3 to = t.endValue;
+ switch (t.plugOptions.axisConstraint) {
+ case AxisConstraint.X:
+ to.x = t.startValue.value.x;
+ break;
+ case AxisConstraint.Y:
+ to.y = t.startValue.value.y;
+ break;
+ case AxisConstraint.Z:
+ to.z = t.startValue.value.z;
+ break;
+ default:
+ to = t.startValue;
+ break;
+ }
+ if (t.plugOptions.snapping) {
+ to.x = (float)Math.Round(to.x);
+ to.y = (float)Math.Round(to.y);
+ to.z = (float)Math.Round(to.z);
+ }
+ t.setter(to);
+ }
+
+ public override Vector3Wrapper ConvertToStartValue(TweenerCore t, Vector3Wrapper value)
+ {
+ return value.value;
+ }
+
+ public override void SetRelativeEndValue(TweenerCore t)
+ {
+ t.endValue.value += t.startValue.value;
+ }
+
+ public override void SetChangeValue(TweenerCore t)
+ {
+ switch (t.plugOptions.axisConstraint) {
+ case AxisConstraint.X:
+ t.changeValue.value = new Vector3(t.endValue.value.x - t.startValue.value.x, 0, 0);
+ break;
+ case AxisConstraint.Y:
+ t.changeValue.value = new Vector3(0, t.endValue.value.y - t.startValue.value.y, 0);
+ break;
+ case AxisConstraint.Z:
+ t.changeValue.value = new Vector3(0, 0, t.endValue.value.z - t.startValue.value.z);
+ break;
+ default:
+ t.changeValue.value = t.endValue.value - t.startValue.value;
+ break;
+ }
+ }
+
+ public override float GetSpeedBasedDuration(VectorOptions options, float unitsXSecond, Vector3Wrapper changeValue)
+ {
+ return changeValue.value.magnitude / unitsXSecond;
+ }
+
+ public override void EvaluateAndApply(VectorOptions options, Tween t, bool isRelative, DOGetter getter, DOSetter setter, float elapsed, Vector3Wrapper startValue, Vector3Wrapper changeValue, float duration, bool usingInversePosition)
+ {
+ if (t.loopType == LoopType.Incremental) startValue.value += changeValue.value * (t.isComplete ? t.completedLoops - 1 : t.completedLoops);
+ if (t.isSequenced && t.sequenceParent.loopType == LoopType.Incremental) {
+ startValue.value += changeValue.value * (t.loopType == LoopType.Incremental ? t.loops : 1)
+ * (t.sequenceParent.isComplete ? t.sequenceParent.completedLoops - 1 : t.sequenceParent.completedLoops);
+ }
+
+ float easeVal = EaseManager.Evaluate(t.easeType, t.customEase, elapsed, duration, t.easeOvershootOrAmplitude, t.easePeriod);
+ switch (options.axisConstraint) {
+ case AxisConstraint.X:
+ Vector3 resX = getter().value;
+ resX.x = startValue.value.x + changeValue.value.x * easeVal;
+ if (options.snapping) resX.x = (float)Math.Round(resX.x);
+ setter(resX);
+ break;
+ case AxisConstraint.Y:
+ Vector3 resY = getter().value;
+ resY.y = startValue.value.y + changeValue.value.y * easeVal;
+ if (options.snapping) resY.y = (float)Math.Round(resY.y);
+ setter(resY);
+ break;
+ case AxisConstraint.Z:
+ Vector3 resZ = getter().value;
+ resZ.z = startValue.value.z + changeValue.value.z * easeVal;
+ if (options.snapping) resZ.z = (float)Math.Round(resZ.z);
+ setter(resZ);
+ break;
+ default:
+ startValue.value.x += changeValue.value.x * easeVal;
+ startValue.value.y += changeValue.value.y * easeVal;
+ startValue.value.z += changeValue.value.z * easeVal;
+ if (options.snapping) {
+ startValue.value.x = (float)Math.Round(startValue.value.x);
+ startValue.value.y = (float)Math.Round(startValue.value.y);
+ startValue.value.z = (float)Math.Round(startValue.value.z);
+ }
+ setter(startValue);
+ break;
+ }
+ }
+ }
+}
+#endif
\ No newline at end of file
diff --git a/_DOTween.Assembly/DOTween/Plugins/Vector4Plugin.cs b/_DOTween.Assembly/DOTween/Plugins/Vector4Plugin.cs
index 2b73206..2d7eb14 100644
--- a/_DOTween.Assembly/DOTween/Plugins/Vector4Plugin.cs
+++ b/_DOTween.Assembly/DOTween/Plugins/Vector4Plugin.cs
@@ -1,4 +1,4 @@
-#if !WP81
+#if !COMPATIBLE
// Author: Daniele Giardini - http://www.demigiant.com
// Created: 2014/07/10 16:53
//
diff --git a/_DOTween.Assembly/DOTween/Plugins/Vector4SurrogatePlugin.cs b/_DOTween.Assembly/DOTween/Plugins/Vector4SurrogatePlugin.cs
deleted file mode 100644
index 17c0df0..0000000
--- a/_DOTween.Assembly/DOTween/Plugins/Vector4SurrogatePlugin.cs
+++ /dev/null
@@ -1,139 +0,0 @@
-#if WP81
-// Author: Daniele Giardini - http://www.demigiant.com
-// Created: 2015/04/14 12:19
-
-using System;
-using DG.Tweening.Core;
-using DG.Tweening.Core.Easing;
-using DG.Tweening.Core.Surrogates;
-using DG.Tweening.Plugins.Core;
-using DG.Tweening.Plugins.Options;
-using UnityEngine;
-
-#pragma warning disable 1591
-namespace DG.Tweening.Plugins
-{
- public class Vector4SurrogatePlugin : ABSTweenPlugin
- {
- public override void Reset(TweenerCore t) { }
-
- public override void SetFrom(TweenerCore t, bool isRelative)
- {
- Vector4Surrogate prevEndVal = t.endValue;
- t.endValue = t.getter();
- t.startValue = isRelative ? t.endValue + prevEndVal : prevEndVal;
- Vector4Surrogate to = t.endValue;
- switch (t.plugOptions.axisConstraint) {
- case AxisConstraint.X:
- to.x = t.startValue.x;
- break;
- case AxisConstraint.Y:
- to.y = t.startValue.y;
- break;
- case AxisConstraint.Z:
- to.z = t.startValue.z;
- break;
- case AxisConstraint.W:
- to.w = t.startValue.w;
- break;
- default:
- to = t.startValue;
- break;
- }
- if (t.plugOptions.snapping) {
- to.x = (float)Math.Round(to.x);
- to.y = (float)Math.Round(to.y);
- to.z = (float)Math.Round(to.z);
- to.w = (float)Math.Round(to.w);
- }
- t.setter(to);
- }
-
- public override Vector4Surrogate ConvertToStartValue(TweenerCore t, Vector4Surrogate value)
- {
- return value;
- }
-
- public override void SetRelativeEndValue(TweenerCore t)
- {
- t.endValue += t.startValue;
- }
-
- public override void SetChangeValue(TweenerCore t)
- {
- switch (t.plugOptions.axisConstraint) {
- case AxisConstraint.X:
- t.changeValue = new Vector4Surrogate(t.endValue.x - t.startValue.x, 0, 0, 0);
- break;
- case AxisConstraint.Y:
- t.changeValue = new Vector4Surrogate(0, t.endValue.y - t.startValue.y, 0, 0);
- break;
- case AxisConstraint.Z:
- t.changeValue = new Vector4Surrogate(0, 0, t.endValue.z - t.startValue.z, 0);
- break;
- case AxisConstraint.W:
- t.changeValue = new Vector4Surrogate(0, 0, 0, t.endValue.w - t.startValue.w);
- break;
- default:
- t.changeValue = t.endValue - t.startValue;
- break;
- }
- }
-
- public override float GetSpeedBasedDuration(VectorOptions options, float unitsXSecond, Vector4Surrogate changeValue)
- {
- return changeValue.magnitude / unitsXSecond;
- }
-
- public override void EvaluateAndApply(VectorOptions options, Tween t, bool isRelative, DOGetter getter, DOSetter setter, float elapsed, Vector4Surrogate startValue, Vector4Surrogate changeValue, float duration, bool usingInversePosition)
- {
- if (t.loopType == LoopType.Incremental) startValue += changeValue * (t.isComplete ? t.completedLoops - 1 : t.completedLoops);
- if (t.isSequenced && t.sequenceParent.loopType == LoopType.Incremental) {
- startValue += changeValue * (t.loopType == LoopType.Incremental ? t.loops : 1)
- * (t.sequenceParent.isComplete ? t.sequenceParent.completedLoops - 1 : t.sequenceParent.completedLoops);
- }
-
- float easeVal = EaseManager.Evaluate(t.easeType, t.customEase, elapsed, duration, t.easeOvershootOrAmplitude, t.easePeriod);
- switch (options.axisConstraint) {
- case AxisConstraint.X:
- Vector4Surrogate resX = getter();
- resX.x = startValue.x + changeValue.x * easeVal;
- if (options.snapping) resX.x = (float)Math.Round(resX.x);
- setter(resX);
- break;
- case AxisConstraint.Y:
- Vector4Surrogate resY = getter();
- resY.y = startValue.y + changeValue.y * easeVal;
- if (options.snapping) resY.y = (float)Math.Round(resY.y);
- setter(resY);
- break;
- case AxisConstraint.Z:
- Vector4Surrogate resZ = getter();
- resZ.z = startValue.z + changeValue.z * easeVal;
- if (options.snapping) resZ.z = (float)Math.Round(resZ.z);
- setter(resZ);
- break;
- case AxisConstraint.W:
- Vector4Surrogate resW = getter();
- resW.w = startValue.w + changeValue.w * easeVal;
- if (options.snapping) resW.w = (float)Math.Round(resW.w);
- setter(resW);
- break;
- default:
- startValue.x += changeValue.x * easeVal;
- startValue.y += changeValue.y * easeVal;
- startValue.z += changeValue.z * easeVal;
- startValue.w += changeValue.w * easeVal;
- if (options.snapping) {
- startValue.x = (float)Math.Round(startValue.x);
- startValue.y = (float)Math.Round(startValue.y);
- startValue.z = (float)Math.Round(startValue.z);
- startValue.w = (float)Math.Round(startValue.w);
- }
- setter(startValue);
- break;
- }
- }
- }
-}
-#endif
\ No newline at end of file
diff --git a/_DOTween.Assembly/DOTween/Plugins/Vector4WrapperPlugin.cs b/_DOTween.Assembly/DOTween/Plugins/Vector4WrapperPlugin.cs
new file mode 100644
index 0000000..664ee81
--- /dev/null
+++ b/_DOTween.Assembly/DOTween/Plugins/Vector4WrapperPlugin.cs
@@ -0,0 +1,138 @@
+#if COMPATIBLE
+// Author: Daniele Giardini - http://www.demigiant.com
+// Created: 2015/04/20 18:13
+using System;
+using DG.Tweening.Core;
+using DG.Tweening.Core.Easing;
+using DG.Tweening.Core.Surrogates;
+using DG.Tweening.Plugins.Core;
+using DG.Tweening.Plugins.Options;
+using UnityEngine;
+
+#pragma warning disable 1591
+namespace DG.Tweening.Plugins
+{
+ public class Vector4WrapperPlugin : ABSTweenPlugin
+ {
+ public override void Reset(TweenerCore t) { }
+
+ public override void SetFrom(TweenerCore t, bool isRelative)
+ {
+ Vector4 prevEndVal = t.endValue;
+ t.endValue = t.getter().value;
+ t.startValue = isRelative ? t.endValue + prevEndVal : prevEndVal;
+ Vector4 to = t.endValue;
+ switch (t.plugOptions.axisConstraint) {
+ case AxisConstraint.X:
+ to.x = t.startValue.value.x;
+ break;
+ case AxisConstraint.Y:
+ to.y = t.startValue.value.y;
+ break;
+ case AxisConstraint.Z:
+ to.z = t.startValue.value.z;
+ break;
+ case AxisConstraint.W:
+ to.w = t.startValue.value.w;
+ break;
+ default:
+ to = t.startValue;
+ break;
+ }
+ if (t.plugOptions.snapping) {
+ to.x = (float)Math.Round(to.x);
+ to.y = (float)Math.Round(to.y);
+ to.z = (float)Math.Round(to.z);
+ to.w = (float)Math.Round(to.w);
+ }
+ t.setter(to);
+ }
+
+ public override Vector4Wrapper ConvertToStartValue(TweenerCore t, Vector4Wrapper value)
+ {
+ return value.value;
+ }
+
+ public override void SetRelativeEndValue(TweenerCore t)
+ {
+ t.endValue.value += t.startValue.value;
+ }
+
+ public override void SetChangeValue(TweenerCore t)
+ {
+ switch (t.plugOptions.axisConstraint) {
+ case AxisConstraint.X:
+ t.changeValue.value = new Vector4(t.endValue.value.x - t.startValue.value.x, 0, 0, 0);
+ break;
+ case AxisConstraint.Y:
+ t.changeValue.value = new Vector4(0, t.endValue.value.y - t.startValue.value.y, 0, 0);
+ break;
+ case AxisConstraint.Z:
+ t.changeValue.value = new Vector4(0, 0, t.endValue.value.z - t.startValue.value.z, 0);
+ break;
+ case AxisConstraint.W:
+ t.changeValue.value = new Vector4(0, 0, 0, t.endValue.value.w - t.startValue.value.w);
+ break;
+ default:
+ t.changeValue.value = t.endValue.value - t.startValue.value;
+ break;
+ }
+ }
+
+ public override float GetSpeedBasedDuration(VectorOptions options, float unitsXSecond, Vector4Wrapper changeValue)
+ {
+ return changeValue.value.magnitude / unitsXSecond;
+ }
+
+ public override void EvaluateAndApply(VectorOptions options, Tween t, bool isRelative, DOGetter getter, DOSetter setter, float elapsed, Vector4Wrapper startValue, Vector4Wrapper changeValue, float duration, bool usingInversePosition)
+ {
+ if (t.loopType == LoopType.Incremental) startValue.value += changeValue.value * (t.isComplete ? t.completedLoops - 1 : t.completedLoops);
+ if (t.isSequenced && t.sequenceParent.loopType == LoopType.Incremental) {
+ startValue.value += changeValue.value * (t.loopType == LoopType.Incremental ? t.loops : 1)
+ * (t.sequenceParent.isComplete ? t.sequenceParent.completedLoops - 1 : t.sequenceParent.completedLoops);
+ }
+
+ float easeVal = EaseManager.Evaluate(t.easeType, t.customEase, elapsed, duration, t.easeOvershootOrAmplitude, t.easePeriod);
+ switch (options.axisConstraint) {
+ case AxisConstraint.X:
+ Vector4 resX = getter().value;
+ resX.x = startValue.value.x + changeValue.value.x * easeVal;
+ if (options.snapping) resX.x = (float)Math.Round(resX.x);
+ setter(resX);
+ break;
+ case AxisConstraint.Y:
+ Vector4 resY = getter().value;
+ resY.y = startValue.value.y + changeValue.value.y * easeVal;
+ if (options.snapping) resY.y = (float)Math.Round(resY.y);
+ setter(resY);
+ break;
+ case AxisConstraint.Z:
+ Vector4 resZ = getter().value;
+ resZ.z = startValue.value.z + changeValue.value.z * easeVal;
+ if (options.snapping) resZ.z = (float)Math.Round(resZ.z);
+ setter(resZ);
+ break;
+ case AxisConstraint.W:
+ Vector4 resW = getter().value;
+ resW.w = startValue.value.w + changeValue.value.w * easeVal;
+ if (options.snapping) resW.w = (float)Math.Round(resW.w);
+ setter(resW);
+ break;
+ default:
+ startValue.value.x += changeValue.value.x * easeVal;
+ startValue.value.y += changeValue.value.y * easeVal;
+ startValue.value.z += changeValue.value.z * easeVal;
+ startValue.value.w += changeValue.value.w * easeVal;
+ if (options.snapping) {
+ startValue.value.x = (float)Math.Round(startValue.value.x);
+ startValue.value.y = (float)Math.Round(startValue.value.y);
+ startValue.value.z = (float)Math.Round(startValue.value.z);
+ startValue.value.w = (float)Math.Round(startValue.value.w);
+ }
+ setter(startValue);
+ break;
+ }
+ }
+ }
+}
+#endif
\ No newline at end of file
diff --git a/_DOTween.Assembly/DOTween/ShortcutExtensions.cs b/_DOTween.Assembly/DOTween/ShortcutExtensions.cs
index 960870d..1ebc41f 100644
--- a/_DOTween.Assembly/DOTween/ShortcutExtensions.cs
+++ b/_DOTween.Assembly/DOTween/ShortcutExtensions.cs
@@ -4,10 +4,14 @@
// License Copyright (c) Daniele Giardini.
// This work is subject to the terms at http://dotween.demigiant.com/license.php
-#if WP81
+#if COMPATIBLE
using DG.Tweening.Core.Surrogates;
+using DOVector3 = DG.Tweening.Core.Surrogates.Vector3Wrapper;
+using DOQuaternion = DG.Tweening.Core.Surrogates.QuaternionWrapper;
+#else
+using DOVector3 = UnityEngine.Vector3;
+using DOQuaternion = UnityEngine.Quaternion;
#endif
-using System.Collections.Generic;
using DG.Tweening.Core;
using DG.Tweening.Core.Enums;
using DG.Tweening.Plugins;
@@ -238,8 +242,8 @@ namespace DG.Tweening
/// If TRUE the tween will smoothly snap all values to integers
public static Tweener DOMove(this Rigidbody target, Vector3 endValue, float duration, bool snapping = false)
{
-#if WP81
- return DOTween.To(() => target.position, x=> target.MovePosition(x), endValue, duration)
+#if COMPATIBLE
+ return DOTween.To(() => target.position, x=> target.MovePosition(x.value), endValue, duration)
#else
return DOTween.To(() => target.position, target.MovePosition, endValue, duration)
#endif
@@ -252,8 +256,8 @@ namespace DG.Tweening
/// If TRUE the tween will smoothly snap all values to integers
public static Tweener DOMoveX(this Rigidbody target, float endValue, float duration, bool snapping = false)
{
-#if WP81
- return DOTween.To(() => target.position, x => target.MovePosition(x), new Vector3(endValue, 0, 0), duration)
+#if COMPATIBLE
+ return DOTween.To(() => target.position, x => target.MovePosition(x.value), new Vector3(endValue, 0, 0), duration)
#else
return DOTween.To(() => target.position, target.MovePosition, new Vector3(endValue, 0, 0), duration)
#endif
@@ -266,8 +270,8 @@ namespace DG.Tweening
/// If TRUE the tween will smoothly snap all values to integers
public static Tweener DOMoveY(this Rigidbody target, float endValue, float duration, bool snapping = false)
{
-#if WP81
- return DOTween.To(() => target.position, x => target.MovePosition(x), new Vector3(0, endValue, 0), duration)
+#if COMPATIBLE
+ return DOTween.To(() => target.position, x => target.MovePosition(x.value), new Vector3(0, endValue, 0), duration)
#else
return DOTween.To(() => target.position, target.MovePosition, new Vector3(0, endValue, 0), duration)
#endif
@@ -280,8 +284,8 @@ namespace DG.Tweening
/// If TRUE the tween will smoothly snap all values to integers
public static Tweener DOMoveZ(this Rigidbody target, float endValue, float duration, bool snapping = false)
{
-#if WP81
- return DOTween.To(() => target.position, x => target.MovePosition(x), new Vector3(0, 0, endValue), duration)
+#if COMPATIBLE
+ return DOTween.To(() => target.position, x => target.MovePosition(x.value), new Vector3(0, 0, endValue), duration)
#else
return DOTween.To(() => target.position, target.MovePosition, new Vector3(0, 0, endValue), duration)
#endif
@@ -294,8 +298,8 @@ namespace DG.Tweening
/// Rotation mode
public static Tweener DORotate(this Rigidbody target, Vector3 endValue, float duration, RotateMode mode = RotateMode.Fast)
{
-#if WP81
- TweenerCore t = DOTween.To(() => target.rotation, x => target.MoveRotation(x), endValue, duration);
+#if COMPATIBLE
+ TweenerCore t = DOTween.To(() => target.rotation, x => target.MoveRotation(x), endValue, duration);
#else
TweenerCore t = DOTween.To(() => target.rotation, target.MoveRotation, endValue, duration);
#endif
@@ -311,8 +315,8 @@ namespace DG.Tweening
/// The vector that defines in which direction up is (default: Vector3.up)
public static Tweener DOLookAt(this Rigidbody target, Vector3 towards, float duration, AxisConstraint axisConstraint = AxisConstraint.None, Vector3? up = null)
{
-#if WP81
- TweenerCore t = DOTween.To(() => target.rotation, x => target.MoveRotation(x), towards, duration)
+#if COMPATIBLE
+ TweenerCore t = DOTween.To(() => target.rotation, x => target.MoveRotation(x), towards, duration)
#else
TweenerCore t = DOTween.To(() => target.rotation, target.MoveRotation, towards, duration)
#endif
@@ -333,8 +337,13 @@ namespace DG.Tweening
public static Tweener DOResize(this TrailRenderer target, float toStartWidth, float toEndWidth, float duration)
{
return DOTween.To(() => new Vector2(target.startWidth, target.endWidth), x => {
+#if COMPATIBLE
+ target.startWidth = x.value.x;
+ target.endWidth = x.value.y;
+#else
target.startWidth = x.x;
target.endWidth = x.y;
+#endif
}, new Vector2(toStartWidth, toEndWidth), duration)
.SetTarget(target);
}
@@ -438,11 +447,7 @@ namespace DG.Tweening
/// Rotation mode
public static Tweener DORotate(this Transform target, Vector3 endValue, float duration, RotateMode mode = RotateMode.Fast)
{
-#if WP81
- TweenerCore t = DOTween.To(() => target.rotation, x => target.rotation = x, endValue, duration);
-#else
- TweenerCore t = DOTween.To(() => target.rotation, x => target.rotation = x, endValue, duration);
-#endif
+ TweenerCore t = DOTween.To(() => target.rotation, x => target.rotation = x, endValue, duration);
t.SetTarget(target);
t.plugOptions.rotateMode = mode;
return t;
@@ -454,11 +459,7 @@ namespace DG.Tweening
/// Rotation mode
public static Tweener DOLocalRotate(this Transform target, Vector3 endValue, float duration, RotateMode mode = RotateMode.Fast)
{
-#if WP81
- TweenerCore t = DOTween.To(() => target.localRotation, x => target.localRotation = x, endValue, duration);
-#else
- TweenerCore t = DOTween.To(() => target.localRotation, x => target.localRotation = x, endValue, duration);
-#endif
+ TweenerCore t = DOTween.To(() => target.localRotation, x => target.localRotation = x, endValue, duration);
t.SetTarget(target);
t.plugOptions.rotateMode = mode;
return t;
@@ -518,11 +519,7 @@ namespace DG.Tweening
/// The vector that defines in which direction up is (default: Vector3.up)
public static Tweener DOLookAt(this Transform target, Vector3 towards, float duration, AxisConstraint axisConstraint = AxisConstraint.None, Vector3? up = null)
{
-#if WP81
- TweenerCore t = DOTween.To(() => target.rotation, x => target.rotation = x, towards, duration)
-#else
- TweenerCore t = DOTween.To(() => target.rotation, x => target.rotation = x, towards, duration)
-#endif
+ TweenerCore t = DOTween.To(() => target.rotation, x => target.rotation = x, towards, duration)
.SetTarget(target).SetSpecialStartupMode(SpecialStartupMode.SetLookAt);
t.plugOptions.axisConstraint = axisConstraint;
t.plugOptions.up = (up == null) ? Vector3.up : (Vector3)up;
@@ -717,13 +714,13 @@ namespace DG.Tweening
public static Tweener DOBlendableColor(this Light target, Color endValue, float duration)
{
endValue = endValue - target.color;
-#if WP81
- ColorSurrogate to = new ColorSurrogate(0, 0, 0, 0);
-#else
Color to = new Color(0, 0, 0, 0);
-#endif
return DOTween.To(() => to, x => {
+#if COMPATIBLE
+ Color diff = x.value - to;
+#else
Color diff = x - to;
+#endif
to = x;
target.color += diff;
}, endValue, duration)
@@ -742,13 +739,13 @@ namespace DG.Tweening
public static Tweener DOBlendableColor(this Material target, Color endValue, float duration)
{
endValue = endValue - target.color;
-#if WP81
- ColorSurrogate to = new ColorSurrogate(0, 0, 0, 0);
-#else
Color to = new Color(0, 0, 0, 0);
-#endif
return DOTween.To(() => to, x => {
+#if COMPATIBLE
+ Color diff = x.value - to;
+#else
Color diff = x - to;
+#endif
to = x;
target.color += diff;
}, endValue, duration)
@@ -769,13 +766,13 @@ namespace DG.Tweening
}
endValue = endValue - target.color;
-#if WP81
- ColorSurrogate to = new ColorSurrogate(0, 0, 0, 0);
-#else
Color to = new Color(0, 0, 0, 0);
-#endif
return DOTween.To(() => to, x => {
+#if COMPATIBLE
+ Color diff = x.value - to;
+#else
Color diff = x - to;
+#endif
to = x;
target.SetColor(property, target.GetColor(property) + diff);
}, endValue, duration)
@@ -794,21 +791,16 @@ namespace DG.Tweening
/// If TRUE the tween will smoothly snap all values to integers
public static Tweener DOBlendableMoveBy(this Transform target, Vector3 byValue, float duration, bool snapping = false)
{
-#if WP81
- Vector3Surrogate to = Vector3Surrogate.zero;
- return DOTween.To(() => to, x => {
- Vector3 diff = x - to;
- to = x;
- target.position += diff;
- }, byValue, duration)
-#else
Vector3 to = Vector3.zero;
return DOTween.To(() => to, x => {
+#if COMPATIBLE
+ Vector3 diff = x.value - to;
+#else
Vector3 diff = x - to;
+#endif
to = x;
target.position += diff;
}, byValue, duration)
-#endif
.Blendable().SetOptions(snapping).SetTarget(target);
}
@@ -820,21 +812,16 @@ namespace DG.Tweening
/// If TRUE the tween will smoothly snap all values to integers
public static Tweener DOBlendableLocalMoveBy(this Transform target, Vector3 byValue, float duration, bool snapping = false)
{
-#if WP81
- Vector3Surrogate to = Vector3Surrogate.zero;
- return DOTween.To(() => to, x => {
- Vector3 diff = x - to;
- to = x;
- target.localPosition += diff;
- }, byValue, duration)
-#else
Vector3 to = Vector3.zero;
return DOTween.To(() => to, x => {
+#if COMPATIBLE
+ Vector3 diff = x.value - to;
+#else
Vector3 diff = x - to;
+#endif
to = x;
target.localPosition += diff;
}, byValue, duration)
-#endif
.Blendable().SetOptions(snapping).SetTarget(target);
}
@@ -847,12 +834,12 @@ namespace DG.Tweening
public static Tweener DOBlendableRotateBy(this Transform target, Vector3 byValue, float duration, RotateMode mode = RotateMode.Fast)
{
Quaternion to = target.rotation;
-#if WP81
- TweenerCore t = DOTween.To(() => to, x => {
+ TweenerCore t = DOTween.To(() => to, x => {
+#if COMPATIBLE
+ Quaternion diff = x.value * Quaternion.Inverse(to);
#else
- TweenerCore t = DOTween.To(() => to, x => {
+ Quaternion diff = x * Quaternion.Inverse(to);
#endif
- Quaternion diff = (Quaternion)x * Quaternion.Inverse(to);
to = x;
target.rotation = target.rotation * Quaternion.Inverse(target.rotation) * diff * target.rotation;
}, byValue, duration)
@@ -870,12 +857,12 @@ namespace DG.Tweening
public static Tweener DOBlendableLocalRotateBy(this Transform target, Vector3 byValue, float duration, RotateMode mode = RotateMode.Fast)
{
Quaternion to = target.localRotation;
-#if WP81
- TweenerCore t = DOTween.To(() => to, x => {
+ TweenerCore t = DOTween.To(() => to, x => {
+#if COMPATIBLE
+ Quaternion diff = x.value * Quaternion.Inverse(to);
#else
- TweenerCore t = DOTween.To(() => to, x => {
+ Quaternion diff = x * Quaternion.Inverse(to);
#endif
- Quaternion diff = (Quaternion)x * Quaternion.Inverse(to);
to = x;
target.localRotation = target.localRotation * Quaternion.Inverse(target.localRotation) * diff * target.localRotation;
}, byValue, duration)
@@ -891,21 +878,16 @@ namespace DG.Tweening
/// The value to tween byThe duration of the tween
public static Tweener DOBlendableScaleBy(this Transform target, Vector3 byValue, float duration)
{
-#if WP81
- Vector3Surrogate to = Vector3Surrogate.zero;
- return DOTween.To(() => to, x => {
- Vector3 diff = x - to;
- to = x;
- target.localScale += diff;
- }, byValue, duration)
-#else
Vector3 to = Vector3.zero;
return DOTween.To(() => to, x => {
+#if COMPATIBLE
+ Vector3 diff = x.value - to;
+#else
Vector3 diff = x - to;
+#endif
to = x;
target.localScale += diff;
}, byValue, duration)
-#endif
.Blendable().SetTarget(target);
}
diff --git a/_DOTween.Assembly/DOTween/TweenSettingsExtensions.cs b/_DOTween.Assembly/DOTween/TweenSettingsExtensions.cs
index be23263..8ce3252 100644
--- a/_DOTween.Assembly/DOTween/TweenSettingsExtensions.cs
+++ b/_DOTween.Assembly/DOTween/TweenSettingsExtensions.cs
@@ -4,8 +4,18 @@
// License Copyright (c) Daniele Giardini.
// This work is subject to the terms at http://dotween.demigiant.com/license.php
-#if WP81
-using DG.Tweening.Core.Surrogates;
+#if COMPATIBLE
+using DOVector2 = DG.Tweening.Core.Surrogates.Vector2Wrapper;
+using DOVector3 = DG.Tweening.Core.Surrogates.Vector3Wrapper;
+using DOVector4 = DG.Tweening.Core.Surrogates.Vector4Wrapper;
+using DOQuaternion = DG.Tweening.Core.Surrogates.QuaternionWrapper;
+using DOColor = DG.Tweening.Core.Surrogates.ColorWrapper;
+#else
+using DOVector2 = UnityEngine.Vector2;
+using DOVector3 = UnityEngine.Vector3;
+using DOVector4 = UnityEngine.Vector4;
+using DOQuaternion = UnityEngine.Quaternion;
+using DOColor = UnityEngine.Color;
#endif
using DG.Tweening.Core;
using DG.Tweening.Core.Easing;
@@ -584,11 +594,7 @@ namespace DG.Tweening
/// Options for Vector2 tweens
/// If TRUE the tween will smoothly snap all values to integers
-#if WP81
- public static Tweener SetOptions(this TweenerCore t, bool snapping)
-#else
- public static Tweener SetOptions(this TweenerCore t, bool snapping)
-#endif
+ public static Tweener SetOptions(this TweenerCore t, bool snapping)
{
if (t == null || !t.active) return t;
@@ -598,11 +604,7 @@ namespace DG.Tweening
/// Options for Vector2 tweens
/// Selecting an axis will tween the vector only on that axis, leaving the others untouched
/// If TRUE the tween will smoothly snap all values to integers
-#if WP81
- public static Tweener SetOptions(this TweenerCore t, AxisConstraint axisConstraint, bool snapping = false)
-#else
- public static Tweener SetOptions(this TweenerCore t, AxisConstraint axisConstraint, bool snapping = false)
-#endif
+ public static Tweener SetOptions(this TweenerCore t, AxisConstraint axisConstraint, bool snapping = false)
{
if (t == null || !t.active) return t;
@@ -613,11 +615,7 @@ namespace DG.Tweening
/// Options for Vector3 tweens
/// If TRUE the tween will smoothly snap all values to integers
-#if WP81
- public static Tweener SetOptions(this TweenerCore t, bool snapping)
-#else
- public static Tweener SetOptions(this TweenerCore t, bool snapping)
-#endif
+ public static Tweener SetOptions(this TweenerCore t, bool snapping)
{
if (t == null || !t.active) return t;
@@ -627,11 +625,7 @@ namespace DG.Tweening
/// Options for Vector3 tweens
/// Selecting an axis will tween the vector only on that axis, leaving the others untouched
/// If TRUE the tween will smoothly snap all values to integers
-#if WP81
- public static Tweener SetOptions(this TweenerCore t, AxisConstraint axisConstraint, bool snapping = false)
-#else
- public static Tweener SetOptions(this TweenerCore t, AxisConstraint axisConstraint, bool snapping = false)
-#endif
+ public static Tweener SetOptions(this TweenerCore