diff --git a/.idea/.idea.Infra/.idea/workspace.xml b/.idea/.idea.Infra/.idea/workspace.xml
index ac83830..cd5a35f 100644
--- a/.idea/.idea.Infra/.idea/workspace.xml
+++ b/.idea/.idea.Infra/.idea/workspace.xml
@@ -5,51 +5,73 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
@@ -60,8 +82,10 @@
+
+
@@ -125,10 +149,10 @@
-
+
-
+
@@ -173,58 +198,19 @@
-
- file://$PROJECT_DIR$/Assets/Code/Infrastructure/App/States/GameplayState.cs
- 141
-
-
-
-
-
-
-
-
-
-
-
- file://$PROJECT_DIR$/Assets/Code/Infrastructure/App/States/GameplayState.cs
- 62
-
-
-
-
-
-
-
-
-
- file://$PROJECT_DIR$/Assets/Code/Infrastructure/App/States/MainMenuState.cs
- 60
+ 58
-
+
-
+
-
- file://$PROJECT_DIR$/Assets/Code/Example/Race/RaceGame.cs
- 62
-
-
-
-
-
-
-
-
-
-
diff --git a/Assets/Code/Example/Platformer/Entity/Enemies/Bee.cs b/Assets/Code/Example/Platformer/Entity/Enemies/Bee.cs
index bfa8722..6d48528 100644
--- a/Assets/Code/Example/Platformer/Entity/Enemies/Bee.cs
+++ b/Assets/Code/Example/Platformer/Entity/Enemies/Bee.cs
@@ -1,8 +1,5 @@
-using System;
using System.Collections.Generic;
-using DG.Tweening;
-using DG.Tweening.Core;
-using DG.Tweening.Plugins.Options;
+using PrimeTween;
using UnityEngine;
namespace Code.Example.Platformer.Entity.Enemies
@@ -10,50 +7,56 @@ namespace Code.Example.Platformer.Entity.Enemies
public class Bee : Entity
{
[SerializeField] private List partolPoints;
- private bool _onPatrol;
- private bool _onPatrolMoveDamnit;
- private int _currentPartolPoint;
+ [SerializeField] private bool onPatrol = true;
+ private int _currentPatrolPoint;
- private Transform _currentTarget;
- private TweenerCore _patrolAction;
+ private Vector3 _velocity = new Vector3(1,1,1);
+ [SerializeField] private Transform _currentTarget;
+
+ private Tween _patrolAction;
protected override void Move()
{
- if (_onPatrol && !_onPatrolMoveDamnit)
- {
- _onPatrolMoveDamnit = true;
- _patrolAction = transform.DOMove(partolPoints[_currentPartolPoint].position, 3f);
- _patrolAction.onComplete += OnControlPointReached;
+ if (onPatrol && !_patrolAction.isAlive)
+ {
+ _patrolAction = Tween
+ .PositionAtSpeed(transform,partolPoints[_currentPatrolPoint].position, 0.5f)
+ .OnComplete(target: this, target => target.OnControlPointReached());
}
- else
+ else if(_currentTarget)
{
+
var direction = _currentTarget.position - transform.position;
direction.Normalize();
var targetPosition = _currentTarget.position + direction * -2f;
UnityEngine.Debug.DrawLine(transform.position, targetPosition, Color.red);
-
- transform.DOMove(_currentTarget.position, 2f).onComplete += OnControlPointReached;
+
+ transform.position = Vector3.SmoothDamp(transform.position,_currentTarget.position,ref _velocity, 1f);
+ // Tween
+ // .PositionAtSpeed(transform, _currentTarget.position, 1f).OnUpdate(transform, );
+ // // .OnComplete(OnControlPointReached);
}
}
private void OnControlPointReached()
- {
- if (++_currentPartolPoint >= partolPoints.Count) _currentPartolPoint = 0;
- _onPatrolMoveDamnit = false;
+ {
+ if (++_currentPatrolPoint >= partolPoints.Count) _currentPatrolPoint = 0;
}
public void GotTarget(Transform other)
{
- _onPatrol = false;
+ onPatrol = false;
+
_currentTarget = other;
- _patrolAction?.Complete();
+
+ _patrolAction.Stop();
}
public void LostTarget()
{
- _onPatrol = true;
- _currentTarget = null;
+ onPatrol = true;
+ _currentTarget = null;
}
}
}
\ No newline at end of file
diff --git a/Assets/Code/Example/Platformer/PlatformerState.cs b/Assets/Code/Example/Platformer/PlatformerState.cs
index bf28a65..4d55a14 100644
--- a/Assets/Code/Example/Platformer/PlatformerState.cs
+++ b/Assets/Code/Example/Platformer/PlatformerState.cs
@@ -1,4 +1,5 @@
using Code.Infrastructure.App;
+using Code.Infrastructure.Audio;
using Code.Infrastructure.Camera;
using Code.Infrastructure.EventBus;
using Code.Infrastructure.Generators;
@@ -36,6 +37,7 @@ namespace Code.Example.Platformer
private void LoadingCompleted()
{
+ Context.AudioService.CancelMusic(AudioNames.UISounds,0);
Context.UIService.ClosePanel(UIPanelType.Loading);
}
diff --git a/Assets/Code/Example/Race/Racer/Car/CarWheelRotatorPlayer.cs b/Assets/Code/Example/Race/Racer/Car/CarWheelRotatorPlayer.cs
index 1df7655..aafc046 100644
--- a/Assets/Code/Example/Race/Racer/Car/CarWheelRotatorPlayer.cs
+++ b/Assets/Code/Example/Race/Racer/Car/CarWheelRotatorPlayer.cs
@@ -1,4 +1,4 @@
-using DG.Tweening;
+using PrimeTween;
using UnityEngine;
namespace Code.Example.Race.Racer.Car
@@ -15,7 +15,7 @@ namespace Code.Example.Race.Racer.Car
{
var wheelRotation = wheel.localRotation.eulerAngles;
wheelRotation.y = amount;
- wheel.DOLocalRotate(wheelRotation, 1f);
+ Tween.LocalRotation(wheel,wheelRotation, 1f);
// wheel.localRotation = Quaternion.Euler(wheelRotation);
}
}
diff --git a/Assets/Code/Example/Race/UI/PlayerScores.cs b/Assets/Code/Example/Race/UI/PlayerScores.cs
index 6f06264..5496eb3 100644
--- a/Assets/Code/Example/Race/UI/PlayerScores.cs
+++ b/Assets/Code/Example/Race/UI/PlayerScores.cs
@@ -1,7 +1,7 @@
using System;
using System.Collections.Generic;
using Code.Infrastructure.UI;
-using DG.Tweening;
+using PrimeTween;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
@@ -26,14 +26,14 @@ namespace Code.Example.Race.UI
}
public override void Open(Action callback = null)
{
- image.DOColor(shownColor, 1f);
- scoreText.DOColor(shownColor, 1f).onComplete = () => callback?.Invoke();
+ Tween.Color(image,shownColor, 1f);
+ Tween.Color(scoreText,shownColor, 1f).OnComplete( () => callback?.Invoke());
}
public override void Close(Action callback = null)
{
- image.DOColor(hiddenColor, 1f);
- scoreText.DOColor(hiddenColor, 1f).onComplete = () => callback?.Invoke();
+ Tween.Color(image,hiddenColor, 1f);
+ Tween.Color(scoreText,hiddenColor, 1f).OnComplete( () => callback?.Invoke());
}
}
diff --git a/Assets/Code/Example/Race/UI/WinScreen.cs b/Assets/Code/Example/Race/UI/WinScreen.cs
index 0461ac2..48b5292 100644
--- a/Assets/Code/Example/Race/UI/WinScreen.cs
+++ b/Assets/Code/Example/Race/UI/WinScreen.cs
@@ -1,6 +1,6 @@
using System;
using Code.Infrastructure.UI;
-using DG.Tweening;
+using PrimeTween;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
@@ -17,14 +17,14 @@ namespace Code.Example.Race.UI
public void SetText(string text) => winText.text = text;
public override void Open(Action callback = null)
{
- image.DOColor(shownColor, 1f);
- winText.DOColor(shownColor, 1f).onComplete = () => callback?.Invoke();
+ Tween.Color(image,shownColor, 1f);
+ Tween.Color(winText,shownColor, 1f).OnComplete( () => callback?.Invoke());
}
public override void Close(Action callback = null)
{
- image.DOColor(hiddenColor, 1f);
- winText.DOColor(hiddenColor, 1f).onComplete = () => callback?.Invoke();
+ Tween.Color(image,hiddenColor, 1f);
+ Tween.Color(winText,hiddenColor, 1f).OnComplete( () => callback?.Invoke());
}
}
}
\ No newline at end of file
diff --git a/Assets/Code/Infrastructure/App/PapaInstaller.cs b/Assets/Code/Infrastructure/App/PapaInstaller.cs
index 122d25d..40981e6 100644
--- a/Assets/Code/Infrastructure/App/PapaInstaller.cs
+++ b/Assets/Code/Infrastructure/App/PapaInstaller.cs
@@ -13,6 +13,7 @@ using Reflex.Injectors;
using Unity.Cinemachine;
using UnityEngine;
using UnityEngine.Rendering.Universal;
+using UnityEngine.SceneManagement;
using Resolution = Reflex.Enums.Resolution;
namespace Code.Infrastructure.App
@@ -32,6 +33,8 @@ namespace Code.Infrastructure.App
{
public void InstallBindings(ContainerBuilder containerBuilder)
{
+ if(SceneManager.GetActiveScene().buildIndex != 0) SceneManager.LoadScene(0, LoadSceneMode.Single);
+
InitLoadings();
containerBuilder.RegisterType(typeof(EventBus.EventBus), Lifetime.Singleton, Resolution.Eager);
diff --git a/Assets/Code/Infrastructure/UI/Panels/LoadingPanel.cs b/Assets/Code/Infrastructure/UI/Panels/LoadingPanel.cs
index 08f4875..c4d821d 100644
--- a/Assets/Code/Infrastructure/UI/Panels/LoadingPanel.cs
+++ b/Assets/Code/Infrastructure/UI/Panels/LoadingPanel.cs
@@ -1,5 +1,5 @@
-using System;
-using DG.Tweening;
+using System;
+using PrimeTween;
using UnityEngine;
using UnityEngine.UI;
@@ -12,12 +12,12 @@ namespace Code.Infrastructure.UI.Panels
[SerializeField] private Color hiddenColor;
public override void Open(Action callback = null)
{
- image.DOColor(shownColor, 1f).onComplete = () => callback?.Invoke();
+ Tween.Color(image,shownColor, 1f).OnComplete( () => callback?.Invoke());
}
public override void Close(Action callback = null)
{
- image.DOColor(hiddenColor, 1f).onComplete += () => callback?.Invoke();
+ Tween.Color(image,hiddenColor, 1f).OnComplete( () => callback?.Invoke());
}
}
}
\ No newline at end of file
diff --git a/Assets/Code/Infrastructure/UI/Panels/LogoPanel.cs b/Assets/Code/Infrastructure/UI/Panels/LogoPanel.cs
index 3c150c2..36ff523 100644
--- a/Assets/Code/Infrastructure/UI/Panels/LogoPanel.cs
+++ b/Assets/Code/Infrastructure/UI/Panels/LogoPanel.cs
@@ -1,5 +1,5 @@
-using System;
-using DG.Tweening;
+using System;
+using PrimeTween;
using UnityEngine;
using UnityEngine.UI;
@@ -12,12 +12,12 @@ namespace Code.Infrastructure.UI.Panels
[SerializeField] private Color hiddenColor;
public override void Open(Action callback = null)
{
- image.DOColor(shownColor, 1f).onComplete = () => callback?.Invoke();
+ Tween.Color(image,shownColor, 1f).OnComplete( () => callback?.Invoke());
}
public override void Close(Action callback = null)
{
- image.DOColor(hiddenColor, 1f).onComplete += () => callback?.Invoke();
+ Tween.Color(image,hiddenColor, 1f).OnComplete( () => callback?.Invoke());
}
}
}
\ No newline at end of file
diff --git a/Assets/DOTween/DOTween.XML b/Assets/DOTween/DOTween.XML
deleted file mode 100644
index f56085a..0000000
--- a/Assets/DOTween/DOTween.XML
+++ /dev/null
@@ -1,3107 +0,0 @@
-
-
-
- DOTween
-
-
-
-
- Types of autoPlay behaviours
-
-
-
- No tween is automatically played
-
-
- Only Sequences are automatically played
-
-
- Only Tweeners are automatically played
-
-
- All tweens are automatically played
-
-
-
- What axis to constrain in case of Vector tweens
-
-
-
- Called the first time the tween is set in a playing state, after any eventual delay
-
-
-
- Used in place of System.Func, which is not available in mscorlib.
-
-
-
-
- Used in place of System.Action.
-
-
-
-
- Public so it can be used by lose scripts related to DOTween (like DOTweenAnimation)
-
-
-
-
- Used to separate DOTween class from the MonoBehaviour instance (in order to use static constructors on DOTween).
- Contains all instance-based methods
-
-
-
- Used internally inside Unity Editor, as a trick to update DOTween's inspector at every frame
-
-
-
- Directly sets the current max capacity of Tweeners and Sequences
- (meaning how many Tweeners and Sequences can be running at the same time),
- so that DOTween doesn't need to automatically increase them in case the max is reached
- (which might lead to hiccups when that happens).
- Sequences capacity must be less or equal to Tweeners capacity
- (if you pass a low Tweener capacity it will be automatically increased to match the Sequence's).
- Beware: use this method only when there are no tweens running.
-
- Max Tweeners capacity.
- Default: 200
- Max Sequences capacity.
- Default: 50
-
-
-
- This class contains a C# port of the easing equations created by Robert Penner (http://robertpenner.com/easing).
-
-
-
-
- Easing equation function for a bounce (exponentially decaying parabolic bounce) easing in: accelerating from zero velocity.
-
-
- Current time (in frames or seconds).
-
-
- Expected easing duration (in frames or seconds).
-
- Unused: here to keep same delegate for all ease types.
- Unused: here to keep same delegate for all ease types.
-
- The eased value.
-
-
-
-
- Easing equation function for a bounce (exponentially decaying parabolic bounce) easing out: decelerating from zero velocity.
-
-
- Current time (in frames or seconds).
-
-
- Expected easing duration (in frames or seconds).
-
- Unused: here to keep same delegate for all ease types.
- Unused: here to keep same delegate for all ease types.
-
- The eased value.
-
-
-
-
- Easing equation function for a bounce (exponentially decaying parabolic bounce) easing in/out: acceleration until halfway, then deceleration.
-
-
- Current time (in frames or seconds).
-
-
- Expected easing duration (in frames or seconds).
-
- Unused: here to keep same delegate for all ease types.
- Unused: here to keep same delegate for all ease types.
-
- The eased value.
-
-
-
-
- Returns a value between 0 and 1 (inclusive) based on the elapsed time and ease selected.
- Use this method if you don't care about , otherwise use
-
-
-
-
- USE THIS FOR CUSTOM PLUGINS when you want to be able to use .
- Returns a value that is from 0 to 1 if is not incremental, otherwise from 0 to (1 * completed loops)
-
-
-
-
- Returns a value between 0 and 1 (inclusive) based on the elapsed time and ease selected
-
-
-
-
- Used to interpret AnimationCurves as eases.
- Public so it can be used by external ease factories
-
-
-
-
- Behaviour in case a tween nested inside a Sequence fails and is captured by safe mode
-
-
-
- If the Sequence contains other elements, kill the failed tween but preserve the rest
-
-
- Kill the whole Sequence
-
-
-
- Log types thrown by errors captured and prevented by safe mode
-
-
-
- No logs. NOT RECOMMENDED
-
-
- Throw a normal log
-
-
- Throw a warning log (default)
-
-
- Throw an error log
-
-
-
- Additional notices passed to plugins when updating.
- Public so it can be used by custom plugins. Internally, only PathPlugin uses it
-
-
-
-
- None
-
-
-
-
- Lets the plugin know that we restarted or rewinded
-
-
-
-
- OnRewind callback behaviour (can only be set via DOTween's Utility Panel)
-
-
-
-
- When calling Rewind or PlayBackwards/SmoothRewind, OnRewind callbacks will be fired only if the tween isn't already rewinded
-
-
-
-
- When calling Rewind, OnRewind callbacks will always be fired, even if the tween is already rewinded.
- When calling PlayBackwards/SmoothRewind instead, OnRewind callbacks will be fired only if the tween isn't already rewinded
-
-
-
-
- When calling Rewind or PlayBackwards/SmoothRewind, OnRewind callbacks will always be fired, even if the tween is already rewinded
-
-
-
-
- Public only so custom shortcuts can access some of these methods
-
-
-
-
- INTERNAL: used by DO shortcuts and Modules to set special startup mode
-
-
-
-
- INTERNAL: used by DO shortcuts and Modules to set the tween as blendable
-
-
-
-
- INTERNAL: used by DO shortcuts and Modules to prevent a tween from using a From setup even if passed
-
-
-
-
- Used to dispatch commands that need to be captured externally, usually by Modules
-
-
-
-
- Various utils
-
-
-
-
- Returns a Vector3 with z = 0
-
-
-
-
- Returns the 2D angle between two vectors
-
-
-
-
- Returns a point on a circle with the given center and radius,
- using Unity's circle coordinates (0° points up and increases clockwise)
-
-
-
-
- Uses approximate equality on each axis instead of Unity's Vector3 equality,
- because the latter fails (in some cases) when assigning a Vector3 to a transform.position and then checking it.
-
-
-
-
- Looks for the type within all possible project assembly names
-
-
-
- NO-GC METHOD: changes the start value of a tween and rewinds it (without pausing it).
- Has no effect with tweens that are inside Sequences
- The new start value
- If bigger than 0 applies it as the new tween duration
-
-
- NO-GC METHOD: changes the end value of a tween and rewinds it (without pausing it).
- Has no effect with tweens that are inside Sequences
- The new end value
- If TRUE the start value will become the current target's value, otherwise it will stay the same
-
-
- NO-GC METHOD: changes the end value of a tween and rewinds it (without pausing it).
- Has no effect with tweens that are inside Sequences
- The new end value
- If bigger than 0 applies it as the new tween duration
- If TRUE the start value will become the current target's value, otherwise it will stay the same
-
-
- NO-GC METHOD: changes the start and end value of a tween and rewinds it (without pausing it).
- Has no effect with tweens that are inside Sequences
- The new start value
- The new end value
- If bigger than 0 applies it as the new tween duration
-
-
-
- Struct that stores two colors (used for LineRenderer tweens)
-
-
-
-
- Used for tween callbacks
-
-
-
-
- Used for tween callbacks
-
-
-
-
- Used for custom and animationCurve-based ease functions. Must return a value between 0 and 1.
-
-
-
-
- Straight Quaternion plugin. Instead of using Vector3 values accepts Quaternion values directly.
- Beware: doesn't work with LoopType.Incremental (neither directly nor if inside a LoopType.Incremental Sequence).
- To use it, call DOTween.To with the plugin parameter overload, passing it PureQuaternionPlugin.Plug() as first parameter
- (do not use any of the other public PureQuaternionPlugin methods):
- DOTween.To(PureQuaternionPlugin.Plug(), ()=> myQuaternionProperty, x=> myQuaternionProperty = x, myQuaternionEndValue, duration);
-
-
-
-
- Plug this plugin inside a DOTween.To call.
- Example:
- DOTween.To(PureQuaternionPlugin.Plug(), ()=> myQuaternionProperty, x=> myQuaternionProperty = x, myQuaternionEndValue, duration);
-
-
-
- INTERNAL: do not use
-
-
- INTERNAL: do not use
-
-
- INTERNAL: do not use
-
-
- INTERNAL: do not use
-
-
- INTERNAL: do not use
-
-
- INTERNAL: do not use
-
-
- INTERNAL: do not use
-
-
- INTERNAL: do not use
-
-
-
- Extra non-tweening-related curve methods
-
-
-
-
- Cubic bezier curve methods
-
-
-
-
- Calculates a point along the given Cubic Bezier segment-curve.
-
- Segment start point
- Start point's control point/handle
- Segment end point
- End point's control point/handle
- 0-1 percentage along which to retrieve point
-
-
-
- Returns an array containing a series of points along the given Cubic Bezier segment-curve.
-
- Start point
- Start point's control point/handle
- End point
- End point's control point/handle
- Cloud resolution (min: 2)
-
-
-
- Calculates a series of points along the given Cubic Bezier segment-curve and adds them to the given list.
-
- Start point
- Start point's control point/handle
- End point
- End point's control point/handle
- Cloud resolution (min: 2)
-
-
-
- Main DOTween class. Contains static methods to create and control tweens in a generic way
-
-
-
- DOTween's version
-
-
- If TRUE (default) makes tweens slightly slower but safer, automatically taking care of a series of things
- (like targets becoming null while a tween is playing).
- Default: TRUE
-
-
- Log type when safe mode reports capturing an error and preventing it
-
-
- Behaviour in case a tween nested inside a Sequence fails (and is caught by safe mode).
- Default: NestedTweenFailureBehaviour.TryToPreserveSequence
-
-
- If TRUE you will get a DOTween report when exiting play mode (only in the Editor).
- Useful to know how many max Tweeners and Sequences you reached and optimize your final project accordingly.
- Beware, this will slightly slow down your tweens while inside Unity Editor.
- Default: FALSE
-
-
- Global DOTween global timeScale (default: 1).
- The final timeScale of a non-timeScaleIndependent tween is:
- Unity's Time.timeScale * DOTween.timeScale * tween.timeScale
- while the final timeScale of a timeScaleIndependent tween is:
- DOTween.unscaledTimeScale * DOTween.timeScale * tween.timeScale
-
-
- DOTween timeScale applied only to timeScaleIndependent tweens (default: 1).
- The final timeScale of a timeScaleIndependent tween is:
- DOTween.unscaledTimeScale * DOTween.timeScale * tween.timeScale
-
-
- If TRUE, DOTween will use Time.smoothDeltaTime instead of Time.deltaTime for UpdateType.Normal and UpdateType.Late tweens
- (unless they're set as timeScaleIndependent, in which case a value between the last timestep
- and will be used instead).
- Setting this to TRUE will lead to smoother animations.
- Default: FALSE
-
-
- If is TRUE, this indicates the max timeStep that an independent update call can last.
- Setting this to TRUE will lead to smoother animations.
- Default: FALSE
-
-
- DOTween's log behaviour.
- Default: LogBehaviour.ErrorsOnly
-
-
- Used to intercept DOTween's logs. If this method isn't NULL, DOTween will call it before writing a log via Unity's own Debug log methods.
- Return TRUE if you want DOTween to proceed with the log, FALSE otherwise.
- This method must return a bool and accept two parameters:
- - LogType: the type of Unity log that DOTween is trying to log
- - object: the log message that DOTween wants to log
-
-
- If TRUE draws path gizmos in Unity Editor (if the gizmos button is active).
- Deactivate this if you want to avoid gizmos overhead while in Unity Editor
-
-
- Gets/sets the max Tweeners capacity (automatically increased by DOTween when necessary).
- You can also set both Tweeners and Sequences capacity via the static method
-
-
- Gets/sets the max Sequences capacity (automatically increased by DOTween when necessary).
- You can also set both Tweeners and Sequences capacity via the static method
-
-
- If TRUE activates various debug options
-
-
- Stores the target id so it can be used to give more info in case of safeMode error capturing.
- Only active if both debugMode and useSafeMode are TRUE
-
-
- Default updateType for new tweens.
- Default: UpdateType.Normal
-
-
- Sets whether Unity's timeScale should be taken into account by default or not.
- Default: false
-
-
- Default autoPlay behaviour for new tweens.
- Default: AutoPlay.All
-
-
- Default autoKillOnComplete behaviour for new tweens.
- Default: TRUE
-
-
- Default loopType applied to all new tweens.
- Default: LoopType.Restart
-
-
- If TRUE all newly created tweens are set as recyclable, otherwise not.
- Default: FALSE
-
-
- Default ease applied to all new Tweeners (not to Sequences which always have Ease.Linear as default).
- Default: Ease.InOutQuad
-
-
- Default overshoot/amplitude used for eases
- Default: 1.70158f
-
-
- Default period used for eases
- Default: 0
-
-
- Used internally. Assigned/removed by DOTweenComponent.Create/DestroyInstance
-
-
-
- Must be called once, before the first ever DOTween call/reference,
- otherwise it will be called automatically and will use default options.
- Calling it a second time won't have any effect.
- You can chain SetCapacity to this method, to directly set the max starting size of Tweeners and Sequences:
- DOTween.Init(false, false, LogBehaviour.Default).SetCapacity(100, 20);
-
- If TRUE all new tweens will be set for recycling, meaning that when killed,
- instead of being destroyed, they will be put in a pool and reused instead of creating new tweens. This option allows you to avoid
- GC allocations by reusing tweens, but you will have to take care of tween references, since they might result active
- even if they were killed (since they might have been respawned and are now being used for other tweens).
- If you want to automatically set your tween references to NULL when a tween is killed
- you can use the OnKill callback like this:
- .OnKill(()=> myTweenReference = null)
- You can change this setting at any time by changing the static property,
- or you can set the recycling behaviour for each tween separately, using:
- SetRecyclable(bool recyclable)
- Default: FALSE
- If TRUE makes tweens slightly slower but safer, automatically taking care of a series of things
- (like targets becoming null while a tween is playing).
- You can change this setting at any time by changing the static property.
- Default: FALSE
- Type of logging to use.
- You can change this setting at any time by changing the static property.
- Default: ErrorsOnly
-
-
-
- Directly sets the current max capacity of Tweeners and Sequences
- (meaning how many Tweeners and Sequences can be running at the same time),
- so that DOTween doesn't need to automatically increase them in case the max is reached
- (which might lead to hiccups when that happens).
- Sequences capacity must be less or equal to Tweeners capacity
- (if you pass a low Tweener capacity it will be automatically increased to match the Sequence's).
- Beware: use this method only when there are no tweens running.
-
- Max Tweeners capacity.
- Default: 200
- Max Sequences capacity.
- Default: 50
-
-
-
- Kills all tweens, clears all cached tween pools and plugins and resets the max Tweeners/Sequences capacities to the default values.
-
- If TRUE also destroys DOTween's gameObject and resets its initializiation, default settings and everything else
- (so that next time you use it it will need to be re-initialized)
-
-
-
- Clears all cached tween pools.
-
-
-
-
- Checks all active tweens to find and remove eventually invalid ones (usually because their targets became NULL)
- and returns the total number of invalid tweens found and removed.
- IMPORTANT: this will cause an error on UWP platform, so don't use it there
- BEWARE: this is a slightly expensive operation so use it with care
-
-
-
-
- Updates all tweens that are set to .
-
- Manual deltaTime
- Unscaled delta time (used with tweens set as timeScaleIndependent)
-
-
- 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
-
-
- 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
-
-
- 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
-
-
- 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
-
-
- 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
-
-
- 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
-
-
- 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
-
-
- 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
-
-
- 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
-
-
- 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
-
-
- 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
-
-
- 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
-
-
- 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
-
-
- 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
-
-
- Tweens a property or field to the given value using a custom plugin
- The plugin to use. Each custom plugin implements a static Get() method
- you'll need to call to assign the correct plugin in the correct way, like this:
- CustomPlugin.Get()
- 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
-
-
- 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
- A setter for the field or property to tween
- Example usage with lambda:x=> myProperty = x
- 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
- A setter for the field or property to tween
- Example usage with lambda:x=> myProperty = x
- The end value to reachThe tween's duration
-
-
- Tweens a virtual property from the given start to the given end value
- and implements a setter that allows to use that value with an external method or a lambda
- Example:
- To(MyMethod, 0, 12, 0.5f);
- Where MyMethod is a function that accepts a float parameter (which will be the result of the virtual tween)
- The action to perform with the tweened value
- The value to start from
- The end value to reach
- The duration of the virtual tween
-
-
-
- Punches a Vector3 towards the given direction and then back to the starting one
- as if it was connected to the starting position via an elastic.
- This tween type generates some GC allocations at startup
- 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 direction and strength of the punch
- The duration of the tween
- Indicates how much will the punch vibrate
- Represents how much (0 to 1) the vector will go beyond the starting position when bouncing backwards.
- 1 creates a full oscillation between the direction and the opposite decaying direction,
- while 0 oscillates only between the starting position and the decaying direction
-
-
- Shakes a Vector3 with the given values.
- 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 duration of the tween
- The shake strength
- Indicates how much will the shake vibrate
- Indicates how much the shake will be random (0 to 180 - values higher than 90 kind of suck, so beware).
- Setting it to 0 will shake along a single direction and behave like a random punch.
- If TRUE only shakes on the X Y axis (looks better with things like cameras).
- If TRUE the shake will automatically fadeOut smoothly within the tween's duration, otherwise it will not
- Randomness mode
-
-
- Shakes a Vector3 with the given values.
- 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 duration of the tween
- The shake strength on each axis
- Indicates how much will the shake vibrate
- Indicates how much the shake will be random (0 to 180 - values higher than 90 kind of suck, so beware).
- Setting it to 0 will shake along a single direction and behave like a random punch.
- If TRUE the shake will automatically fadeOut smoothly within the tween's duration, otherwise it will not
- Randomness mode
-
-
- Tweens a property or field to the given values using default plugins.
- Ease is applied between each segment and not as a whole.
- This tween type generates some GC allocations at startup
- 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 values to reach for each segment. This array must have the same length as durations
- The duration of each segment. This array must have the same length as endValues
-
-
-
- Returns a new to be used for tween groups.
- Mind that Sequences don't have a target applied automatically like Tweener creation shortcuts,
- so if you want to be able to kill this Sequence when calling DOTween.Kill(target) you'll have to add
- the target manually; you can do that directly by using the overload instead of this one
-
-
-
-
- Returns a new to be used for tween groups, and allows to set a target
- (because Sequences don't have their target set automatically like Tweener creation shortcuts).
- That way killing/controlling tweens by target will apply to this Sequence too.
-
- The target of the Sequence. Relevant only for static target-based methods like DOTween.Kill(target),
- useless otherwise
-
-
- Completes all tweens and returns the number of actual tweens completed
- (meaning tweens that don't have infinite loops and were not already complete)
- For Sequences only: if TRUE also internal Sequence callbacks will be fired,
- otherwise they will be ignored
-
-
- Completes all tweens with the given ID or target and returns the number of actual tweens completed
- (meaning the tweens that don't have infinite loops and were not already complete)
- For Sequences only: if TRUE internal Sequence callbacks will be fired,
- otherwise they will be ignored
-
-
- Flips all tweens (changing their direction to forward if it was backwards and viceversa),
- then returns the number of actual tweens flipped
-
-
- Flips the tweens with the given ID or target (changing their direction to forward if it was backwards and viceversa),
- then returns the number of actual tweens flipped
-
-
- Sends all tweens to the given position (calculating also eventual loop cycles) and returns the actual tweens involved
-
-
- Sends all tweens with the given ID or target to the given position (calculating also eventual loop cycles)
- and returns the actual tweens involved
-
-
- Kills all tweens and returns the number of actual tweens killed
- If TRUE completes the tweens before killing them
-
-
- Kills all tweens and returns the number of actual tweens killed
- If TRUE completes the tweens before killing them
- Eventual IDs or targets to exclude from the killing
-
-
- Kills all tweens with the given ID or target and returns the number of actual tweens killed
- If TRUE completes the tweens before killing them
-
-
- Kills all tweens with the given target and the given ID, and returns the number of actual tweens killed
- If TRUE completes the tweens before killing them
-
-
- Pauses all tweens and returns the number of actual tweens paused
-
-
- Pauses all tweens with the given ID or target and returns the number of actual tweens paused
- (meaning the tweens that were actually playing and have been paused)
-
-
- Plays all tweens and returns the number of actual tweens played
- (meaning tweens that were not already playing or complete)
-
-
- Plays all tweens with the given ID or target and returns the number of actual tweens played
- (meaning the tweens that were not already playing or complete)
-
-
- Plays all tweens with the given target and the given ID, and returns the number of actual tweens played
- (meaning the tweens that were not already playing or complete)
-
-
- Plays backwards all tweens and returns the number of actual tweens played
- (meaning tweens that were not already started, playing backwards or rewinded)
-
-
- Plays backwards all tweens with the given ID or target and returns the number of actual tweens played
- (meaning the tweens that were not already started, playing backwards or rewinded)
-
-
- Plays backwards all tweens with the given target and ID and returns the number of actual tweens played
- (meaning the tweens that were not already started, playing backwards or rewinded)
-
-
- Plays forward all tweens and returns the number of actual tweens played
- (meaning tweens that were not already playing forward or complete)
-
-
- Plays forward all tweens with the given ID or target and returns the number of actual tweens played
- (meaning the tweens that were not already playing forward or complete)
-
-
- Plays forward all tweens with the given target and ID and returns the number of actual tweens played
- (meaning the tweens that were not already started, playing backwards or rewinded)
-
-
- Restarts all tweens, then returns the number of actual tweens restarted
-
-
- Restarts all tweens with the given ID or target, then returns the number of actual tweens restarted
- If TRUE includes the eventual tweens delays, otherwise skips them
- If >= 0 changes the startup delay of all involved tweens to this value, otherwise doesn't touch it
-
-
- Restarts all tweens with the given target and the given ID, and returns the number of actual tweens played
- (meaning the tweens that were not already playing or complete)
- If TRUE includes the eventual tweens delays, otherwise skips them
- If >= 0 changes the startup delay of all involved tweens to this value, otherwise doesn't touch it
-
-
- Rewinds and pauses all tweens, then returns the number of actual tweens rewinded
- (meaning tweens that were not already rewinded)
-
-
- Rewinds and pauses all tweens with the given ID or target, then returns the number of actual tweens rewinded
- (meaning the tweens that were not already rewinded)
-
-
- Smoothly rewinds all tweens (delays excluded), then returns the number of actual tweens rewinding/rewinded
- (meaning tweens that were not already rewinded).
- A "smooth rewind" animates the tween to its start position,
- skipping all elapsed loops (except in case of LoopType.Incremental) while keeping the animation fluent.
- Note that a tween that was smoothly rewinded will have its play direction flipped
-
-
- Smoothly rewinds all tweens (delays excluded) with the given ID or target, then returns the number of actual tweens rewinding/rewinded
- (meaning the tweens that were not already rewinded).
- A "smooth rewind" animates the tween to its start position,
- skipping all elapsed loops (except in case of LoopType.Incremental) while keeping the animation fluent.
- Note that a tween that was smoothly rewinded will have its play direction flipped
-
-
- Toggles the play state of all tweens and returns the number of actual tweens toggled
- (meaning tweens that could be played or paused, depending on the toggle state)
-
-
- Toggles the play state of all tweens with the given ID or target and returns the number of actual tweens toggled
- (meaning the tweens that could be played or paused, depending on the toggle state)
-
-
-
- Returns TRUE if a tween with the given ID or target is active.
- You can also use this to know if a shortcut tween is active for a given target.
- Example:
- transform.DOMoveX(45, 1); // transform is automatically added as the tween target
- DOTween.IsTweening(transform); // Returns true
-
- The target or ID to look for
- If FALSE (default) returns TRUE as long as a tween for the given target/ID is active,
- otherwise also requires it to be playing
-
-
-
- Returns the total number of active tweens (so both Tweeners and Sequences).
- A tween is considered active if it wasn't killed, regardless if it's playing or paused
-
-
-
-
- Returns the total number of active Tweeners.
- A Tweener is considered active if it wasn't killed, regardless if it's playing or paused
-
-
-
-
- Returns the total number of active Sequences.
- A Sequence is considered active if it wasn't killed, regardless if it's playing or paused
-
-
-
-
- Returns the total number of active and playing tweens.
- A tween is considered as playing even if its delay is actually playing
-
-
-
-
- Returns a the total number of active tweens with the given id.
-
- If TRUE returns only the tweens with the given ID that are currently playing
-
-
-
- Returns a list of all active tweens in a playing state.
- Returns NULL if there are no active playing tweens.
- Beware: each time you call this method a new list is generated, so use it for debug only
-
- If NULL creates a new list, otherwise clears and fills this one (and thus saves allocations)
-
-
-
- Returns a list of all active tweens in a paused state.
- Returns NULL if there are no active paused tweens.
- Beware: each time you call this method a new list is generated, so use it for debug only
-
- If NULL creates a new list, otherwise clears and fills this one (and thus saves allocations)
-
-
-
- Returns a list of all active tweens with the given id.
- Returns NULL if there are no active tweens with the given id.
- Beware: each time you call this method a new list is generated
-
- If TRUE returns only the tweens with the given ID that are currently playing
- If NULL creates a new list, otherwise clears and fills this one (and thus saves allocations)
-
-
-
- Returns a list of all active tweens with the given target.
- Returns NULL if there are no active tweens with the given target.
- Beware: each time you call this method a new list is generated
- If TRUE returns only the tweens with the given target that are currently playing
- If NULL creates a new list, otherwise clears and fills this one (and thus saves allocations)
-
-
-
-
- Creates virtual tweens that can be used to change other elements via their OnUpdate calls
-
-
-
-
- Tweens a virtual float.
- You can add regular settings to the generated tween,
- but do not use OnUpdate or you will overwrite the onVirtualUpdate parameter
-
- The value to start from
- The value to tween to
- The duration of the tween
- A callback which must accept a parameter of type float, called at each update
-
-
-
- Tweens a virtual int.
- You can add regular settings to the generated tween,
- but do not use OnUpdate or you will overwrite the onVirtualUpdate parameter
-
- The value to start from
- The value to tween to
- The duration of the tween
- A callback which must accept a parameter of type int, called at each update
-
-
-
- Tweens a virtual Vector2.
- You can add regular settings to the generated tween,
- but do not use OnUpdate or you will overwrite the onVirtualUpdate parameter
-
- The value to start from
- The value to tween to
- The duration of the tween
- A callback which must accept a parameter of type Vector3, called at each update
-
-
-
- Tweens a virtual Vector3.
- You can add regular settings to the generated tween,
- but do not use OnUpdate or you will overwrite the onVirtualUpdate parameter
-
- The value to start from
- The value to tween to
- The duration of the tween
- A callback which must accept a parameter of type Vector3, called at each update
-
-
-
- Tweens a virtual Color.
- You can add regular settings to the generated tween,
- but do not use OnUpdate or you will overwrite the onVirtualUpdate parameter
-
- The value to start from
- The value to tween to
- The duration of the tween
- A callback which must accept a parameter of type Color, called at each update
-
-
- Returns a value based on the given ease and lifetime percentage (0 to 1)
- The value to start from when lifetimePercentage is 0
- The value to reach when lifetimePercentage is 1
- The time percentage (0 to 1) at which the value should be taken
- The type of ease
-
-
- Returns a value based on the given ease and lifetime percentage (0 to 1)
- The value to start from when lifetimePercentage is 0
- The value to reach when lifetimePercentage is 1
- The time percentage (0 to 1) at which the value should be taken
- The type of ease
- Eventual overshoot to use with Back ease
-
-
- Returns a value based on the given ease and lifetime percentage (0 to 1)
- The value to start from when lifetimePercentage is 0
- The value to reach when lifetimePercentage is 1
- The time percentage (0 to 1) at which the value should be taken
- The type of ease
- Eventual amplitude to use with Elastic easeType
- Eventual period to use with Elastic easeType
-
-
- Returns a value based on the given ease and lifetime percentage (0 to 1)
- The value to start from when lifetimePercentage is 0
- The value to reach when lifetimePercentage is 1
- The time percentage (0 to 1) at which the value should be taken
- The AnimationCurve to use for ease
-
-
- Returns a value based on the given ease and lifetime percentage (0 to 1)
- The value to start from when lifetimePercentage is 0
- The value to reach when lifetimePercentage is 1
- The time percentage (0 to 1) at which the value should be taken
- The type of ease
-
-
- Returns a value based on the given ease and lifetime percentage (0 to 1)
- The value to start from when lifetimePercentage is 0
- The value to reach when lifetimePercentage is 1
- The time percentage (0 to 1) at which the value should be taken
- The type of ease
- Eventual overshoot to use with Back ease
-
-
- Returns a value based on the given ease and lifetime percentage (0 to 1)
- The value to start from when lifetimePercentage is 0
- The value to reach when lifetimePercentage is 1
- The time percentage (0 to 1) at which the value should be taken
- The type of ease
- Eventual amplitude to use with Elastic easeType
- Eventual period to use with Elastic easeType
-
-
- Returns a value based on the given ease and lifetime percentage (0 to 1)
- The value to start from when lifetimePercentage is 0
- The value to reach when lifetimePercentage is 1
- The time percentage (0 to 1) at which the value should be taken
- The AnimationCurve to use for ease
-
-
- Fires the given callback after the given time.
- Callback delay
- Callback to fire when the delay has expired
- If TRUE (default) ignores Unity's timeScale
-
-
-
- Don't assign this! It's assigned automatically when creating 0 duration tweens
-
-
-
-
- Don't assign this! It's assigned automatically when setting the ease to an AnimationCurve or to a custom ease function
-
-
-
-
- Allows to wrap ease method in special ways, adding extra features
-
-
-
-
- Converts the given ease so that it also creates a stop-motion effect, by playing the tween at the given FPS
-
- FPS at which the tween should be played
- Ease type
-
-
-
- Converts the given ease so that it also creates a stop-motion effect, by playing the tween at the given FPS
-
- FPS at which the tween should be played
- AnimationCurve to use for the ease
-
-
-
- Converts the given ease so that it also creates a stop-motion effect, by playing the tween at the given FPS
-
- FPS at which the tween should be played
- Custom ease function to use
-
-
-
- Used to allow method chaining with DOTween.Init
-
-
-
-
- Directly sets the current max capacity of Tweeners and Sequences
- (meaning how many Tweeners and Sequences can be running at the same time),
- so that DOTween doesn't need to automatically increase them in case the max is reached
- (which might lead to hiccups when that happens).
- Sequences capacity must be less or equal to Tweeners capacity
- (if you pass a low Tweener capacity it will be automatically increased to match the Sequence's).
- Beware: use this method only when there are no tweens running.
-
- Max Tweeners capacity.
- Default: 200
- Max Sequences capacity.
- Default: 50
-
-
-
- Behaviour that can be assigned when chaining a SetLink to a tween
-
-
-
- Pauses the tween when the link target is disabled
-
-
- Pauses the tween when the link target is disabled, plays it when it's enabled
-
-
- Pauses the tween when the link target is disabled, restarts it when it's enabled
-
-
- Plays the tween when the link target is enabled
-
-
- Restarts the tween when the link target is enabled
-
-
- Kills the tween when the link target is disabled
-
-
- Kills the tween when the link target is destroyed (becomes NULL). This is always active even if another behaviour is chosen
-
-
- Completes the tween when the link target is disabled
-
-
- Completes and kills the tween when the link target is disabled
-
-
- Rewinds the tween (delay excluded) when the link target is disabled
-
-
- Rewinds and kills the tween when the link target is disabled
-
-
-
- Path mode (used to determine correct LookAt orientation)
-
-
-
- Ignores the path mode (and thus LookAt behaviour)
-
-
- Regular 3D path
-
-
- 2D top-down path
-
-
- 2D side-scroller path
-
-
-
- Type of path to use with DOPath tweens
-
-
-
- Linear, composed of straight segments between each waypoint
-
-
- Curved path (which uses Catmull-Rom curves)
-
-
- EXPERIMENTAL: Curved path (which uses Cubic Bezier curves, where each point requires two extra control points)
-
-
-
- Tweens a Vector2 along a circle.
- EndValue represents the center of the circle, start and end value degrees are inside options
- ChangeValue x is changeValue°, y is unused
-
-
-
-
- Path control point
-
-
-
-
- Path waypoints (modified by PathPlugin when setting relative end/change value or by CubicBezierDecoder) and by DOTweenPathInspector
-
-
-
-
- Minimum input points necessary to create the path (doesn't correspond to actual waypoints required)
-
-
-
-
- Gets the point on the path at the given percentage (0 to 1)
-
- The percentage (0 to 1) at which to get the point
- If TRUE constant speed is taken into account, otherwise not
-
-
-
- Base interface for all tween plugins options
-
-
-
- Resets the plugin
-
-
-
- This plugin generates some GC allocations at startup
-
-
-
-
- Path plugin works exclusively with Transforms
-
-
-
-
- Rotation mode used with DORotate methods
-
-
-
-
- Fastest way that never rotates beyond 360°
-
-
-
-
- Fastest way that rotates beyond 360°
-
-
-
-
- Adds the given rotation to the transform using world axis and an advanced precision mode
- (like when using transform.Rotate(Space.World)).
- In this mode the end value is is always considered relative
-
-
-
-
- Adds the given rotation to the transform's local axis
- (like when rotating an object with the "local" switch enabled in Unity's editor or using transform.Rotate(Space.Self)).
- In this mode the end value is is always considered relative
-
-
-
-
- Type of scramble to apply to string tweens
-
-
-
-
- No scrambling of characters
-
-
-
-
- A-Z + a-z + 0-9 characters
-
-
-
-
- A-Z characters
-
-
-
-
- a-z characters
-
-
-
-
- 0-9 characters
-
-
-
-
- Custom characters
-
-
-
-
- Type of randomness to apply to a shake tween
-
-
-
- Default, full randomness
-
-
- Creates a more balanced randomness that looks more harmonic
-
-
-
- Methods that extend Tween objects and allow to control or get data from them
-
-
-
- Completes the tween
-
-
- Completes the tween
- For Sequences only: if TRUE also internal Sequence callbacks will be fired,
- otherwise they will be ignored
-
-
- Optional: indicates that the tween creation has ended, to be used (optionally) as the last element of tween chaining creation.
- This method won't do anything except in case of 0-duration tweens,
- where it will complete them immediately instead of waiting for the next internal update routine
- (unless they're nested in a Sequence, in which case the Sequence will still be the one in control and this method will be ignored)
-
-
- Flips the direction of this tween (backwards if it was going forward or viceversa)
-
-
- Forces the tween to initialize its settings immediately
-
-
- Send the tween to the given position in time
- Time position to reach
- (if higher than the whole tween duration the tween will simply reach its end)
- If TRUE will play the tween after reaching the given position, otherwise it will pause it
-
-
- Send the tween to the given position in time while also executing any callback between the previous time position and the new one
- Time position to reach
- (if higher than the whole tween duration the tween will simply reach its end)
- If TRUE will play the tween after reaching the given position, otherwise it will pause it
-
-
- Kills the tween
- If TRUE completes the tween before killing it
-
-
-
- Forces this tween to update manually, regardless of the set via SetUpdate.
- Note that the tween will still be subject to normal tween rules, so if for example it's paused this method will do nothing.
- Also note that if you only want to update this tween instance manually you'll have to set it to anyway,
- so that it's not updated automatically.
-
- Manual deltaTime
- Unscaled delta time (used with tweens set as timeScaleIndependent)
-
-
- Pauses the tween
-
-
- Plays the tween
-
-
- Sets the tween in a backwards direction and plays it
-
-
- Sets the tween in a forward direction and plays it
-
-
- Restarts the tween from the beginning
- Ignored in case of Sequences. If TRUE includes the eventual tween delay, otherwise skips it
- Ignored in case of Sequences. If >= 0 changes the startup delay to this value, otherwise doesn't touch it
-
-
- Rewinds and pauses the tween
- Ignored in case of Sequences. If TRUE includes the eventual tween delay, otherwise skips it
-
-
- Smoothly rewinds the tween (delays excluded).
- A "smooth rewind" animates the tween to its start position,
- skipping all elapsed loops (except in case of LoopType.Incremental) while keeping the animation fluent.
- If called on a tween who is still waiting for its delay to happen, it will simply set the delay to 0 and pause the tween.
- Note that a tween that was smoothly rewinded will have its play direction flipped
-
-
- Plays the tween if it was paused, pauses it if it was playing
-
-
- Send a path tween to the given waypoint.
- Has no effect if this is not a path tween.
- BEWARE, this is a special utility method:
- it works only with Linear eases. Also, the lookAt direction might be wrong after calling this and might need to be set manually
- (because it relies on a smooth path movement and doesn't work well with jumps that encompass dramatic direction changes)
- Waypoint index to reach
- (if higher than the max waypoint index the tween will simply go to the last one)
- If TRUE will play the tween after reaching the given waypoint, otherwise it will pause it
-
-
-
- Creates a yield instruction that waits until the tween is killed or complete.
- It can be used inside a coroutine as a yield.
- Example usage:yield return myTween.WaitForCompletion();
-
-
-
-
- Creates a yield instruction that waits until the tween is killed or rewinded.
- It can be used inside a coroutine as a yield.
- Example usage:yield return myTween.WaitForRewind();
-
-
-
-
- Creates a yield instruction that waits until the tween is killed.
- It can be used inside a coroutine as a yield.
- Example usage:yield return myTween.WaitForKill();
-
-
-
-
- Creates a yield instruction that waits until the tween is killed or has gone through the given amount of loops.
- It can be used inside a coroutine as a yield.
- Example usage:yield return myTween.WaitForElapsedLoops(2);
-
- Elapsed loops to wait for
-
-
-
- Creates a yield instruction that waits until the tween is killed or has reached the given position (loops included, delays excluded).
- It can be used inside a coroutine as a yield.
- Example usage:yield return myTween.WaitForPosition(2.5f);
-
- Position (loops included, delays excluded) to wait for
-
-
-
- Creates a yield instruction that waits until the tween is killed or started
- (meaning when the tween is set in a playing state the first time, after any eventual delay).
- It can be used inside a coroutine as a yield.
- Example usage:yield return myTween.WaitForStart();
-
-
-
- Returns the total number of loops completed by this tween
-
-
- Returns the eventual delay set for this tween
-
-
- Returns the eventual elapsed delay set for this tween
-
-
- Returns the duration of this tween (delays excluded).
- NOTE: when using settings like SpeedBased, the duration will be recalculated when the tween starts
- If TRUE returns the full duration loops included,
- otherwise the duration of a single loop cycle
-
-
- Returns the elapsed time for this tween (delays exluded)
- If TRUE returns the elapsed time since startup loops included,
- otherwise the elapsed time within the current loop cycle
-
-
- Returns the elapsed percentage (0 to 1) of this tween (delays exluded)
- If TRUE returns the elapsed percentage since startup loops included,
- otherwise the elapsed percentage within the current loop cycle
-
-
- Returns the elapsed percentage (0 to 1) of this tween (delays exluded),
- based on a single loop, and calculating eventual backwards Yoyo loops as 1 to 0 instead of 0 to 1
-
-
- Returns FALSE if this tween has been killed or is NULL, TRUE otherwise.
- BEWARE: if this tween is recyclable it might have been spawned again for another use and thus return TRUE anyway.
- When working with recyclable tweens you should take care to know when a tween has been killed and manually set your references to NULL.
- If you want to be sure your references are set to NULL when a tween is killed you can use the OnKill callback like this:
- .OnKill(()=> myTweenReference = null)
-
-
- Returns TRUE if this tween was reversed and is set to go backwards
-
-
- NOTE: To check if a tween was simply set to go backwards see .
- Returns TRUE if this tween is going backwards for any of these reasons:
- - The tween was reversed and is going backwards on a straight loop
- - The tween was reversed and is going backwards on an odd Yoyo loop
- - The tween is going forward but on an even Yoyo loop
- IMPORTANT: if used inside a tween's callback, this will return a result concerning the exact frame when it's asked,
- so for example in a callback at the end of a Yoyo loop step this method will never return FALSE
- because the frame will never end exactly there and the tween will already be going backwards when the callback is fired
-
-
- Returns TRUE if the tween is complete
- (silently fails and returns FALSE if the tween has been killed)
-
-
- Returns TRUE if this tween was set to be timeScale independent via the tween.SetUpdate method
-
-
- Returns TRUE if this tween has been initialized
-
-
- Returns TRUE if this tween is playing
-
-
- Returns the total number of loops set for this tween
- (returns -1 if the loops are infinite)
-
-
-
- Returns a point on a path based on the given path percentage.
- Returns Vector3.zero if this is not a path tween, if the tween is invalid, or if the path is not yet initialized.
- A path is initialized after its tween starts, or immediately if the tween was created with the Path Editor (DOTween Pro feature).
- You can force a path to be initialized by calling myTween.ForceInit().
-
- Percentage of the path (0 to 1) on which to get the point
-
-
-
- Returns an array of points that can be used to draw the path.
- Note that this method generates allocations, because it creates a new array.
- Returns NULL if this is not a path tween, if the tween is invalid, or if the path is not yet initialized.
- A path is initialized after its tween starts, or immediately if the tween was created with the Path Editor (DOTween Pro feature).
- You can force a path to be initialized by calling myTween.ForceInit().
-
- How many points to create for each path segment (waypoint to waypoint).
- Only used in case of non-Linear paths
-
-
-
- Returns the length of a path.
- Returns -1 if this is not a path tween, if the tween is invalid, or if the path is not yet initialized.
- A path is initialized after its tween starts, or immediately if the tween was created with the Path Editor (DOTween Pro feature).
- You can force a path to be initialized by calling myTween.ForceInit().
-
-
-
-
- Types of loop
-
-
-
- Each loop cycle restarts from the beginning
-
-
- The tween moves forward and backwards at alternate cycles
-
-
- Continuously increments the tween at the end of each loop cycle (A to B, B to B+(A-B), and so on), thus always moving "onward".
- In case of String tweens works only if the tween is set as relative
-
-
-
- Controls other tweens as a group
-
-
-
-
- Methods that extend known Unity objects and allow to directly create and control tweens from their instances
-
-
-
- Tweens a Camera's aspect to the given value.
- Also stores the camera as the tween's target so it can be used for filtered operations
- The end value to reachThe duration of the tween
-
-
- Tweens a Camera's backgroundColor to the given value.
- Also stores the camera as the tween's target so it can be used for filtered operations
- The end value to reachThe duration of the tween
-
-
- Tweens a Camera's farClipPlane to the given value.
- Also stores the camera as the tween's target so it can be used for filtered operations
- The end value to reachThe duration of the tween
-
-
- Tweens a Camera's fieldOfView to the given value.
- Also stores the camera as the tween's target so it can be used for filtered operations
- The end value to reachThe duration of the tween
-
-
- Tweens a Camera's nearClipPlane to the given value.
- Also stores the camera as the tween's target so it can be used for filtered operations
- The end value to reachThe duration of the tween
-
-
- Tweens a Camera's orthographicSize to the given value.
- Also stores the camera as the tween's target so it can be used for filtered operations
- The end value to reachThe duration of the tween
-
-
- Tweens a Camera's pixelRect to the given value.
- Also stores the camera as the tween's target so it can be used for filtered operations
- The end value to reachThe duration of the tween
-
-
- Tweens a Camera's rect to the given value.
- Also stores the camera as the tween's target so it can be used for filtered operations
- The end value to reachThe duration of the tween
-
-
- Shakes a Camera's localPosition along its relative X Y axes with the given values.
- Also stores the camera as the tween's target so it can be used for filtered operations
- The duration of the tween
- The shake strength
- Indicates how much will the shake vibrate
- Indicates how much the shake will be random (0 to 180 - values higher than 90 kind of suck, so beware).
- Setting it to 0 will shake along a single direction.
- If TRUE the shake will automatically fadeOut smoothly within the tween's duration, otherwise it will not
- Randomness mode
-
-
- Shakes a Camera's localPosition along its relative X Y axes with the given values.
- Also stores the camera as the tween's target so it can be used for filtered operations
- The duration of the tween
- The shake strength on each axis
- Indicates how much will the shake vibrate
- Indicates how much the shake will be random (0 to 180 - values higher than 90 kind of suck, so beware).
- Setting it to 0 will shake along a single direction.
- If TRUE the shake will automatically fadeOut smoothly within the tween's duration, otherwise it will not
- Randomness mode
-
-
- Shakes a Camera's localRotation.
- Also stores the camera as the tween's target so it can be used for filtered operations
- The duration of the tween
- The shake strength
- Indicates how much will the shake vibrate
- Indicates how much the shake will be random (0 to 180 - values higher than 90 kind of suck, so beware).
- Setting it to 0 will shake along a single direction.
- If TRUE the shake will automatically fadeOut smoothly within the tween's duration, otherwise it will not
- Randomness mode
-
-
- Shakes a Camera's localRotation.
- Also stores the camera as the tween's target so it can be used for filtered operations
- The duration of the tween
- The shake strength on each axis
- Indicates how much will the shake vibrate
- Indicates how much the shake will be random (0 to 180 - values higher than 90 kind of suck, so beware).
- Setting it to 0 will shake along a single direction.
- If TRUE the shake will automatically fadeOut smoothly within the tween's duration, otherwise it will not
- Randomness mode
-
-
- Tweens a Light's color to the given value.
- Also stores the light as the tween's target so it can be used for filtered operations
- The end value to reachThe duration of the tween
-
-
- Tweens a Light's intensity to the given value.
- Also stores the light as the tween's target so it can be used for filtered operations
- The end value to reachThe duration of the tween
-
-
- Tweens a Light's shadowStrength to the given value.
- Also stores the light as the tween's target so it can be used for filtered operations
- The end value to reachThe duration of the tween
-
-
- Tweens a LineRenderer's color to the given value.
- Also stores the LineRenderer as the tween's target so it can be used for filtered operations.
- Note that this method requires to also insert the start colors for the tween,
- since LineRenderers have no way to get them.
- The start value to tween from
- The end value to reachThe duration of the tween
-
-
- Tweens a Material's color to the given value.
- Also stores the material as the tween's target so it can be used for filtered operations
- The end value to reachThe duration of the tween
-
-
- Tweens a Material's named color property to the given value.
- Also stores the material as the tween's target so it can be used for filtered operations
- The end value to reach
- The name of the material property to tween (like _Tint or _SpecColor)
- The duration of the tween
-
-
- Tweens a Material's named color property with the given ID to the given value.
- Also stores the material as the tween's target so it can be used for filtered operations
- The end value to reach
- The ID of the material property to tween (also called nameID in Unity's manual)
- The duration of the tween
-
-
- Tweens a Material's alpha color to the given value
- (will have no effect unless your material supports transparency).
- Also stores the material as the tween's target so it can be used for filtered operations
- The end value to reachThe duration of the tween
-
-
- Tweens a Material's alpha color to the given value
- (will have no effect unless your material supports transparency).
- Also stores the material as the tween's target so it can be used for filtered operations
- The end value to reach
- The name of the material property to tween (like _Tint or _SpecColor)
- The duration of the tween
-
-
- Tweens a Material's alpha color with the given ID to the given value
- (will have no effect unless your material supports transparency).
- Also stores the material as the tween's target so it can be used for filtered operations
- The end value to reach
- The ID of the material property to tween (also called nameID in Unity's manual)
- The duration of the tween
-
-
- Tweens a Material's named float property to the given value.
- Also stores the material as the tween's target so it can be used for filtered operations
- The end value to reach
- The name of the material property to tween
- The duration of the tween
-
-
- Tweens a Material's named float property with the given ID to the given value.
- Also stores the material as the tween's target so it can be used for filtered operations
- The end value to reach
- The ID of the material property to tween (also called nameID in Unity's manual)
- The duration of the tween
-
-
- Tweens a Material's texture offset to the given value.
- Also stores the material as the tween's target so it can be used for filtered operations
- The end value to reach
- The duration of the tween
-
-
- Tweens a Material's named texture offset property to the given value.
- Also stores the material as the tween's target so it can be used for filtered operations
- The end value to reach
- The name of the material property to tween
- The duration of the tween
-
-
- Tweens a Material's texture scale to the given value.
- Also stores the material as the tween's target so it can be used for filtered operations
- The end value to reach
- The duration of the tween
-
-
- Tweens a Material's named texture scale property to the given value.
- Also stores the material as the tween's target so it can be used for filtered operations
- The end value to reach
- The name of the material property to tween
- The duration of the tween
-
-
- Tweens a Material's named Vector property to the given value.
- Also stores the material as the tween's target so it can be used for filtered operations
- The end value to reach
- The name of the material property to tween
- The duration of the tween
-
-
- Tweens a Material's named Vector property with the given ID to the given value.
- Also stores the material as the tween's target so it can be used for filtered operations
- The end value to reach
- The ID of the material property to tween (also called nameID in Unity's manual)
- The duration of the tween
-
-
- Tweens a TrailRenderer's startWidth/endWidth to the given value.
- Also stores the TrailRenderer as the tween's target so it can be used for filtered operations
- The end startWidth to reachThe end endWidth to reach
- The duration of the tween
-
-
- Tweens a TrailRenderer's time to the given value.
- Also stores the TrailRenderer as the tween's target so it can be used for filtered operations
- The end value to reachThe duration of the tween
-
-
- Tweens a Transform's position to the given value.
- Also stores the transform as the tween's target so it can be used for filtered operations
- The end value to reachThe duration of the tween
- If TRUE the tween will smoothly snap all values to integers
-
-
- Tweens a Transform's X position to the given value.
- Also stores the transform as the tween's target so it can be used for filtered operations
- The end value to reachThe duration of the tween
- If TRUE the tween will smoothly snap all values to integers
-
-
- Tweens a Transform's Y position to the given value.
- Also stores the transform as the tween's target so it can be used for filtered operations
- The end value to reachThe duration of the tween
- If TRUE the tween will smoothly snap all values to integers
-
-
- Tweens a Transform's Z position to the given value.
- Also stores the transform as the tween's target so it can be used for filtered operations
- The end value to reachThe duration of the tween
- If TRUE the tween will smoothly snap all values to integers
-
-
- Tweens a Transform's localPosition to the given value.
- Also stores the transform as the tween's target so it can be used for filtered operations
- The end value to reachThe duration of the tween
- If TRUE the tween will smoothly snap all values to integers
-
-
- Tweens a Transform's X localPosition to the given value.
- Also stores the transform as the tween's target so it can be used for filtered operations
- The end value to reachThe duration of the tween
- If TRUE the tween will smoothly snap all values to integers
-
-
- Tweens a Transform's Y localPosition to the given value.
- Also stores the transform as the tween's target so it can be used for filtered operations
- The end value to reachThe duration of the tween
- If TRUE the tween will smoothly snap all values to integers
-
-
- Tweens a Transform's Z localPosition to the given value.
- Also stores the transform as the tween's target so it can be used for filtered operations
- The end value to reachThe duration of the tween
- If TRUE the tween will smoothly snap all values to integers
-
-
- Tweens a Transform's rotation to the given value.
- Also stores the transform as the tween's target so it can be used for filtered operations
- The end value to reachThe duration of the tween
- Rotation mode
-
-
- Tweens a Transform's rotation to the given value using pure quaternion values.
- Also stores the transform as the tween's target so it can be used for filtered operations.
- PLEASE NOTE: DORotate, which takes Vector3 values, is the preferred rotation method.
- This method was implemented for very special cases, and doesn't support LoopType.Incremental loops
- (neither for itself nor if placed inside a LoopType.Incremental Sequence)
-
- The end value to reachThe duration of the tween
-
-
- Tweens a Transform's localRotation to the given value.
- Also stores the transform as the tween's target so it can be used for filtered operations
- The end value to reachThe duration of the tween
- Rotation mode
-
-
- Tweens a Transform's rotation to the given value using pure quaternion values.
- Also stores the transform as the tween's target so it can be used for filtered operations.
- PLEASE NOTE: DOLocalRotate, which takes Vector3 values, is the preferred rotation method.
- This method was implemented for very special cases, and doesn't support LoopType.Incremental loops
- (neither for itself nor if placed inside a LoopType.Incremental Sequence)
-
- The end value to reachThe duration of the tween
-
-
- Tweens a Transform's localScale to the given value.
- Also stores the transform as the tween's target so it can be used for filtered operations
- The end value to reachThe duration of the tween
-
-
- Tweens a Transform's localScale uniformly to the given value.
- Also stores the transform as the tween's target so it can be used for filtered operations
- The end value to reachThe duration of the tween
-
-
- Tweens a Transform's X localScale to the given value.
- Also stores the transform as the tween's target so it can be used for filtered operations
- The end value to reachThe duration of the tween
-
-
- Tweens a Transform's Y localScale to the given value.
- Also stores the transform as the tween's target so it can be used for filtered operations
- The end value to reachThe duration of the tween
-
-
- Tweens a Transform's Z localScale to the given value.
- Also stores the transform as the tween's target so it can be used for filtered operations
- The end value to reachThe duration of the tween
-
-
- Tweens a Transform's rotation so that it will look towards the given world position.
- Also stores the transform as the tween's target so it can be used for filtered operations
- The position to look atThe duration of the tween
- Eventual axis constraint for the rotation
- The vector that defines in which direction up is (default: Vector3.up)
-
-
- EXPERIMENTAL Tweens a Transform's rotation so that it will look towards the given world position,
- while also updating the lookAt position every frame
- (contrary to which calculates the lookAt rotation only once, when the tween starts).
- Also stores the transform as the tween's target so it can be used for filtered operations
- The position to look atThe duration of the tween
- Eventual axis constraint for the rotation
- The vector that defines in which direction up is (default: Vector3.up)
-
-
- Punches a Transform's localPosition towards the given direction and then back to the starting one
- as if it was connected to the starting position via an elastic.
- The direction and strength of the punch (added to the Transform's current position)
- The duration of the tween
- Indicates how much will the punch vibrate
- Represents how much (0 to 1) the vector will go beyond the starting position when bouncing backwards.
- 1 creates a full oscillation between the punch direction and the opposite direction,
- while 0 oscillates only between the punch and the start position
- If TRUE the tween will smoothly snap all values to integers
-
-
- Punches a Transform's localScale towards the given size and then back to the starting one
- as if it was connected to the starting scale via an elastic.
- The punch strength (added to the Transform's current scale)
- The duration of the tween
- Indicates how much will the punch vibrate
- Represents how much (0 to 1) the vector will go beyond the starting size when bouncing backwards.
- 1 creates a full oscillation between the punch scale and the opposite scale,
- while 0 oscillates only between the punch scale and the start scale
-
-
- Punches a Transform's localRotation towards the given size and then back to the starting one
- as if it was connected to the starting rotation via an elastic.
- The punch strength (added to the Transform's current rotation)
- The duration of the tween
- Indicates how much will the punch vibrate
- Represents how much (0 to 1) the vector will go beyond the starting rotation when bouncing backwards.
- 1 creates a full oscillation between the punch rotation and the opposite rotation,
- while 0 oscillates only between the punch and the start rotation
-
-
- Shakes a Transform's localPosition with the given values.
- The duration of the tween
- The shake strength
- Indicates how much will the shake vibrate
- Indicates how much the shake will be random (0 to 180 - values higher than 90 kind of suck, so beware).
- Setting it to 0 will shake along a single direction.
- If TRUE the tween will smoothly snap all values to integers
- If TRUE the shake will automatically fadeOut smoothly within the tween's duration, otherwise it will not
- Randomness mode
-
-
- Shakes a Transform's localPosition with the given values.
- The duration of the tween
- The shake strength on each axis
- Indicates how much will the shake vibrate
- Indicates how much the shake will be random (0 to 180 - values higher than 90 kind of suck, so beware).
- Setting it to 0 will shake along a single direction.
- If TRUE the tween will smoothly snap all values to integers
- If TRUE the shake will automatically fadeOut smoothly within the tween's duration, otherwise it will not
- Randomness mode
-
-
- Shakes a Transform's localRotation.
- The duration of the tween
- The shake strength
- Indicates how much will the shake vibrate
- Indicates how much the shake will be random (0 to 180 - values higher than 90 kind of suck, so beware).
- Setting it to 0 will shake along a single direction.
- If TRUE the shake will automatically fadeOut smoothly within the tween's duration, otherwise it will not
- Randomness mode
-
-
- Shakes a Transform's localRotation.
- The duration of the tween
- The shake strength on each axis
- Indicates how much will the shake vibrate
- Indicates how much the shake will be random (0 to 180 - values higher than 90 kind of suck, so beware).
- Setting it to 0 will shake along a single direction.
- If TRUE the shake will automatically fadeOut smoothly within the tween's duration, otherwise it will not
- Randomness mode
-
-
- Shakes a Transform's localScale.
- The duration of the tween
- The shake strength
- Indicates how much will the shake vibrate
- Indicates how much the shake will be random (0 to 180 - values higher than 90 kind of suck, so beware).
- Setting it to 0 will shake along a single direction.
- If TRUE the shake will automatically fadeOut smoothly within the tween's duration, otherwise it will not
- Randomness mode
-
-
- Shakes a Transform's localScale.
- The duration of the tween
- The shake strength on each axis
- Indicates how much will the shake vibrate
- Indicates how much the shake will be random (0 to 180 - values higher than 90 kind of suck, so beware).
- Setting it to 0 will shake along a single direction.
- If TRUE the shake will automatically fadeOut smoothly within the tween's duration, otherwise it will not
- Randomness mode
-
-
- Tweens a Transform's position to the given value, while also applying a jump effect along the Y axis.
- Returns a Sequence instead of a Tweener.
- Also stores the transform as the tween's target so it can be used for filtered operations
- The end value to reach
- Power of the jump (the max height of the jump is represented by this plus the final Y offset)
- Total number of jumps
- The duration of the tween
- If TRUE the tween will smoothly snap all values to integers
-
-
- Tweens a Transform's localPosition to the given value, while also applying a jump effect along the Y axis.
- Returns a Sequence instead of a Tweener.
- Also stores the transform as the tween's target so it can be used for filtered operations
- The end value to reach
- Power of the jump (the max height of the jump is represented by this plus the final Y offset)
- Total number of jumps
- The duration of the tween
- If TRUE the tween will smoothly snap all values to integers
-
-
- Tweens a Transform's position through the given path waypoints, using the chosen path algorithm.
- Also stores the transform as the tween's target so it can be used for filtered operations
- The waypoints to go through
- The duration of the tween
- The type of path: Linear (straight path), CatmullRom (curved CatmullRom path) or CubicBezier (curved with control points)
- The path mode: 3D, side-scroller 2D, top-down 2D
- The resolution of the path (useless in case of Linear paths): higher resolutions make for more detailed curved paths but are more expensive.
- Defaults to 10, but a value of 5 is usually enough if you don't have dramatic long curves between waypoints
- The color of the path (shown when gizmos are active in the Play panel and the tween is running)
-
-
- Tweens a Transform's localPosition through the given path waypoints, using the chosen path algorithm.
- Also stores the transform as the tween's target so it can be used for filtered operations
- The waypoint to go through
- The duration of the tween
- The type of path: Linear (straight path), CatmullRom (curved CatmullRom path) or CubicBezier (curved with control points)
- The path mode: 3D, side-scroller 2D, top-down 2D
- The resolution of the path: higher resolutions make for more detailed curved paths but are more expensive.
- Defaults to 10, but a value of 5 is usually enough if you don't have dramatic long curves between waypoints
- The color of the path (shown when gizmos are active in the Play panel and the tween is running)
-
-
- IMPORTANT: Unless you really know what you're doing, you should use the overload that accepts a Vector3 array instead.
- Tweens a Transform's position via the given path.
- Also stores the transform as the tween's target so it can be used for filtered operations
- The path to use
- The duration of the tween
- The path mode: 3D, side-scroller 2D, top-down 2D
-
-
- IMPORTANT: Unless you really know what you're doing, you should use the overload that accepts a Vector3 array instead.
- Tweens a Transform's localPosition via the given path.
- Also stores the transform as the tween's target so it can be used for filtered operations
- The path to use
- The duration of the tween
- The path mode: 3D, side-scroller 2D, top-down 2D
-
-
- Tweens a Tween's timeScale to the given value.
- Also stores the Tween as the tween's target so it can be used for filtered operations
- The end value to reachThe duration of the tween
-
-
- Tweens a Light's color to the given value,
- in a way that allows other DOBlendableColor tweens to work together on the same target,
- instead than fight each other as multiple DOColor would do.
- Also stores the Light as the tween's target so it can be used for filtered operations
- The value to tween toThe duration of the tween
-
-
- Tweens a Material's color to the given value,
- in a way that allows other DOBlendableColor tweens to work together on the same target,
- instead than fight each other as multiple DOColor would do.
- Also stores the Material as the tween's target so it can be used for filtered operations
- The value to tween toThe duration of the tween
-
-
- Tweens a Material's named color property to the given value,
- in a way that allows other DOBlendableColor tweens to work together on the same target,
- instead than fight each other as multiple DOColor would do.
- Also stores the Material as the tween's target so it can be used for filtered operations
- The value to tween to
- The name of the material property to tween (like _Tint or _SpecColor)
- The duration of the tween
-
-
- Tweens a Material's named color property with the given ID to the given value,
- in a way that allows other DOBlendableColor tweens to work together on the same target,
- instead than fight each other as multiple DOColor would do.
- Also stores the Material as the tween's target so it can be used for filtered operations
- The value to tween to
- The ID of the material property to tween (also called nameID in Unity's manual)
- The duration of the tween
-
-
- Tweens a Transform's position BY the given value (as if you chained a SetRelative),
- in a way that allows other DOBlendableMove tweens to work together on the same target,
- instead than fight each other as multiple DOMove would do.
- Also stores the transform as the tween's target so it can be used for filtered operations
- The value to tween byThe duration of the tween
- If TRUE the tween will smoothly snap all values to integers
-
-
- Tweens a Transform's localPosition BY the given value (as if you chained a SetRelative),
- in a way that allows other DOBlendableMove tweens to work together on the same target,
- instead than fight each other as multiple DOMove would do.
- Also stores the transform as the tween's target so it can be used for filtered operations
- The value to tween byThe duration of the tween
- If TRUE the tween will smoothly snap all values to integers
-
-
- EXPERIMENTAL METHOD - Tweens a Transform's rotation BY the given value (as if you chained a SetRelative),
- in a way that allows other DOBlendableRotate tweens to work together on the same target,
- instead than fight each other as multiple DORotate would do.
- Also stores the transform as the tween's target so it can be used for filtered operations
- The value to tween byThe duration of the tween
- Rotation mode
-
-
- EXPERIMENTAL METHOD - Tweens a Transform's lcoalRotation BY the given value (as if you chained a SetRelative),
- in a way that allows other DOBlendableRotate tweens to work together on the same target,
- instead than fight each other as multiple DORotate would do.
- Also stores the transform as the tween's target so it can be used for filtered operations
- The value to tween byThe duration of the tween
- Rotation mode
-
-
- Punches a Transform's localRotation BY the given value and then back to the starting one
- as if it was connected to the starting rotation via an elastic. Does it in a way that allows other
- DOBlendableRotate tweens to work together on the same target
- The punch strength (added to the Transform's current rotation)
- The duration of the tween
- Indicates how much will the punch vibrate
- Represents how much (0 to 1) the vector will go beyond the starting rotation when bouncing backwards.
- 1 creates a full oscillation between the punch rotation and the opposite rotation,
- while 0 oscillates only between the punch and the start rotation
-
-
- Tweens a Transform's localScale BY the given value (as if you chained a SetRelative),
- in a way that allows other DOBlendableScale tweens to work together on the same target,
- instead than fight each other as multiple DOScale would do.
- Also stores the transform as the tween's target so it can be used for filtered operations
- The value to tween byThe duration of the tween
-
-
-
- Completes all tweens that have this target as a reference
- (meaning tweens that were started from this target, or that had this target added as an Id)
- and returns the total number of tweens completed
- (meaning the tweens that don't have infinite loops and were not already complete)
-
- For Sequences only: if TRUE also internal Sequence callbacks will be fired,
- otherwise they will be ignored
-
-
-
- Completes all tweens that have this target as a reference
- (meaning tweens that were started from this target, or that had this target added as an Id)
- and returns the total number of tweens completed
- (meaning the tweens that don't have infinite loops and were not already complete)
-
- For Sequences only: if TRUE also internal Sequence callbacks will be fired,
- otherwise they will be ignored
-
-
-
- Kills all tweens that have this target as a reference
- (meaning tweens that were started from this target, or that had this target added as an Id)
- and returns the total number of tweens killed.
-
- If TRUE completes the tween before killing it
-
-
-
- Kills all tweens that have this target as a reference
- (meaning tweens that were started from this target, or that had this target added as an Id)
- and returns the total number of tweens killed.
-
- If TRUE completes the tween before killing it
-
-
-
- Flips the direction (backwards if it was going forward or viceversa) of all tweens that have this target as a reference
- (meaning tweens that were started from this target, or that had this target added as an Id)
- and returns the total number of tweens flipped.
-
-
-
-
- Flips the direction (backwards if it was going forward or viceversa) of all tweens that have this target as a reference
- (meaning tweens that were started from this target, or that had this target added as an Id)
- and returns the total number of tweens flipped.
-
-
-
-
- Sends to the given position all tweens that have this target as a reference
- (meaning tweens that were started from this target, or that had this target added as an Id)
- and returns the total number of tweens involved.
-
- Time position to reach
- (if higher than the whole tween duration the tween will simply reach its end)
- If TRUE will play the tween after reaching the given position, otherwise it will pause it
-
-
-
- Sends to the given position all tweens that have this target as a reference
- (meaning tweens that were started from this target, or that had this target added as an Id)
- and returns the total number of tweens involved.
-
- Time position to reach
- (if higher than the whole tween duration the tween will simply reach its end)
- If TRUE will play the tween after reaching the given position, otherwise it will pause it
-
-
-
- Pauses all tweens that have this target as a reference
- (meaning tweens that were started from this target, or that had this target added as an Id)
- and returns the total number of tweens paused.
-
-
-
-
- Pauses all tweens that have this target as a reference
- (meaning tweens that were started from this target, or that had this target added as an Id)
- and returns the total number of tweens paused.
-
-
-
-
- Plays all tweens that have this target as a reference
- (meaning tweens that were started from this target, or that had this target added as an Id)
- and returns the total number of tweens played.
-
-
-
-
- Plays all tweens that have this target as a reference
- (meaning tweens that were started from this target, or that had this target added as an Id)
- and returns the total number of tweens played.
-
-
-
-
- Plays backwards all tweens that have this target as a reference
- (meaning tweens that were started from this target, or that had this target added as an Id)
- and returns the total number of tweens played.
-
-
-
-
- Plays backwards all tweens that have this target as a reference
- (meaning tweens that were started from this target, or that had this target added as an Id)
- and returns the total number of tweens played.
-
-
-
-
- Plays forward all tweens that have this target as a reference
- (meaning tweens that were started from this target, or that had this target added as an Id)
- and returns the total number of tweens played.
-
-
-
-
- Plays forward all tweens that have this target as a reference
- (meaning tweens that were started from this target, or that had this target added as an Id)
- and returns the total number of tweens played.
-
-
-
-
- Restarts all tweens that have this target as a reference
- (meaning tweens that were started from this target, or that had this target added as an Id)
- and returns the total number of tweens restarted.
-
-
-
-
- Restarts all tweens that have this target as a reference
- (meaning tweens that were started from this target, or that had this target added as an Id)
- and returns the total number of tweens restarted.
-
-
-
-
- Rewinds all tweens that have this target as a reference
- (meaning tweens that were started from this target, or that had this target added as an Id)
- and returns the total number of tweens rewinded.
-
-
-
-
- Rewinds all tweens that have this target as a reference
- (meaning tweens that were started from this target, or that had this target added as an Id)
- and returns the total number of tweens rewinded.
-
-
-
-
- Smoothly rewinds all tweens that have this target as a reference
- (meaning tweens that were started from this target, or that had this target added as an Id)
- and returns the total number of tweens rewinded.
-
-
-
-
- Smoothly rewinds all tweens that have this target as a reference
- (meaning tweens that were started from this target, or that had this target added as an Id)
- and returns the total number of tweens rewinded.
-
-
-
-
- Toggles the paused state (plays if it was paused, pauses if it was playing) of all tweens that have this target as a reference
- (meaning tweens that were started from this target, or that had this target added as an Id)
- and returns the total number of tweens involved.
-
-
-
-
- Toggles the paused state (plays if it was paused, pauses if it was playing) of all tweens that have this target as a reference
- (meaning tweens that were started from this target, or that had this target added as an Id)
- and returns the total number of tweens involved.
-
-
-
-
- This class serves only as a utility class to store tween settings to apply on multiple tweens.
- It is in no way needed otherwise, since you can directly apply tween settings to a tween via chaining
-
-
-
- A variable you can eventually Clear and reuse when needed,
- to avoid instantiating TweenParams objects
-
-
- Creates a new TweenParams object, which you can use to store tween settings
- to pass to multiple tweens via myTween.SetAs(myTweenParms)
-
-
- Clears and resets this TweenParams instance using default values,
- so it can be reused without instantiating another one
-
-
- Sets the autoKill behaviour of the tween.
- Has no effect if the tween has already started
- If TRUE the tween will be automatically killed when complete
-
-
- Sets an ID for the tween, which can then be used as a filter with DOTween's static methods.
- The ID to assign to this tween. Can be an int, a string, an object or anything else.
-
-
- Sets an ID for the tween, which can then be used as a filter with DOTween's static methods.
- The ID to assign to this tween. Can be an int, a string, an object or anything else.
-
-
- Sets an ID for the tween, which can then be used as a filter with DOTween's static methods.
- The ID to assign to this tween. Can be an int, a string, an object or anything else.
-
-
- Sets the target for the tween, which can then be used as a filter with DOTween's static methods.
- IMPORTANT: use it with caution. If you just want to set an ID for the tween use SetId instead.
- When using shorcuts the shortcut target is already assigned as the tween's target,
- so using this method will overwrite it and prevent shortcut-operations like myTarget.DOPause from working correctly.
- The target to assign to this tween. Can be an int, a string, an object or anything else.
-
-
- Sets the looping options for the tween.
- Has no effect if the tween has already started
- Number of cycles to play (-1 for infinite - will be converted to 1 in case the tween is nested in a Sequence)
- Loop behaviour type (default: LoopType.Restart)
-
-
- Sets the ease of the tween.
- If applied to Sequences eases the whole sequence animation
- Eventual overshoot or amplitude to use with Back or Elastic easeType (default is 1.70158)
- Eventual period to use with Elastic easeType (default is 0)
-
-
- Sets the ease of the tween using an AnimationCurve.
- If applied to Sequences eases the whole sequence animation
-
-
- Sets the ease of the tween using a custom ease function.
- If applied to Sequences eases the whole sequence animation
-
-
- Sets the recycling behaviour for the tween.
- If TRUE the tween will be recycled after being killed, otherwise it will be destroyed.
-
-
- Sets the update type to the one defined in DOTween.defaultUpdateType (UpdateType.Normal unless changed)
- and lets you choose if it should be independent from Unity's Time.timeScale
- If TRUE the tween will ignore Unity's Time.timeScale
-
-
- Sets the type of update (default or independent) for the tween
- The type of update (default: UpdateType.Normal)
- If TRUE the tween will ignore Unity's Time.timeScale
-
-
- Sets the onStart callback for the tween.
- Called the first time the tween is set in a playing state, after any eventual delay
-
-
- Sets the onPlay callback for the tween.
- Called when the tween is set in a playing state, after any eventual delay.
- Also called each time the tween resumes playing from a paused state
-
-
- Sets the onRewind callback for the tween.
- Called when the tween is rewinded,
- either by calling Rewind or by reaching the start position while playing backwards.
- Rewinding a tween that is already rewinded will not fire this callback
-
-
- Sets the onUpdate callback for the tween.
- Called each time the tween updates
-
-
- Sets the onStepComplete callback for the tween.
- Called the moment the tween completes one loop cycle, even when going backwards
-
-
- Sets the onComplete callback for the tween.
- Called the moment the tween reaches its final forward position, loops included
-
-
- Sets the onKill callback for the tween.
- Called the moment the tween is killed
-
-
- Sets the onWaypointChange callback for the tween.
- Called when a path tween reaches a new waypoint
-
-
- Sets a delayed startup for the tween.
- Has no effect on Sequences or if the tween has already started
-
-
- If isRelative is TRUE sets the tween as relative
- (the endValue will be calculated as startValue + endValue instead than being used directly).
- Has no effect on Sequences or if the tween has already started
-
-
- If isSpeedBased is TRUE sets the tween as speed based
- (the duration will represent the number of units the tween moves x second).
- Has no effect on Sequences, nested tweens, or if the tween has already started
-
-
-
- Methods that extend Tween objects and allow to set their parameters
-
-
-
- Sets the autoKill behaviour of the tween to TRUE.
- Has no effect if the tween has already started or if it's added to a Sequence
-
-
- Sets the autoKill behaviour of the tween.
- Has no effect if the tween has already started or if it's added to a Sequence
- If TRUE the tween will be automatically killed when complete
-
-
- Sets an ID for the tween (), which can then be used as a filter with DOTween's static methods.
- The ID to assign to this tween. Can be an int, a string, an object or anything else.
-
-
- Sets a string ID for the tween (), which can then be used as a filter with DOTween's static methods.
- Filtering via string is 2X faster than using an object as an ID (using the alternate obejct overload)
- The string ID to assign to this tween.
-
-
- Sets an int ID for the tween (), which can then be used as a filter with DOTween's static methods.
- Filtering via int is 4X faster than via object, 2X faster than via string (using the alternate object/string overloads)
- The int ID to assign to this tween.
-
-
- Allows to link this tween to a GameObject
- so that it will be automatically killed when the GameObject is destroyed.
- Has no effect if the tween is added to a Sequence
- The link target (unrelated to the target set via SetTarget)
-
-
- Allows to link this tween to a GameObject and assign a behaviour depending on it.
- This will also automatically kill the tween when the GameObject is destroyed.
- Has no effect if the tween is added to a Sequence
- The link target (unrelated to the target set via SetTarget)
- The behaviour to use ( is always evaluated even if you choose another one)
-
-
- Sets the target for the tween, which can then be used as a filter with DOTween's static methods.
- IMPORTANT: use it with caution. If you just want to set an ID for the tween use SetId instead.
- When using shorcuts the shortcut target is already assigned as the tween's target,
- so using this method will overwrite it and prevent shortcut-operations like myTarget.DOPause from working correctly.
- The target to assign to this tween. Can be an int, a string, an object or anything else.
-
-
- Sets the looping options for the tween.
- Has no effect if the tween has already started
- Number of cycles to play (-1 for infinite - will be converted to 1 in case the tween is nested in a Sequence)
-
-
- Sets the looping options for the tween.
- Has no effect if the tween has already started
- Number of cycles to play (-1 for infinite - will be converted to 1 in case the tween is nested in a Sequence)
- Loop behaviour type (default: LoopType.Restart)
-
-
- Sets the ease of the tween.
- If applied to Sequences eases the whole sequence animation
-
-
- Sets the ease of the tween.
- If applied to Sequences eases the whole sequence animation
-
- Eventual overshoot to use with Back or Flash ease (default is 1.70158 - 1 for Flash).
- In case of Flash ease it must be an intenger and sets the total number of flashes that will happen.
- Using an even number will complete the tween on the starting value, while an odd one will complete it on the end value.
-
-
-
- Sets the ease of the tween.
- If applied to Sequences eases the whole sequence animation
- Eventual amplitude to use with Elastic easeType or overshoot to use with Flash easeType (default is 1.70158 - 1 for Flash).
- In case of Flash ease it must be an integer and sets the total number of flashes that will happen.
- Using an even number will complete the tween on the starting value, while an odd one will complete it on the end value.
-
- Eventual period to use with Elastic or Flash easeType (default is 0).
- In case of Flash ease it indicates the power in time of the ease, and must be between -1 and 1.
- 0 is balanced, 1 weakens the ease with time, -1 starts the ease weakened and gives it power towards the end.
-
-
-
- Sets the ease of the tween using an AnimationCurve.
- If applied to Sequences eases the whole sequence animation
-
-
- Sets the ease of the tween using a custom ease function (which must return a value between 0 and 1).
- If applied to Sequences eases the whole sequence animation
-
-
- Allows the tween to be recycled after being killed.
-
-
- Sets the recycling behaviour for the tween.
- If TRUE the tween will be recycled after being killed, otherwise it will be destroyed.
-
-
- Sets the update type to UpdateType.Normal and lets you choose if it should be independent from Unity's Time.timeScale
- If TRUE the tween will ignore Unity's Time.timeScale
-
-
- Sets the type of update for the tween
- The type of update (defalt: UpdateType.Normal)
-
-
- Sets the type of update for the tween and lets you choose if it should be independent from Unity's Time.timeScale
- The type of update
- If TRUE the tween will ignore Unity's Time.timeScale
-
-
- EXPERIMENTAL: inverts this tween, so that it will play from the end to the beginning
- (playing it backwards will actually play it from the beginning to the end).
- Has no effect if the tween has already started or if it's added to a Sequence
-
-
- EXPERIMENTAL: inverts this tween, so that it will play from the end to the beginning
- (playing it backwards will actually play it from the beginning to the end).
- Has no effect if the tween has already started or if it's added to a Sequence
- If TRUE the tween will be inverted, otherwise it won't
-
-
- Sets the onStart callback for the tween, clearing any previous onStart callback that was set.
- Called the first time the tween is set in a playing state, after any eventual delay
-
-
- Sets the onPlay callback for the tween, clearing any previous onPlay callback that was set.
- Called when the tween is set in a playing state, after any eventual delay.
- Also called each time the tween resumes playing from a paused state
-
-
- Sets the onPause callback for the tween, clearing any previous onPause callback that was set.
- Called when the tween state changes from playing to paused.
- If the tween has autoKill set to FALSE, this is called also when the tween reaches completion.
-
-
- Sets the onRewind callback for the tween, clearing any previous onRewind callback that was set.
- Called when the tween is rewinded,
- either by calling Rewind or by reaching the start position while playing backwards.
- Rewinding a tween that is already rewinded will not fire this callback
-
-
- Sets the onUpdate callback for the tween, clearing any previous onUpdate callback that was set.
- Called each time the tween updates
-
-
- Sets the onStepComplete callback for the tween, clearing any previous onStepComplete callback that was set.
- Called the moment the tween completes one loop cycle, even when going backwards
-
-
- Sets the onComplete callback for the tween, clearing any previous onComplete callback that was set.
- Called the moment the tween reaches its final forward position, loops included
-
-
- Sets the onKill callback for the tween, clearing any previous onKill callback that was set.
- Called the moment the tween is killed
-
-
- Sets the onWaypointChange callback for the tween, clearing any previous onWaypointChange callback that was set.
- Called when a path tween's current waypoint changes
-
-
- Sets the parameters of the tween (id, ease, loops, delay, timeScale, callbacks, etc) as the parameters of the given one.
- Doesn't copy specific SetOptions settings: those will need to be applied manually each time.
- Has no effect if the tween has already started.
- NOTE: the tween's target will not be changed
- Tween from which to copy the parameters
-
-
- Sets the parameters of the tween (id, ease, loops, delay, timeScale, callbacks, etc) as the parameters of the given TweenParams.
- Has no effect if the tween has already started.
- TweenParams from which to copy the parameters
-
-
- Adds the given tween to the end of the Sequence.
- Has no effect if the Sequence has already started
- The tween to append
-
-
- Adds the given tween to the beginning of the Sequence, pushing forward the other nested content.
- Has no effect if the Sequence has already started
- The tween to prepend
-
-
- Inserts the given tween at the same time position of the last tween, callback or interval added to the Sequence.
- Note that, in case of a Join after an interval, the insertion time will be the time where the interval starts, not where it finishes.
- Has no effect if the Sequence has already started
-
-
- Inserts the given tween at the given time position in the Sequence,
- automatically adding an interval if needed.
- Has no effect if the Sequence has already started
- The time position where the tween will be placed
- The tween to insert
-
-
- Adds the given interval to the end of the Sequence.
- Has no effect if the Sequence has already started
- The interval duration
-
-
- Adds the given interval to the beginning of the Sequence, pushing forward the other nested content.
- Has no effect if the Sequence has already started
- The interval duration
-
-
- Adds the given callback to the end of the Sequence.
- Has no effect if the Sequence has already started
- The callback to append
-
-
- Adds the given callback to the beginning of the Sequence, pushing forward the other nested content.
- Has no effect if the Sequence has already started
- The callback to prepend
-
-
- Inserts the given callback at the same time position of the last tween, callback or interval added to the Sequence.
- Note that, in case of a Join after an interval, the insertion time will be the time where the interval starts, not where it finishes.
- Has no effect if the Sequence has already started
- /// <param name="callback">The callback to prepend</param>
-
-
- Inserts the given callback at the given time position in the Sequence,
- automatically adding an interval if needed.
- Has no effect if the Sequence has already started
- The time position where the callback will be placed
- The callback to insert
-
-
- Changes a TO tween into a FROM tween: sets the current target's position as the tween's endValue
- then immediately sends the target to the previously set endValue.
-
-
- Changes a TO tween into a FROM tween: sets the current target's position as the tween's endValue
- then immediately sends the target to the previously set endValue.
- If TRUE the FROM value will be calculated as relative to the current one
-
-
- Changes a TO tween into a FROM tween: sets the current value of the target as the endValue,
- and the previously passed endValue as the actual startValue.
- If TRUE sets the target to from value immediately, otherwise waits for the tween to start
- If TRUE the FROM value will be calculated as relative to the current one
-
-
- Changes a TO tween into a FROM tween: sets the tween's starting value to the given one
- and eventually sets the tween's target to that value immediately.
- Value to start from
- If TRUE sets the target to from value immediately, otherwise waits for the tween to start
- If TRUE the FROM/TO values will be calculated as relative to the current ones
-
-
- Changes a TO tween into a FROM tween: sets the tween's starting value to the given one
- and eventually sets the tween's target to that value immediately.
- Alpha value to start from (in case of Fade tweens)
- If TRUE sets the target to from value immediately, otherwise waits for the tween to start
- If TRUE the FROM/TO values will be calculated as relative to the current ones
-
-
- Changes a TO tween into a FROM tween: sets the tween's starting value to the given one
- and eventually sets the tween's target to that value immediately.
- Value to start from (in case of Vector tweens that act on a single coordinate or scale tweens)
- If TRUE sets the target to from value immediately, otherwise waits for the tween to start
- If TRUE the FROM/TO values will be calculated as relative to the current ones
-
-
- Changes a TO tween into a FROM tween: sets the tween's starting value to the given one
- and eventually sets the tween's target to that value immediately.
- Value to start from (in case of Vector tweens that act on a single coordinate or scale tweens)
- If TRUE sets the target to from value immediately, otherwise waits for the tween to start
- If TRUE the FROM/TO values will be calculated as relative to the current ones
-
-
- Sets a delayed startup for the tween.
- In case of Sequences behaves the same as ,
- which means the delay will repeat in case of loops (while with tweens it's ignored after the first loop cycle).
- Has no effect if the tween has already started
-
-
- EXPERIMENTAL: implemented in v1.2.340.
- Sets a delayed startup for the tween with options to choose how the delay is applied in case of Sequences.
- Has no effect if the tween has already started
- Only used by types: If FALSE sets the delay as a one-time occurrence
- (defaults to this for types),
- otherwise as a Sequence interval which will repeat at the beginning of every loop cycle
-
-
- Sets the tween as relative
- (the endValue will be calculated as startValue + endValue instead than being used directly).
- Has no effect on Sequences or if the tween has already started
-
-
- If isRelative is TRUE sets the tween as relative
- (the endValue will be calculated as startValue + endValue instead than being used directly).
- Has no effect on Sequences or if the tween has already started
-
-
- If isSpeedBased is TRUE sets the tween as speed based
- (the duration will represent the number of units the tween moves x second).
- Has no effect on Sequences, nested tweens, or if the tween has already started
-
-
- If isSpeedBased is TRUE sets the tween as speed based
- (the duration will represent the number of units the tween moves x second).
- Has no effect on Sequences, nested tweens, or if the tween has already started
-
-
- 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
-
-
- Options for Vector4 tweens
- If TRUE the tween will smoothly snap all values to integers
-
-
- Options for Vector4 tweens
- If TRUE, rich text will be interpreted correctly while animated,
- otherwise all tags will be considered as normal text
- The type of scramble to use, if any
- A string containing the characters to use for scrambling.
- Use as many characters as possible (minimum 10) because DOTween uses a fast scramble mode which gives better results with more characters.
- Leave it to NULL to use default ones
-
-
- Options for Vector3Array tweens
- If TRUE the tween will smoothly snap all values to integers
-
-
- Options for Vector3Array tweens
- If TRUE the tween will smoothly snap all values to integers
-
-
- Options for ShapeCircle tweens
- If TRUE the center you set in the DOTween.To method will be considered as relative
- to the starting position of the target
- If TRUE the tween will smoothly snap all values to integers
-
-
- Options for Path tweens (created via the DOPath shortcut)
- The eventual movement axis to lock. You can input multiple axis if you separate them like this:
- AxisConstrain.X | AxisConstraint.Y
- The eventual rotation axis to lock. You can input multiple axis if you separate them like this:
- AxisConstrain.X | AxisConstraint.Y
-
-
- Options for Path tweens (created via the DOPath shortcut)
- If TRUE the path will be automatically closed
- The eventual movement axis to lock. You can input multiple axis if you separate them like this:
- AxisConstrain.X | AxisConstraint.Y
- The eventual rotation axis to lock. You can input multiple axis if you separate them like this:
- AxisConstrain.X | AxisConstraint.Y
-
-
- Additional LookAt options for Path tweens (created via the DOPath shortcut).
- Orients the target towards the given position.
- Must be chained directly to the tween creation method or to a SetOptions
- The position to look at
- The eventual direction to consider as "forward".
- If left to NULL defaults to the regular forward side of the transform
- The vector that defines in which direction up is (default: Vector3.up)
-
-
- Additional LookAt options for Path tweens (created via the DOPath shortcut).
- Orients the target towards the given position with options to keep the Z rotation stable.
- Must be chained directly to the tween creation method or to a SetOptions
- The position to look at
- If TRUE doesn't rotate the target along the Z axis
-
-
- Additional LookAt options for Path tweens (created via the DOPath shortcut).
- Orients the target towards another transform.
- Must be chained directly to the tween creation method or to a SetOptions
- The transform to look at
- The eventual direction to consider as "forward".
- If left to NULL defaults to the regular forward side of the transform
- The vector that defines in which direction up is (default: Vector3.up)
-
-
- Additional LookAt options for Path tweens (created via the DOPath shortcut).
- Orients the target towards another transform with options to keep the Z rotation stable.
- Must be chained directly to the tween creation method or to a SetOptions
- The transform to look at
- If TRUE doesn't rotate the target along the Z axis
-
-
- Additional LookAt options for Path tweens (created via the DOPath shortcut).
- Orients the target to the path, with the given lookAhead.
- Must be chained directly to the tween creation method or to a SetOptions
- The percentage of lookAhead to use (0 to 1)
- The eventual direction to consider as "forward".
- If left to NULL defaults to the regular forward side of the transform
- The vector that defines in which direction up is (default: Vector3.up)
-
-
- Additional LookAt options for Path tweens (created via the DOPath shortcut).
- Orients the path with options to keep the Z rotation stable.
- Must be chained directly to the tween creation method or to a SetOptions
- The percentage of lookAhead to use (0 to 1)
- If TRUE doesn't rotate the target along the Z axis
-
-
-
- Types of log behaviours
-
-
-
- Log only warnings and errors
-
-
- Log warnings, errors and additional infos
-
-
- Log only errors
-
-
-
- Indicates either a Tweener or a Sequence
-
-
-
- TimeScale for the tween
-
-
- If TRUE the tween will play backwards
-
-
- If TRUE the tween is completely inverted but without playing it backwards
- (play backwards will actually play the tween in the original direction)
-
-
- Object ID (usable for filtering with DOTween static methods). Can be anything except a string or an int
- (use or for those)
-
-
- String ID (usable for filtering with DOTween static methods). 2X faster than using an object id
-
-
- Int ID (usable for filtering with DOTween static methods). 4X faster than using an object id, 2X faster than using a string id.
- Default is -999 so avoid using an ID like that or it will capture all unset intIds
-
-
- Tween target (usable for filtering with DOTween static methods). Automatically set by tween creation shortcuts
-
-
- Called when the tween is set in a playing state, after any eventual delay.
- Also called each time the tween resumes playing from a paused state
-
-
- Called when the tween state changes from playing to paused.
- If the tween has autoKill set to FALSE, this is called also when the tween reaches completion.
-
-
- Called when the tween is rewinded,
- either by calling Rewind or by reaching the start position while playing backwards.
- Rewinding a tween that is already rewinded will not fire this callback
-
-
- Called each time the tween updates
-
-
- Called the moment the tween completes one loop cycle
-
-
- Called the moment the tween reaches completion (loops included)
-
-
- Called the moment the tween is killed
-
-
- Called when a path tween's current waypoint changes
-
-
- Tweeners-only (ignored by Sequences), returns TRUE if the tween was set as relative
-
-
-
- Set by SetTarget if DOTween's Debug Mode is on (see DOTween Utility Panel -> "Store GameObject's ID" debug option
-
-
-
- FALSE when tween is (or should be) despawned - set only by TweenManager
-
-
- Gets and sets the time position (loops included, delays excluded) of the tween
-
-
- Returns TRUE if the tween is set to loop (either a set number of times or infinitely)
-
-
- TRUE after the tween was set in a play state at least once, AFTER any delay is elapsed
-
-
- Time position within a single loop cycle
-
-
-
- Animates a single value
-
-
-
- Changes the start value of a tween and rewinds it (without pausing it).
- Has no effect with tweens that are inside Sequences
- The new start value
- If bigger than 0 applies it as the new tween duration
-
-
- Changes the end value of a tween and rewinds it (without pausing it).
- Has no effect with tweens that are inside Sequences
- The new end value
- If bigger than 0 applies it as the new tween duration
- If TRUE the start value will become the current target's value, otherwise it will stay the same
-
-
- Changes the end value of a tween and rewinds it (without pausing it).
- Has no effect with tweens that are inside Sequences
- The new end value
- If TRUE the start value will become the current target's value, otherwise it will stay the same
-
-
- Changes the start and end value of a tween and rewinds it (without pausing it).
- Has no effect with tweens that are inside Sequences
- The new start value
- The new end value
- If bigger than 0 applies it as the new tween duration
-
-
-
- Used internally
-
-
-
-
- Update type
-
-
-
- Updates every frame during Update calls
-
-
- Updates every frame during LateUpdate calls
-
-
- Updates using FixedUpdate calls
-
-
- Updates using manual update calls
-
-
-
diff --git a/Assets/DOTween/DOTween.XML.meta b/Assets/DOTween/DOTween.XML.meta
deleted file mode 100644
index 814057e..0000000
--- a/Assets/DOTween/DOTween.XML.meta
+++ /dev/null
@@ -1,7 +0,0 @@
-fileFormatVersion: 2
-guid: 619a29c7459169344b7a685b0b9ada64
-TextScriptImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/DOTween/DOTween.dll b/Assets/DOTween/DOTween.dll
deleted file mode 100644
index 73235fc..0000000
Binary files a/Assets/DOTween/DOTween.dll and /dev/null differ
diff --git a/Assets/DOTween/DOTween.dll.meta b/Assets/DOTween/DOTween.dll.meta
deleted file mode 100644
index 7743937..0000000
--- a/Assets/DOTween/DOTween.dll.meta
+++ /dev/null
@@ -1,2 +0,0 @@
-fileFormatVersion: 2
-guid: b1830ce43b03605458c19d07b1aacb50
\ No newline at end of file
diff --git a/Assets/DOTween/Editor/DOTweenEditor.XML b/Assets/DOTween/Editor/DOTweenEditor.XML
deleted file mode 100644
index 690bfc4..0000000
--- a/Assets/DOTween/Editor/DOTweenEditor.XML
+++ /dev/null
@@ -1,144 +0,0 @@
-
-
-
- DOTweenEditor
-
-
-
-
- Contains compatibility methods taken from DemiEditor (for when DOTween is without it)
-
-
-
-
- Warning: some versions of this method don't have the includeInactive parameter so it won't be taken into account
-
-
-
-
- Warning: some versions of this method don't have the includeInactive parameter so it won't be taken into account
-
-
-
-
- Warning: some versions of this method don't have the includeInactive parameter so it won't be taken into account
-
-
-
-
- Warning: some versions of this method don't have the includeInactive parameter so it won't be taken into account
-
-
-
-
- Starts the update loop of tween in the editor. Has no effect during playMode.
-
- Eventual callback to call after every update
-
-
-
- Stops the update loop and clears the onPreviewUpdated callback.
-
- If TRUE also resets the tweened objects to their original state.
- Note that this works by calling Rewind on all tweens, so it will work correctly
- only if you have a single tween type per object and it wasn't killed
- If TRUE also kills any cached tween
-
-
-
- Readies the tween for editor preview by setting its UpdateType to Manual plus eventual extra settings.
-
- The tween to ready
- If TRUE (recommended) removes all callbacks (OnComplete/Rewind/etc)
- If TRUE prevents the tween from being auto-killed at completion
- If TRUE starts playing the tween immediately
-
-
- Full major version + first minor version (ex: 2018.1f)
-
-
- Major version
-
-
- First minor version (ex: in 2018.1 it would be 1)
-
-
-
- Checks that the given editor texture use the correct import settings,
- and applies them if they're incorrect.
-
-
-
-
- Returns TRUE if setup is required
-
-
-
-
- Returns TRUE if the file/directory at the given path exists.
-
- Path, relative to Unity's project folder
-
-
-
-
- Converts the given project-relative path to a full path,
- with backward (\) slashes).
-
-
-
-
- Converts the given full path to a path usable with AssetDatabase methods
- (relative to Unity's project folder, and with the correct Unity forward (/) slashes).
-
-
-
-
- Connects to a asset.
- If the asset already exists at the given path, loads it and returns it.
- Otherwise, either returns NULL or automatically creates it before loading and returning it
- (depending on the given parameters).
-
- Asset type
- File path (relative to Unity's project folder)
- If TRUE and the requested asset doesn't exist, forces its creation
-
-
-
- Full path for the given loaded assembly, assembly file included
-
-
-
-
- Adds the given global define if it's not already present
-
-
-
-
- Removes the given global define if it's present
-
-
-
-
- Returns TRUE if the given global define is present in all the
- or only in the given , depending on passed parameters.
-
-
- to use. Leave NULL to check in all of them.
-
-
-
- Not used as menu item anymore, but as a utility function
-
-
-
- Full major version + first minor version (ex: 2018.1f)
-
-
- Major version
-
-
- First minor version (ex: in 2018.1 it would be 1)
-
-
-
diff --git a/Assets/DOTween/Editor/DOTweenEditor.XML.meta b/Assets/DOTween/Editor/DOTweenEditor.XML.meta
deleted file mode 100644
index 2bf527a..0000000
--- a/Assets/DOTween/Editor/DOTweenEditor.XML.meta
+++ /dev/null
@@ -1,7 +0,0 @@
-fileFormatVersion: 2
-guid: 349bac8e4773b584b822ab83d3f94fef
-TextScriptImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/DOTween/Editor/DOTweenEditor.dll b/Assets/DOTween/Editor/DOTweenEditor.dll
deleted file mode 100644
index c2d87f9..0000000
Binary files a/Assets/DOTween/Editor/DOTweenEditor.dll and /dev/null differ
diff --git a/Assets/DOTween/Editor/DOTweenEditor.dll.meta b/Assets/DOTween/Editor/DOTweenEditor.dll.meta
deleted file mode 100644
index 965e01f..0000000
--- a/Assets/DOTween/Editor/DOTweenEditor.dll.meta
+++ /dev/null
@@ -1,2 +0,0 @@
-fileFormatVersion: 2
-guid: 59bd38d8dc734194ba1f04ea39b85aac
\ No newline at end of file
diff --git a/Assets/DOTween/Editor/Imgs/DOTweenIcon.png b/Assets/DOTween/Editor/Imgs/DOTweenIcon.png
deleted file mode 100644
index d06fc7c..0000000
Binary files a/Assets/DOTween/Editor/Imgs/DOTweenIcon.png and /dev/null differ
diff --git a/Assets/DOTween/Editor/Imgs/DOTweenIcon.png.meta b/Assets/DOTween/Editor/Imgs/DOTweenIcon.png.meta
deleted file mode 100644
index 1d34582..0000000
--- a/Assets/DOTween/Editor/Imgs/DOTweenIcon.png.meta
+++ /dev/null
@@ -1,130 +0,0 @@
-fileFormatVersion: 2
-guid: 6b91addab459f7545ba3dcb7ca8ad792
-TextureImporter:
- internalIDToNameTable: []
- externalObjects: {}
- serializedVersion: 13
- mipmaps:
- mipMapMode: 0
- enableMipMap: 1
- sRGBTexture: 1
- linearTexture: 0
- fadeOut: 0
- borderMipMap: 0
- mipMapsPreserveCoverage: 0
- alphaTestReferenceValue: 0.5
- mipMapFadeDistanceStart: 1
- mipMapFadeDistanceEnd: 3
- bumpmap:
- convertToNormalMap: 0
- externalNormalMap: 0
- heightScale: 0.25
- normalMapFilter: 0
- flipGreenChannel: 0
- isReadable: 0
- streamingMipmaps: 0
- streamingMipmapsPriority: 0
- vTOnly: 0
- ignoreMipmapLimit: 0
- grayScaleToAlpha: 0
- generateCubemap: 6
- cubemapConvolution: 0
- seamlessCubemap: 0
- textureFormat: 1
- maxTextureSize: 2048
- textureSettings:
- serializedVersion: 2
- filterMode: 1
- aniso: 1
- mipBias: 0
- wrapU: 0
- wrapV: 0
- wrapW: 0
- nPOTScale: 1
- lightmap: 0
- compressionQuality: 50
- spriteMode: 0
- spriteExtrude: 1
- spriteMeshType: 1
- alignment: 0
- spritePivot: {x: 0.5, y: 0.5}
- spritePixelsToUnits: 100
- spriteBorder: {x: 0, y: 0, z: 0, w: 0}
- spriteGenerateFallbackPhysicsShape: 1
- alphaUsage: 1
- alphaIsTransparency: 0
- spriteTessellationDetail: -1
- textureType: 0
- textureShape: 1
- singleChannelComponent: 0
- flipbookRows: 1
- flipbookColumns: 1
- maxTextureSizeSet: 0
- compressionQualitySet: 0
- textureFormatSet: 0
- ignorePngGamma: 0
- applyGammaDecoding: 0
- swizzle: 50462976
- cookieLightType: 0
- platformSettings:
- - serializedVersion: 4
- buildTarget: DefaultTexturePlatform
- maxTextureSize: 2048
- resizeAlgorithm: 0
- textureFormat: -1
- textureCompression: 1
- compressionQuality: 50
- crunchedCompression: 0
- allowsAlphaSplitting: 0
- overridden: 0
- ignorePlatformSupport: 0
- androidETC2FallbackOverride: 0
- forceMaximumCompressionQuality_BC6H_BC7: 0
- - serializedVersion: 4
- buildTarget: Standalone
- maxTextureSize: 2048
- resizeAlgorithm: 0
- textureFormat: -1
- textureCompression: 1
- compressionQuality: 50
- crunchedCompression: 0
- allowsAlphaSplitting: 0
- overridden: 0
- ignorePlatformSupport: 0
- androidETC2FallbackOverride: 0
- forceMaximumCompressionQuality_BC6H_BC7: 0
- - serializedVersion: 4
- buildTarget: Android
- maxTextureSize: 2048
- resizeAlgorithm: 0
- textureFormat: -1
- textureCompression: 1
- compressionQuality: 50
- crunchedCompression: 0
- allowsAlphaSplitting: 0
- overridden: 0
- ignorePlatformSupport: 0
- androidETC2FallbackOverride: 0
- forceMaximumCompressionQuality_BC6H_BC7: 0
- spriteSheet:
- serializedVersion: 2
- sprites: []
- outline: []
- customData:
- physicsShape: []
- bones: []
- spriteID:
- internalID: 0
- vertices: []
- indices:
- edges: []
- weights: []
- secondaryTextures: []
- spriteCustomMetadata:
- entries: []
- nameFileIdTable: {}
- mipmapLimitGroupName:
- pSDRemoveMatte: 0
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/DOTween/Editor/Imgs/DOTweenMiniIcon.png b/Assets/DOTween/Editor/Imgs/DOTweenMiniIcon.png
deleted file mode 100644
index 7cd74c1..0000000
Binary files a/Assets/DOTween/Editor/Imgs/DOTweenMiniIcon.png and /dev/null differ
diff --git a/Assets/DOTween/Editor/Imgs/DOTweenMiniIcon.png.meta b/Assets/DOTween/Editor/Imgs/DOTweenMiniIcon.png.meta
deleted file mode 100644
index 920b453..0000000
--- a/Assets/DOTween/Editor/Imgs/DOTweenMiniIcon.png.meta
+++ /dev/null
@@ -1,130 +0,0 @@
-fileFormatVersion: 2
-guid: 0e5e0a6c3ba204c45903041a4f43808f
-TextureImporter:
- internalIDToNameTable: []
- externalObjects: {}
- serializedVersion: 13
- mipmaps:
- mipMapMode: 0
- enableMipMap: 1
- sRGBTexture: 1
- linearTexture: 0
- fadeOut: 0
- borderMipMap: 0
- mipMapsPreserveCoverage: 0
- alphaTestReferenceValue: 0.5
- mipMapFadeDistanceStart: 1
- mipMapFadeDistanceEnd: 3
- bumpmap:
- convertToNormalMap: 0
- externalNormalMap: 0
- heightScale: 0.25
- normalMapFilter: 0
- flipGreenChannel: 0
- isReadable: 0
- streamingMipmaps: 0
- streamingMipmapsPriority: 0
- vTOnly: 0
- ignoreMipmapLimit: 0
- grayScaleToAlpha: 0
- generateCubemap: 6
- cubemapConvolution: 0
- seamlessCubemap: 0
- textureFormat: 1
- maxTextureSize: 2048
- textureSettings:
- serializedVersion: 2
- filterMode: 1
- aniso: 1
- mipBias: 0
- wrapU: 0
- wrapV: 0
- wrapW: 0
- nPOTScale: 1
- lightmap: 0
- compressionQuality: 50
- spriteMode: 0
- spriteExtrude: 1
- spriteMeshType: 1
- alignment: 0
- spritePivot: {x: 0.5, y: 0.5}
- spritePixelsToUnits: 100
- spriteBorder: {x: 0, y: 0, z: 0, w: 0}
- spriteGenerateFallbackPhysicsShape: 1
- alphaUsage: 1
- alphaIsTransparency: 0
- spriteTessellationDetail: -1
- textureType: 0
- textureShape: 1
- singleChannelComponent: 0
- flipbookRows: 1
- flipbookColumns: 1
- maxTextureSizeSet: 0
- compressionQualitySet: 0
- textureFormatSet: 0
- ignorePngGamma: 0
- applyGammaDecoding: 0
- swizzle: 50462976
- cookieLightType: 0
- platformSettings:
- - serializedVersion: 4
- buildTarget: DefaultTexturePlatform
- maxTextureSize: 2048
- resizeAlgorithm: 0
- textureFormat: -1
- textureCompression: 1
- compressionQuality: 50
- crunchedCompression: 0
- allowsAlphaSplitting: 0
- overridden: 0
- ignorePlatformSupport: 0
- androidETC2FallbackOverride: 0
- forceMaximumCompressionQuality_BC6H_BC7: 0
- - serializedVersion: 4
- buildTarget: Standalone
- maxTextureSize: 2048
- resizeAlgorithm: 0
- textureFormat: -1
- textureCompression: 1
- compressionQuality: 50
- crunchedCompression: 0
- allowsAlphaSplitting: 0
- overridden: 0
- ignorePlatformSupport: 0
- androidETC2FallbackOverride: 0
- forceMaximumCompressionQuality_BC6H_BC7: 0
- - serializedVersion: 4
- buildTarget: Android
- maxTextureSize: 2048
- resizeAlgorithm: 0
- textureFormat: -1
- textureCompression: 1
- compressionQuality: 50
- crunchedCompression: 0
- allowsAlphaSplitting: 0
- overridden: 0
- ignorePlatformSupport: 0
- androidETC2FallbackOverride: 0
- forceMaximumCompressionQuality_BC6H_BC7: 0
- spriteSheet:
- serializedVersion: 2
- sprites: []
- outline: []
- customData:
- physicsShape: []
- bones: []
- spriteID:
- internalID: 0
- vertices: []
- indices:
- edges: []
- weights: []
- secondaryTextures: []
- spriteCustomMetadata:
- entries: []
- nameFileIdTable: {}
- mipmapLimitGroupName:
- pSDRemoveMatte: 0
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/DOTween/Editor/Imgs/Footer.png b/Assets/DOTween/Editor/Imgs/Footer.png
deleted file mode 100644
index e29d02f..0000000
Binary files a/Assets/DOTween/Editor/Imgs/Footer.png and /dev/null differ
diff --git a/Assets/DOTween/Editor/Imgs/Footer.png.meta b/Assets/DOTween/Editor/Imgs/Footer.png.meta
deleted file mode 100644
index 4eb3ac6..0000000
--- a/Assets/DOTween/Editor/Imgs/Footer.png.meta
+++ /dev/null
@@ -1,130 +0,0 @@
-fileFormatVersion: 2
-guid: b675ca42bf0d83042b8553477e6b20b4
-TextureImporter:
- internalIDToNameTable: []
- externalObjects: {}
- serializedVersion: 13
- mipmaps:
- mipMapMode: 0
- enableMipMap: 0
- sRGBTexture: 1
- linearTexture: 0
- fadeOut: 0
- borderMipMap: 0
- mipMapsPreserveCoverage: 0
- alphaTestReferenceValue: 0.5
- mipMapFadeDistanceStart: 1
- mipMapFadeDistanceEnd: 3
- bumpmap:
- convertToNormalMap: 0
- externalNormalMap: 0
- heightScale: 0.25
- normalMapFilter: 0
- flipGreenChannel: 0
- isReadable: 0
- streamingMipmaps: 0
- streamingMipmapsPriority: 0
- vTOnly: 0
- ignoreMipmapLimit: 0
- grayScaleToAlpha: 0
- generateCubemap: 6
- cubemapConvolution: 0
- seamlessCubemap: 0
- textureFormat: 1
- maxTextureSize: 2048
- textureSettings:
- serializedVersion: 2
- filterMode: 1
- aniso: 1
- mipBias: 0
- wrapU: 1
- wrapV: 1
- wrapW: 1
- nPOTScale: 0
- lightmap: 0
- compressionQuality: 50
- spriteMode: 0
- spriteExtrude: 1
- spriteMeshType: 1
- alignment: 0
- spritePivot: {x: 0.5, y: 0.5}
- spritePixelsToUnits: 100
- spriteBorder: {x: 0, y: 0, z: 0, w: 0}
- spriteGenerateFallbackPhysicsShape: 1
- alphaUsage: 1
- alphaIsTransparency: 1
- spriteTessellationDetail: -1
- textureType: 2
- textureShape: 1
- singleChannelComponent: 0
- flipbookRows: 1
- flipbookColumns: 1
- maxTextureSizeSet: 0
- compressionQualitySet: 0
- textureFormatSet: 0
- ignorePngGamma: 0
- applyGammaDecoding: 0
- swizzle: 50462976
- cookieLightType: 0
- platformSettings:
- - serializedVersion: 4
- buildTarget: DefaultTexturePlatform
- maxTextureSize: 256
- resizeAlgorithm: 0
- textureFormat: -1
- textureCompression: 0
- compressionQuality: 50
- crunchedCompression: 0
- allowsAlphaSplitting: 0
- overridden: 0
- ignorePlatformSupport: 0
- androidETC2FallbackOverride: 0
- forceMaximumCompressionQuality_BC6H_BC7: 0
- - serializedVersion: 4
- buildTarget: Standalone
- maxTextureSize: 2048
- resizeAlgorithm: 0
- textureFormat: -1
- textureCompression: 1
- compressionQuality: 50
- crunchedCompression: 0
- allowsAlphaSplitting: 0
- overridden: 0
- ignorePlatformSupport: 0
- androidETC2FallbackOverride: 0
- forceMaximumCompressionQuality_BC6H_BC7: 0
- - serializedVersion: 4
- buildTarget: Android
- maxTextureSize: 2048
- resizeAlgorithm: 0
- textureFormat: -1
- textureCompression: 1
- compressionQuality: 50
- crunchedCompression: 0
- allowsAlphaSplitting: 0
- overridden: 0
- ignorePlatformSupport: 0
- androidETC2FallbackOverride: 0
- forceMaximumCompressionQuality_BC6H_BC7: 0
- spriteSheet:
- serializedVersion: 2
- sprites: []
- outline: []
- customData:
- physicsShape: []
- bones: []
- spriteID:
- internalID: 0
- vertices: []
- indices:
- edges: []
- weights: []
- secondaryTextures: []
- spriteCustomMetadata:
- entries: []
- nameFileIdTable: {}
- mipmapLimitGroupName:
- pSDRemoveMatte: 0
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/DOTween/Editor/Imgs/Footer_dark.png b/Assets/DOTween/Editor/Imgs/Footer_dark.png
deleted file mode 100644
index e48db5e..0000000
Binary files a/Assets/DOTween/Editor/Imgs/Footer_dark.png and /dev/null differ
diff --git a/Assets/DOTween/Editor/Imgs/Footer_dark.png.meta b/Assets/DOTween/Editor/Imgs/Footer_dark.png.meta
deleted file mode 100644
index 308d024..0000000
--- a/Assets/DOTween/Editor/Imgs/Footer_dark.png.meta
+++ /dev/null
@@ -1,130 +0,0 @@
-fileFormatVersion: 2
-guid: b744529a14333ff4aaf428f3586eb9d2
-TextureImporter:
- internalIDToNameTable: []
- externalObjects: {}
- serializedVersion: 13
- mipmaps:
- mipMapMode: 0
- enableMipMap: 1
- sRGBTexture: 1
- linearTexture: 0
- fadeOut: 0
- borderMipMap: 0
- mipMapsPreserveCoverage: 0
- alphaTestReferenceValue: 0.5
- mipMapFadeDistanceStart: 1
- mipMapFadeDistanceEnd: 3
- bumpmap:
- convertToNormalMap: 0
- externalNormalMap: 0
- heightScale: 0.25
- normalMapFilter: 0
- flipGreenChannel: 0
- isReadable: 0
- streamingMipmaps: 0
- streamingMipmapsPriority: 0
- vTOnly: 0
- ignoreMipmapLimit: 0
- grayScaleToAlpha: 0
- generateCubemap: 6
- cubemapConvolution: 0
- seamlessCubemap: 0
- textureFormat: 1
- maxTextureSize: 2048
- textureSettings:
- serializedVersion: 2
- filterMode: 1
- aniso: 1
- mipBias: 0
- wrapU: 0
- wrapV: 0
- wrapW: 0
- nPOTScale: 1
- lightmap: 0
- compressionQuality: 50
- spriteMode: 0
- spriteExtrude: 1
- spriteMeshType: 1
- alignment: 0
- spritePivot: {x: 0.5, y: 0.5}
- spritePixelsToUnits: 100
- spriteBorder: {x: 0, y: 0, z: 0, w: 0}
- spriteGenerateFallbackPhysicsShape: 1
- alphaUsage: 1
- alphaIsTransparency: 0
- spriteTessellationDetail: -1
- textureType: 0
- textureShape: 1
- singleChannelComponent: 0
- flipbookRows: 1
- flipbookColumns: 1
- maxTextureSizeSet: 0
- compressionQualitySet: 0
- textureFormatSet: 0
- ignorePngGamma: 0
- applyGammaDecoding: 0
- swizzle: 50462976
- cookieLightType: 0
- platformSettings:
- - serializedVersion: 4
- buildTarget: DefaultTexturePlatform
- maxTextureSize: 2048
- resizeAlgorithm: 0
- textureFormat: -1
- textureCompression: 1
- compressionQuality: 50
- crunchedCompression: 0
- allowsAlphaSplitting: 0
- overridden: 0
- ignorePlatformSupport: 0
- androidETC2FallbackOverride: 0
- forceMaximumCompressionQuality_BC6H_BC7: 0
- - serializedVersion: 4
- buildTarget: Standalone
- maxTextureSize: 2048
- resizeAlgorithm: 0
- textureFormat: -1
- textureCompression: 1
- compressionQuality: 50
- crunchedCompression: 0
- allowsAlphaSplitting: 0
- overridden: 0
- ignorePlatformSupport: 0
- androidETC2FallbackOverride: 0
- forceMaximumCompressionQuality_BC6H_BC7: 0
- - serializedVersion: 4
- buildTarget: Android
- maxTextureSize: 2048
- resizeAlgorithm: 0
- textureFormat: -1
- textureCompression: 1
- compressionQuality: 50
- crunchedCompression: 0
- allowsAlphaSplitting: 0
- overridden: 0
- ignorePlatformSupport: 0
- androidETC2FallbackOverride: 0
- forceMaximumCompressionQuality_BC6H_BC7: 0
- spriteSheet:
- serializedVersion: 2
- sprites: []
- outline: []
- customData:
- physicsShape: []
- bones: []
- spriteID:
- internalID: 0
- vertices: []
- indices:
- edges: []
- weights: []
- secondaryTextures: []
- spriteCustomMetadata:
- entries: []
- nameFileIdTable: {}
- mipmapLimitGroupName:
- pSDRemoveMatte: 0
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/DOTween/Editor/Imgs/Header.jpg b/Assets/DOTween/Editor/Imgs/Header.jpg
deleted file mode 100644
index 4d710d7..0000000
Binary files a/Assets/DOTween/Editor/Imgs/Header.jpg and /dev/null differ
diff --git a/Assets/DOTween/Editor/Imgs/Header.jpg.meta b/Assets/DOTween/Editor/Imgs/Header.jpg.meta
deleted file mode 100644
index 6976723..0000000
--- a/Assets/DOTween/Editor/Imgs/Header.jpg.meta
+++ /dev/null
@@ -1,130 +0,0 @@
-fileFormatVersion: 2
-guid: 6eb35f05a57f0f84eaf9071b132cfdd7
-TextureImporter:
- internalIDToNameTable: []
- externalObjects: {}
- serializedVersion: 13
- mipmaps:
- mipMapMode: 0
- enableMipMap: 0
- sRGBTexture: 1
- linearTexture: 0
- fadeOut: 0
- borderMipMap: 0
- mipMapsPreserveCoverage: 0
- alphaTestReferenceValue: 0.5
- mipMapFadeDistanceStart: 1
- mipMapFadeDistanceEnd: 3
- bumpmap:
- convertToNormalMap: 0
- externalNormalMap: 0
- heightScale: 0.25
- normalMapFilter: 0
- flipGreenChannel: 0
- isReadable: 0
- streamingMipmaps: 0
- streamingMipmapsPriority: 0
- vTOnly: 0
- ignoreMipmapLimit: 0
- grayScaleToAlpha: 0
- generateCubemap: 6
- cubemapConvolution: 0
- seamlessCubemap: 0
- textureFormat: 1
- maxTextureSize: 2048
- textureSettings:
- serializedVersion: 2
- filterMode: 1
- aniso: 1
- mipBias: 0
- wrapU: 1
- wrapV: 1
- wrapW: 1
- nPOTScale: 0
- lightmap: 0
- compressionQuality: 50
- spriteMode: 0
- spriteExtrude: 1
- spriteMeshType: 1
- alignment: 0
- spritePivot: {x: 0.5, y: 0.5}
- spritePixelsToUnits: 100
- spriteBorder: {x: 0, y: 0, z: 0, w: 0}
- spriteGenerateFallbackPhysicsShape: 1
- alphaUsage: 1
- alphaIsTransparency: 1
- spriteTessellationDetail: -1
- textureType: 2
- textureShape: 1
- singleChannelComponent: 0
- flipbookRows: 1
- flipbookColumns: 1
- maxTextureSizeSet: 0
- compressionQualitySet: 0
- textureFormatSet: 0
- ignorePngGamma: 0
- applyGammaDecoding: 0
- swizzle: 50462976
- cookieLightType: 0
- platformSettings:
- - serializedVersion: 4
- buildTarget: DefaultTexturePlatform
- maxTextureSize: 512
- resizeAlgorithm: 0
- textureFormat: -1
- textureCompression: 0
- compressionQuality: 50
- crunchedCompression: 0
- allowsAlphaSplitting: 0
- overridden: 0
- ignorePlatformSupport: 0
- androidETC2FallbackOverride: 0
- forceMaximumCompressionQuality_BC6H_BC7: 0
- - serializedVersion: 4
- buildTarget: Standalone
- maxTextureSize: 2048
- resizeAlgorithm: 0
- textureFormat: -1
- textureCompression: 1
- compressionQuality: 50
- crunchedCompression: 0
- allowsAlphaSplitting: 0
- overridden: 0
- ignorePlatformSupport: 0
- androidETC2FallbackOverride: 0
- forceMaximumCompressionQuality_BC6H_BC7: 0
- - serializedVersion: 4
- buildTarget: Android
- maxTextureSize: 2048
- resizeAlgorithm: 0
- textureFormat: -1
- textureCompression: 1
- compressionQuality: 50
- crunchedCompression: 0
- allowsAlphaSplitting: 0
- overridden: 0
- ignorePlatformSupport: 0
- androidETC2FallbackOverride: 0
- forceMaximumCompressionQuality_BC6H_BC7: 0
- spriteSheet:
- serializedVersion: 2
- sprites: []
- outline: []
- customData:
- physicsShape: []
- bones: []
- spriteID:
- internalID: 0
- vertices: []
- indices:
- edges: []
- weights: []
- secondaryTextures: []
- spriteCustomMetadata:
- entries: []
- nameFileIdTable: {}
- mipmapLimitGroupName:
- pSDRemoveMatte: 0
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/DOTween/Modules/DOTweenModuleAudio.cs b/Assets/DOTween/Modules/DOTweenModuleAudio.cs
deleted file mode 100644
index d958ae0..0000000
--- a/Assets/DOTween/Modules/DOTweenModuleAudio.cs
+++ /dev/null
@@ -1,198 +0,0 @@
-// Author: Daniele Giardini - http://www.demigiant.com
-// Created: 2018/07/13
-
-#if true // MODULE_MARKER
-using System;
-using DG.Tweening.Core;
-using DG.Tweening.Plugins.Options;
-using UnityEngine;
-using UnityEngine.Audio; // Required for AudioMixer
-
-#pragma warning disable 1591
-namespace DG.Tweening
-{
- public static class DOTweenModuleAudio
- {
- #region Shortcuts
-
- #region Audio
-
- /// Tweens an AudioSource's volume to the given value.
- /// Also stores the AudioSource as the tween's target so it can be used for filtered operations
- /// The end value to reach (0 to 1)The duration of the tween
- public static TweenerCore DOFade(this AudioSource target, float endValue, float duration)
- {
- if (endValue < 0) endValue = 0;
- else if (endValue > 1) endValue = 1;
- TweenerCore t = DOTween.To(() => target.volume, x => target.volume = x, endValue, duration);
- t.SetTarget(target);
- return t;
- }
-
- /// Tweens an AudioSource's pitch to the given value.
- /// Also stores the AudioSource as the tween's target so it can be used for filtered operations
- /// The end value to reachThe duration of the tween
- public static TweenerCore DOPitch(this AudioSource target, float endValue, float duration)
- {
- TweenerCore t = DOTween.To(() => target.pitch, x => target.pitch = x, endValue, duration);
- t.SetTarget(target);
- return t;
- }
-
- #endregion
-
- #region AudioMixer
-
- /// Tweens an AudioMixer's exposed float to the given value.
- /// Also stores the AudioMixer as the tween's target so it can be used for filtered operations.
- /// Note that you need to manually expose a float in an AudioMixerGroup in order to be able to tween it from an AudioMixer.
- /// Name given to the exposed float to set
- /// The end value to reachThe duration of the tween
- public static TweenerCore DOSetFloat(this AudioMixer target, string floatName, float endValue, float duration)
- {
- TweenerCore t = DOTween.To(()=> {
- float currVal;
- target.GetFloat(floatName, out currVal);
- return currVal;
- }, x=> target.SetFloat(floatName, x), endValue, duration);
- t.SetTarget(target);
- return t;
- }
-
- #region Operation Shortcuts
-
- ///
- /// Completes all tweens that have this target as a reference
- /// (meaning tweens that were started from this target, or that had this target added as an Id)
- /// and returns the total number of tweens completed
- /// (meaning the tweens that don't have infinite loops and were not already complete)
- ///
- /// For Sequences only: if TRUE also internal Sequence callbacks will be fired,
- /// otherwise they will be ignored
- public static int DOComplete(this AudioMixer target, bool withCallbacks = false)
- {
- return DOTween.Complete(target, withCallbacks);
- }
-
- ///
- /// Kills all tweens that have this target as a reference
- /// (meaning tweens that were started from this target, or that had this target added as an Id)
- /// and returns the total number of tweens killed.
- ///
- /// If TRUE completes the tween before killing it
- public static int DOKill(this AudioMixer target, bool complete = false)
- {
- return DOTween.Kill(target, complete);
- }
-
- ///
- /// Flips the direction (backwards if it was going forward or viceversa) of all tweens that have this target as a reference
- /// (meaning tweens that were started from this target, or that had this target added as an Id)
- /// and returns the total number of tweens flipped.
- ///
- public static int DOFlip(this AudioMixer target)
- {
- return DOTween.Flip(target);
- }
-
- ///
- /// Sends to the given position all tweens that have this target as a reference
- /// (meaning tweens that were started from this target, or that had this target added as an Id)
- /// and returns the total number of tweens involved.
- ///
- /// Time position to reach
- /// (if higher than the whole tween duration the tween will simply reach its end)
- /// If TRUE will play the tween after reaching the given position, otherwise it will pause it
- public static int DOGoto(this AudioMixer target, float to, bool andPlay = false)
- {
- return DOTween.Goto(target, to, andPlay);
- }
-
- ///
- /// Pauses all tweens that have this target as a reference
- /// (meaning tweens that were started from this target, or that had this target added as an Id)
- /// and returns the total number of tweens paused.
- ///
- public static int DOPause(this AudioMixer target)
- {
- return DOTween.Pause(target);
- }
-
- ///
- /// Plays all tweens that have this target as a reference
- /// (meaning tweens that were started from this target, or that had this target added as an Id)
- /// and returns the total number of tweens played.
- ///
- public static int DOPlay(this AudioMixer target)
- {
- return DOTween.Play(target);
- }
-
- ///
- /// Plays backwards all tweens that have this target as a reference
- /// (meaning tweens that were started from this target, or that had this target added as an Id)
- /// and returns the total number of tweens played.
- ///
- public static int DOPlayBackwards(this AudioMixer target)
- {
- return DOTween.PlayBackwards(target);
- }
-
- ///
- /// Plays forward all tweens that have this target as a reference
- /// (meaning tweens that were started from this target, or that had this target added as an Id)
- /// and returns the total number of tweens played.
- ///
- public static int DOPlayForward(this AudioMixer target)
- {
- return DOTween.PlayForward(target);
- }
-
- ///
- /// Restarts all tweens that have this target as a reference
- /// (meaning tweens that were started from this target, or that had this target added as an Id)
- /// and returns the total number of tweens restarted.
- ///
- public static int DORestart(this AudioMixer target)
- {
- return DOTween.Restart(target);
- }
-
- ///
- /// Rewinds all tweens that have this target as a reference
- /// (meaning tweens that were started from this target, or that had this target added as an Id)
- /// and returns the total number of tweens rewinded.
- ///
- public static int DORewind(this AudioMixer target)
- {
- return DOTween.Rewind(target);
- }
-
- ///
- /// Smoothly rewinds all tweens that have this target as a reference
- /// (meaning tweens that were started from this target, or that had this target added as an Id)
- /// and returns the total number of tweens rewinded.
- ///
- public static int DOSmoothRewind(this AudioMixer target)
- {
- return DOTween.SmoothRewind(target);
- }
-
- ///
- /// Toggles the paused state (plays if it was paused, pauses if it was playing) of all tweens that have this target as a reference
- /// (meaning tweens that were started from this target, or that had this target added as an Id)
- /// and returns the total number of tweens involved.
- ///
- public static int DOTogglePause(this AudioMixer target)
- {
- return DOTween.TogglePause(target);
- }
-
- #endregion
-
- #endregion
-
- #endregion
- }
-}
-#endif
diff --git a/Assets/DOTween/Modules/DOTweenModuleAudio.cs.meta b/Assets/DOTween/Modules/DOTweenModuleAudio.cs.meta
deleted file mode 100644
index 518bdc7..0000000
--- a/Assets/DOTween/Modules/DOTweenModuleAudio.cs.meta
+++ /dev/null
@@ -1,2 +0,0 @@
-fileFormatVersion: 2
-guid: 4702391d9345d634681a92c11ea2ca42
\ No newline at end of file
diff --git a/Assets/DOTween/Modules/DOTweenModuleEPOOutline.cs b/Assets/DOTween/Modules/DOTweenModuleEPOOutline.cs
deleted file mode 100644
index 2ab3775..0000000
--- a/Assets/DOTween/Modules/DOTweenModuleEPOOutline.cs
+++ /dev/null
@@ -1,146 +0,0 @@
-using UnityEngine;
-
-#if false || EPO_DOTWEEN // MODULE_MARKER
-
-using EPOOutline;
-using DG.Tweening.Plugins.Options;
-using DG.Tweening;
-using DG.Tweening.Core;
-
-namespace DG.Tweening
-{
- public static class DOTweenModuleEPOOutline
- {
- public static int DOKill(this SerializedPass target, bool complete)
- {
- return DOTween.Kill(target, complete);
- }
-
- public static TweenerCore DOFloat(this SerializedPass target, string propertyName, float endValue, float duration)
- {
- var tweener = DOTween.To(() => target.GetFloat(propertyName), x => target.SetFloat(propertyName, x), endValue, duration);
- tweener.SetOptions(true).SetTarget(target);
- return tweener;
- }
-
- public static TweenerCore DOFade(this SerializedPass target, string propertyName, float endValue, float duration)
- {
- var tweener = DOTween.ToAlpha(() => target.GetColor(propertyName), x => target.SetColor(propertyName, x), endValue, duration);
- tweener.SetOptions(true).SetTarget(target);
- return tweener;
- }
-
- public static TweenerCore DOColor(this SerializedPass target, string propertyName, Color endValue, float duration)
- {
- var tweener = DOTween.To(() => target.GetColor(propertyName), x => target.SetColor(propertyName, x), endValue, duration);
- tweener.SetOptions(false).SetTarget(target);
- return tweener;
- }
-
- public static TweenerCore DOVector(this SerializedPass target, string propertyName, Vector4 endValue, float duration)
- {
- var tweener = DOTween.To(() => target.GetVector(propertyName), x => target.SetVector(propertyName, x), endValue, duration);
- tweener.SetOptions(false).SetTarget(target);
- return tweener;
- }
-
- public static TweenerCore DOFloat(this SerializedPass target, int propertyId, float endValue, float duration)
- {
- var tweener = DOTween.To(() => target.GetFloat(propertyId), x => target.SetFloat(propertyId, x), endValue, duration);
- tweener.SetOptions(true).SetTarget(target);
- return tweener;
- }
-
- public static TweenerCore DOFade(this SerializedPass target, int propertyId, float endValue, float duration)
- {
- var tweener = DOTween.ToAlpha(() => target.GetColor(propertyId), x => target.SetColor(propertyId, x), endValue, duration);
- tweener.SetOptions(true).SetTarget(target);
- return tweener;
- }
-
- public static TweenerCore DOColor(this SerializedPass target, int propertyId, Color endValue, float duration)
- {
- var tweener = DOTween.To(() => target.GetColor(propertyId), x => target.SetColor(propertyId, x), endValue, duration);
- tweener.SetOptions(false).SetTarget(target);
- return tweener;
- }
-
- public static TweenerCore DOVector(this SerializedPass target, int propertyId, Vector4 endValue, float duration)
- {
- var tweener = DOTween.To(() => target.GetVector(propertyId), x => target.SetVector(propertyId, x), endValue, duration);
- tweener.SetOptions(false).SetTarget(target);
- return tweener;
- }
-
- public static int DOKill(this Outlinable.OutlineProperties target, bool complete = false)
- {
- return DOTween.Kill(target, complete);
- }
-
- public static int DOKill(this Outliner target, bool complete = false)
- {
- return DOTween.Kill(target, complete);
- }
-
- ///
- /// Controls the alpha (transparency) of the outline
- ///
- public static TweenerCore DOFade(this Outlinable.OutlineProperties target, float endValue, float duration)
- {
- var tweener = DOTween.ToAlpha(() => target.Color, x => target.Color = x, endValue, duration);
- tweener.SetOptions(true).SetTarget(target);
- return tweener;
- }
-
- ///
- /// Controls the color of the outline
- ///
- public static TweenerCore DOColor(this Outlinable.OutlineProperties target, Color endValue, float duration)
- {
- var tweener = DOTween.To(() => target.Color, x => target.Color = x, endValue, duration);
- tweener.SetOptions(false).SetTarget(target);
- return tweener;
- }
-
- ///
- /// Controls the amount of blur applied to the outline
- ///
- public static TweenerCore DOBlurShift(this Outlinable.OutlineProperties target, float endValue, float duration, bool snapping = false)
- {
- var tweener = DOTween.To(() => target.BlurShift, x => target.BlurShift = x, endValue, duration);
- tweener.SetOptions(snapping).SetTarget(target);
- return tweener;
- }
-
- ///
- /// Controls the amount of blur applied to the outline
- ///
- public static TweenerCore DOBlurShift(this Outliner target, float endValue, float duration, bool snapping = false)
- {
- var tweener = DOTween.To(() => target.BlurShift, x => target.BlurShift = x, endValue, duration);
- tweener.SetOptions(snapping).SetTarget(target);
- return tweener;
- }
-
- ///
- /// Controls the amount of dilation applied to the outline
- ///
- public static TweenerCore DODilateShift(this Outlinable.OutlineProperties target, float endValue, float duration, bool snapping = false)
- {
- var tweener = DOTween.To(() => target.DilateShift, x => target.DilateShift = x, endValue, duration);
- tweener.SetOptions(snapping).SetTarget(target);
- return tweener;
- }
-
- ///
- /// Controls the amount of dilation applied to the outline
- ///
- public static TweenerCore DODilateShift(this Outliner target, float endValue, float duration, bool snapping = false)
- {
- var tweener = DOTween.To(() => target.DilateShift, x => target.DilateShift = x, endValue, duration);
- tweener.SetOptions(snapping).SetTarget(target);
- return tweener;
- }
- }
-}
-#endif
diff --git a/Assets/DOTween/Modules/DOTweenModuleEPOOutline.cs.meta b/Assets/DOTween/Modules/DOTweenModuleEPOOutline.cs.meta
deleted file mode 100644
index ff5fa1d..0000000
--- a/Assets/DOTween/Modules/DOTweenModuleEPOOutline.cs.meta
+++ /dev/null
@@ -1,2 +0,0 @@
-fileFormatVersion: 2
-guid: 216b83d657d96d44487cfbf4354eb0b7
\ No newline at end of file
diff --git a/Assets/DOTween/Modules/DOTweenModulePhysics.cs b/Assets/DOTween/Modules/DOTweenModulePhysics.cs
deleted file mode 100644
index 08b0700..0000000
--- a/Assets/DOTween/Modules/DOTweenModulePhysics.cs
+++ /dev/null
@@ -1,216 +0,0 @@
-// Author: Daniele Giardini - http://www.demigiant.com
-// Created: 2018/07/13
-
-#if true // MODULE_MARKER
-using System;
-using DG.Tweening.Core;
-using DG.Tweening.Core.Enums;
-using DG.Tweening.Plugins;
-using DG.Tweening.Plugins.Core.PathCore;
-using DG.Tweening.Plugins.Options;
-using UnityEngine;
-
-#pragma warning disable 1591
-namespace DG.Tweening
-{
- public static class DOTweenModulePhysics
- {
- #region Shortcuts
-
- #region Rigidbody
-
- /// Tweens a Rigidbody's position to the given value.
- /// Also stores the rigidbody as the tween's target so it can be used for filtered operations
- /// The end value to reachThe duration of the tween
- /// If TRUE the tween will smoothly snap all values to integers
- public static TweenerCore DOMove(this Rigidbody target, Vector3 endValue, float duration, bool snapping = false)
- {
- TweenerCore t = DOTween.To(() => target.position, target.MovePosition, endValue, duration);
- t.SetOptions(snapping).SetTarget(target);
- return t;
- }
-
- /// Tweens a Rigidbody's X position to the given value.
- /// Also stores the rigidbody as the tween's target so it can be used for filtered operations
- /// The end value to reachThe duration of the tween
- /// If TRUE the tween will smoothly snap all values to integers
- public static TweenerCore DOMoveX(this Rigidbody target, float endValue, float duration, bool snapping = false)
- {
- TweenerCore t = DOTween.To(() => target.position, target.MovePosition, new Vector3(endValue, 0, 0), duration);
- t.SetOptions(AxisConstraint.X, snapping).SetTarget(target);
- return t;
- }
-
- /// Tweens a Rigidbody's Y position to the given value.
- /// Also stores the rigidbody as the tween's target so it can be used for filtered operations
- /// The end value to reachThe duration of the tween
- /// If TRUE the tween will smoothly snap all values to integers
- public static TweenerCore DOMoveY(this Rigidbody target, float endValue, float duration, bool snapping = false)
- {
- TweenerCore t = DOTween.To(() => target.position, target.MovePosition, new Vector3(0, endValue, 0), duration);
- t.SetOptions(AxisConstraint.Y, snapping).SetTarget(target);
- return t;
- }
-
- /// Tweens a Rigidbody's Z position to the given value.
- /// Also stores the rigidbody as the tween's target so it can be used for filtered operations
- /// The end value to reachThe duration of the tween
- /// If TRUE the tween will smoothly snap all values to integers
- public static TweenerCore DOMoveZ(this Rigidbody target, float endValue, float duration, bool snapping = false)
- {
- TweenerCore t = DOTween.To(() => target.position, target.MovePosition, new Vector3(0, 0, endValue), duration);
- t.SetOptions(AxisConstraint.Z, snapping).SetTarget(target);
- return t;
- }
-
- /// Tweens a Rigidbody's rotation to the given value.
- /// Also stores the rigidbody as the tween's target so it can be used for filtered operations
- /// The end value to reachThe duration of the tween
- /// Rotation mode
- public static TweenerCore DORotate(this Rigidbody target, Vector3 endValue, float duration, RotateMode mode = RotateMode.Fast)
- {
- TweenerCore t = DOTween.To(() => target.rotation, target.MoveRotation, endValue, duration);
- t.SetTarget(target);
- t.plugOptions.rotateMode = mode;
- return t;
- }
-
- /// Tweens a Rigidbody's rotation so that it will look towards the given position.
- /// Also stores the rigidbody as the tween's target so it can be used for filtered operations
- /// The position to look atThe duration of the tween
- /// Eventual axis constraint for the rotation
- /// The vector that defines in which direction up is (default: Vector3.up)
- public static TweenerCore DOLookAt(this Rigidbody target, Vector3 towards, float duration, AxisConstraint axisConstraint = AxisConstraint.None, Vector3? up = null)
- {
- TweenerCore t = DOTween.To(() => target.rotation, target.MoveRotation, towards, duration)
- .SetTarget(target).SetSpecialStartupMode(SpecialStartupMode.SetLookAt);
- t.plugOptions.axisConstraint = axisConstraint;
- t.plugOptions.up = (up == null) ? Vector3.up : (Vector3)up;
- return t;
- }
-
- #region Special
-
- /// Tweens a Rigidbody's position to the given value, while also applying a jump effect along the Y axis.
- /// Returns a Sequence instead of a Tweener.
- /// Also stores the Rigidbody as the tween's target so it can be used for filtered operations
- /// The end value to reach
- /// Power of the jump (the max height of the jump is represented by this plus the final Y offset)
- /// Total number of jumps
- /// The duration of the tween
- /// If TRUE the tween will smoothly snap all values to integers
- public static Sequence DOJump(this Rigidbody target, Vector3 endValue, float jumpPower, int numJumps, float duration, bool snapping = false)
- {
- if (numJumps < 1) numJumps = 1;
- float startPosY = 0;
- float offsetY = -1;
- bool offsetYSet = false;
- Sequence s = DOTween.Sequence();
- Tween yTween = DOTween.To(() => target.position, target.MovePosition, new Vector3(0, jumpPower, 0), duration / (numJumps * 2))
- .SetOptions(AxisConstraint.Y, snapping).SetEase(Ease.OutQuad).SetRelative()
- .SetLoops(numJumps * 2, LoopType.Yoyo)
- .OnStart(() => startPosY = target.position.y);
- s.Append(DOTween.To(() => target.position, target.MovePosition, new Vector3(endValue.x, 0, 0), duration)
- .SetOptions(AxisConstraint.X, snapping).SetEase(Ease.Linear)
- ).Join(DOTween.To(() => target.position, target.MovePosition, new Vector3(0, 0, endValue.z), duration)
- .SetOptions(AxisConstraint.Z, snapping).SetEase(Ease.Linear)
- ).Join(yTween)
- .SetTarget(target).SetEase(DOTween.defaultEaseType);
- yTween.OnUpdate(() => {
- if (!offsetYSet) {
- offsetYSet = true;
- offsetY = s.isRelative ? endValue.y : endValue.y - startPosY;
- }
- Vector3 pos = target.position;
- pos.y += DOVirtual.EasedValue(0, offsetY, yTween.ElapsedPercentage(), Ease.OutQuad);
- target.MovePosition(pos);
- });
- return s;
- }
-
- /// Tweens a Rigidbody's position through the given path waypoints, using the chosen path algorithm.
- /// Also stores the Rigidbody as the tween's target so it can be used for filtered operations.
- /// NOTE: to tween a rigidbody correctly it should be set to kinematic at least while being tweened.
- /// BEWARE: doesn't work on Windows Phone store (waiting for Unity to fix their own bug).
- /// If you plan to publish there you should use a regular transform.DOPath.
- /// The waypoints to go through
- /// The duration of the tween
- /// The type of path: Linear (straight path), CatmullRom (curved CatmullRom path) or CubicBezier (curved with control points)
- /// The path mode: 3D, side-scroller 2D, top-down 2D
- /// The resolution of the path (useless in case of Linear paths): higher resolutions make for more detailed curved paths but are more expensive.
- /// Defaults to 10, but a value of 5 is usually enough if you don't have dramatic long curves between waypoints
- /// The color of the path (shown when gizmos are active in the Play panel and the tween is running)
- public static TweenerCore DOPath(
- this Rigidbody target, Vector3[] path, float duration, PathType pathType = PathType.Linear,
- PathMode pathMode = PathMode.Full3D, int resolution = 10, Color? gizmoColor = null
- )
- {
- if (resolution < 1) resolution = 1;
- TweenerCore t = DOTween.To(PathPlugin.Get(), () => target.position, target.MovePosition, new Path(pathType, path, resolution, gizmoColor), duration)
- .SetTarget(target).SetUpdate(UpdateType.Fixed);
-
- t.plugOptions.isRigidbody = true;
- t.plugOptions.mode = pathMode;
- return t;
- }
- /// Tweens a Rigidbody's localPosition through the given path waypoints, using the chosen path algorithm.
- /// Also stores the Rigidbody as the tween's target so it can be used for filtered operations
- /// NOTE: to tween a rigidbody correctly it should be set to kinematic at least while being tweened.
- /// BEWARE: doesn't work on Windows Phone store (waiting for Unity to fix their own bug).
- /// If you plan to publish there you should use a regular transform.DOLocalPath.
- /// The waypoint to go through
- /// The duration of the tween
- /// The type of path: Linear (straight path), CatmullRom (curved CatmullRom path) or CubicBezier (curved with control points)
- /// The path mode: 3D, side-scroller 2D, top-down 2D
- /// The resolution of the path: higher resolutions make for more detailed curved paths but are more expensive.
- /// Defaults to 10, but a value of 5 is usually enough if you don't have dramatic long curves between waypoints
- /// The color of the path (shown when gizmos are active in the Play panel and the tween is running)
- public static TweenerCore DOLocalPath(
- this Rigidbody target, Vector3[] path, float duration, PathType pathType = PathType.Linear,
- PathMode pathMode = PathMode.Full3D, int resolution = 10, Color? gizmoColor = null
- )
- {
- if (resolution < 1) resolution = 1;
- Transform trans = target.transform;
- TweenerCore t = DOTween.To(PathPlugin.Get(), () => trans.localPosition, x => target.MovePosition(trans.parent == null ? x : trans.parent.TransformPoint(x)), new Path(pathType, path, resolution, gizmoColor), duration)
- .SetTarget(target).SetUpdate(UpdateType.Fixed);
-
- t.plugOptions.isRigidbody = true;
- t.plugOptions.mode = pathMode;
- t.plugOptions.useLocalPosition = true;
- return t;
- }
- // Used by path editor when creating the actual tween, so it can pass a pre-compiled path
- internal static TweenerCore DOPath(
- this Rigidbody target, Path path, float duration, PathMode pathMode = PathMode.Full3D
- )
- {
- TweenerCore t = DOTween.To(PathPlugin.Get(), () => target.position, target.MovePosition, path, duration)
- .SetTarget(target);
-
- t.plugOptions.isRigidbody = true;
- t.plugOptions.mode = pathMode;
- return t;
- }
- internal static TweenerCore DOLocalPath(
- this Rigidbody target, Path path, float duration, PathMode pathMode = PathMode.Full3D
- )
- {
- Transform trans = target.transform;
- TweenerCore t = DOTween.To(PathPlugin.Get(), () => trans.localPosition, x => target.MovePosition(trans.parent == null ? x : trans.parent.TransformPoint(x)), path, duration)
- .SetTarget(target);
-
- t.plugOptions.isRigidbody = true;
- t.plugOptions.mode = pathMode;
- t.plugOptions.useLocalPosition = true;
- return t;
- }
-
- #endregion
-
- #endregion
-
- #endregion
- }
-}
-#endif
diff --git a/Assets/DOTween/Modules/DOTweenModulePhysics.cs.meta b/Assets/DOTween/Modules/DOTweenModulePhysics.cs.meta
deleted file mode 100644
index 377a5af..0000000
--- a/Assets/DOTween/Modules/DOTweenModulePhysics.cs.meta
+++ /dev/null
@@ -1,2 +0,0 @@
-fileFormatVersion: 2
-guid: 7fbfab74b660bc54aa30fcfedeffea6d
\ No newline at end of file
diff --git a/Assets/DOTween/Modules/DOTweenModulePhysics2D.cs b/Assets/DOTween/Modules/DOTweenModulePhysics2D.cs
deleted file mode 100644
index 8ce2b56..0000000
--- a/Assets/DOTween/Modules/DOTweenModulePhysics2D.cs
+++ /dev/null
@@ -1,193 +0,0 @@
-// Author: Daniele Giardini - http://www.demigiant.com
-// Created: 2018/07/13
-
-#if true // MODULE_MARKER
-using System;
-using DG.Tweening.Core;
-using DG.Tweening.Plugins;
-using DG.Tweening.Plugins.Core.PathCore;
-using DG.Tweening.Plugins.Options;
-using UnityEngine;
-
-#pragma warning disable 1591
-namespace DG.Tweening
-{
- public static class DOTweenModulePhysics2D
- {
- #region Shortcuts
-
- #region Rigidbody2D Shortcuts
-
- /// Tweens a Rigidbody2D's position to the given value.
- /// Also stores the Rigidbody2D as the tween's target so it can be used for filtered operations
- /// The end value to reachThe duration of the tween
- /// If TRUE the tween will smoothly snap all values to integers
- public static TweenerCore DOMove(this Rigidbody2D target, Vector2 endValue, float duration, bool snapping = false)
- {
- TweenerCore t = DOTween.To(() => target.position, target.MovePosition, endValue, duration);
- t.SetOptions(snapping).SetTarget(target);
- return t;
- }
-
- /// Tweens a Rigidbody2D's X position to the given value.
- /// Also stores the Rigidbody2D as the tween's target so it can be used for filtered operations
- /// The end value to reachThe duration of the tween
- /// If TRUE the tween will smoothly snap all values to integers
- public static TweenerCore DOMoveX(this Rigidbody2D target, float endValue, float duration, bool snapping = false)
- {
- TweenerCore t = DOTween.To(() => target.position, target.MovePosition, new Vector2(endValue, 0), duration);
- t.SetOptions(AxisConstraint.X, snapping).SetTarget(target);
- return t;
- }
-
- /// Tweens a Rigidbody2D's Y position to the given value.
- /// Also stores the Rigidbody2D as the tween's target so it can be used for filtered operations
- /// The end value to reachThe duration of the tween
- /// If TRUE the tween will smoothly snap all values to integers
- public static TweenerCore DOMoveY(this Rigidbody2D target, float endValue, float duration, bool snapping = false)
- {
- TweenerCore t = DOTween.To(() => target.position, target.MovePosition, new Vector2(0, endValue), duration);
- t.SetOptions(AxisConstraint.Y, snapping).SetTarget(target);
- return t;
- }
-
- /// Tweens a Rigidbody2D's rotation to the given value.
- /// Also stores the Rigidbody2D as the tween's target so it can be used for filtered operations
- /// The end value to reachThe duration of the tween
- public static TweenerCore DORotate(this Rigidbody2D target, float endValue, float duration)
- {
- TweenerCore t = DOTween.To(() => target.rotation, target.MoveRotation, endValue, duration);
- t.SetTarget(target);
- return t;
- }
-
- #region Special
-
- /// Tweens a Rigidbody2D's position to the given value, while also applying a jump effect along the Y axis.
- /// Returns a Sequence instead of a Tweener.
- /// Also stores the Rigidbody2D as the tween's target so it can be used for filtered operations.
- /// IMPORTANT: a rigidbody2D can't be animated in a jump arc using MovePosition, so the tween will directly set the position
- /// The end value to reach
- /// Power of the jump (the max height of the jump is represented by this plus the final Y offset)
- /// Total number of jumps
- /// The duration of the tween
- /// If TRUE the tween will smoothly snap all values to integers
- public static Sequence DOJump(this Rigidbody2D target, Vector2 endValue, float jumpPower, int numJumps, float duration, bool snapping = false)
- {
- if (numJumps < 1) numJumps = 1;
- float startPosY = 0;
- float offsetY = -1;
- bool offsetYSet = false;
- Sequence s = DOTween.Sequence();
- Tween yTween = DOTween.To(() => target.position, x => target.position = x, new Vector2(0, jumpPower), duration / (numJumps * 2))
- .SetOptions(AxisConstraint.Y, snapping).SetEase(Ease.OutQuad).SetRelative()
- .SetLoops(numJumps * 2, LoopType.Yoyo)
- .OnStart(() => startPosY = target.position.y);
- s.Append(DOTween.To(() => target.position, x => target.position = x, new Vector2(endValue.x, 0), duration)
- .SetOptions(AxisConstraint.X, snapping).SetEase(Ease.Linear)
- ).Join(yTween)
- .SetTarget(target).SetEase(DOTween.defaultEaseType);
- yTween.OnUpdate(() => {
- if (!offsetYSet) {
- offsetYSet = true;
- offsetY = s.isRelative ? endValue.y : endValue.y - startPosY;
- }
- Vector3 pos = target.position;
- pos.y += DOVirtual.EasedValue(0, offsetY, yTween.ElapsedPercentage(), Ease.OutQuad);
- target.MovePosition(pos);
- });
- return s;
- }
-
- /// Tweens a Rigidbody2D's position through the given path waypoints, using the chosen path algorithm.
- /// Also stores the Rigidbody2D as the tween's target so it can be used for filtered operations.
- /// NOTE: to tween a Rigidbody2D correctly it should be set to kinematic at least while being tweened.
- /// BEWARE: doesn't work on Windows Phone store (waiting for Unity to fix their own bug).
- /// If you plan to publish there you should use a regular transform.DOPath.
- /// The waypoints to go through
- /// The duration of the tween
- /// The type of path: Linear (straight path), CatmullRom (curved CatmullRom path) or CubicBezier (curved with control points)
- /// The path mode: 3D, side-scroller 2D, top-down 2D
- /// The resolution of the path (useless in case of Linear paths): higher resolutions make for more detailed curved paths but are more expensive.
- /// Defaults to 10, but a value of 5 is usually enough if you don't have dramatic long curves between waypoints
- /// The color of the path (shown when gizmos are active in the Play panel and the tween is running)
- public static TweenerCore DOPath(
- this Rigidbody2D target, Vector2[] path, float duration, PathType pathType = PathType.Linear,
- PathMode pathMode = PathMode.Full3D, int resolution = 10, Color? gizmoColor = null
- )
- {
- if (resolution < 1) resolution = 1;
- int len = path.Length;
- Vector3[] path3D = new Vector3[len];
- for (int i = 0; i < len; ++i) path3D[i] = path[i];
- TweenerCore t = DOTween.To(PathPlugin.Get(), () => target.position, x => target.MovePosition(x), new Path(pathType, path3D, resolution, gizmoColor), duration)
- .SetTarget(target).SetUpdate(UpdateType.Fixed);
-
- t.plugOptions.isRigidbody2D = true;
- t.plugOptions.mode = pathMode;
- return t;
- }
- /// Tweens a Rigidbody2D's localPosition through the given path waypoints, using the chosen path algorithm.
- /// Also stores the Rigidbody2D as the tween's target so it can be used for filtered operations
- /// NOTE: to tween a Rigidbody2D correctly it should be set to kinematic at least while being tweened.
- /// BEWARE: doesn't work on Windows Phone store (waiting for Unity to fix their own bug).
- /// If you plan to publish there you should use a regular transform.DOLocalPath.
- /// The waypoint to go through
- /// The duration of the tween
- /// The type of path: Linear (straight path), CatmullRom (curved CatmullRom path) or CubicBezier (curved with control points)
- /// The path mode: 3D, side-scroller 2D, top-down 2D
- /// The resolution of the path: higher resolutions make for more detailed curved paths but are more expensive.
- /// Defaults to 10, but a value of 5 is usually enough if you don't have dramatic long curves between waypoints
- /// The color of the path (shown when gizmos are active in the Play panel and the tween is running)
- public static TweenerCore DOLocalPath(
- this Rigidbody2D target, Vector2[] path, float duration, PathType pathType = PathType.Linear,
- PathMode pathMode = PathMode.Full3D, int resolution = 10, Color? gizmoColor = null
- )
- {
- if (resolution < 1) resolution = 1;
- int len = path.Length;
- Vector3[] path3D = new Vector3[len];
- for (int i = 0; i < len; ++i) path3D[i] = path[i];
- Transform trans = target.transform;
- TweenerCore t = DOTween.To(PathPlugin.Get(), () => trans.localPosition, x => target.MovePosition(trans.parent == null ? x : trans.parent.TransformPoint(x)), new Path(pathType, path3D, resolution, gizmoColor), duration)
- .SetTarget(target).SetUpdate(UpdateType.Fixed);
-
- t.plugOptions.isRigidbody2D = true;
- t.plugOptions.mode = pathMode;
- t.plugOptions.useLocalPosition = true;
- return t;
- }
- // Used by path editor when creating the actual tween, so it can pass a pre-compiled path
- internal static TweenerCore DOPath(
- this Rigidbody2D target, Path path, float duration, PathMode pathMode = PathMode.Full3D
- )
- {
- TweenerCore t = DOTween.To(PathPlugin.Get(), () => target.position, x => target.MovePosition(x), path, duration)
- .SetTarget(target);
-
- t.plugOptions.isRigidbody2D = true;
- t.plugOptions.mode = pathMode;
- return t;
- }
- internal static TweenerCore DOLocalPath(
- this Rigidbody2D target, Path path, float duration, PathMode pathMode = PathMode.Full3D
- )
- {
- Transform trans = target.transform;
- TweenerCore t = DOTween.To(PathPlugin.Get(), () => trans.localPosition, x => target.MovePosition(trans.parent == null ? x : trans.parent.TransformPoint(x)), path, duration)
- .SetTarget(target);
-
- t.plugOptions.isRigidbody2D = true;
- t.plugOptions.mode = pathMode;
- t.plugOptions.useLocalPosition = true;
- return t;
- }
-
- #endregion
-
- #endregion
-
- #endregion
- }
-}
-#endif
diff --git a/Assets/DOTween/Modules/DOTweenModulePhysics2D.cs.meta b/Assets/DOTween/Modules/DOTweenModulePhysics2D.cs.meta
deleted file mode 100644
index 1d51b6e..0000000
--- a/Assets/DOTween/Modules/DOTweenModulePhysics2D.cs.meta
+++ /dev/null
@@ -1,2 +0,0 @@
-fileFormatVersion: 2
-guid: eea29b5b6af205e4ba70a656a6fbd3df
\ No newline at end of file
diff --git a/Assets/DOTween/Modules/DOTweenModuleSprite.cs b/Assets/DOTween/Modules/DOTweenModuleSprite.cs
deleted file mode 100644
index 72afb7b..0000000
--- a/Assets/DOTween/Modules/DOTweenModuleSprite.cs
+++ /dev/null
@@ -1,93 +0,0 @@
-// Author: Daniele Giardini - http://www.demigiant.com
-// Created: 2018/07/13
-
-#if true // MODULE_MARKER
-using System;
-using UnityEngine;
-using DG.Tweening.Core;
-using DG.Tweening.Plugins.Options;
-
-#pragma warning disable 1591
-namespace DG.Tweening
-{
- public static class DOTweenModuleSprite
- {
- #region Shortcuts
-
- #region SpriteRenderer
-
- /// Tweens a SpriteRenderer's color to the given value.
- /// Also stores the spriteRenderer as the tween's target so it can be used for filtered operations
- /// The end value to reachThe duration of the tween
- public static TweenerCore DOColor(this SpriteRenderer target, Color endValue, float duration)
- {
- TweenerCore t = DOTween.To(() => target.color, x => target.color = x, endValue, duration);
- t.SetTarget(target);
- return t;
- }
-
- /// Tweens a Material's alpha color to the given value.
- /// Also stores the spriteRenderer as the tween's target so it can be used for filtered operations
- /// The end value to reachThe duration of the tween
- public static TweenerCore DOFade(this SpriteRenderer target, float endValue, float duration)
- {
- TweenerCore t = DOTween.ToAlpha(() => target.color, x => target.color = x, endValue, duration);
- t.SetTarget(target);
- return t;
- }
-
- /// Tweens a SpriteRenderer's color using the given gradient
- /// (NOTE 1: only uses the colors of the gradient, not the alphas - NOTE 2: creates a Sequence, not a Tweener).
- /// Also stores the image as the tween's target so it can be used for filtered operations
- /// The gradient to useThe duration of the tween
- public static Sequence DOGradientColor(this SpriteRenderer target, Gradient gradient, float duration)
- {
- Sequence s = DOTween.Sequence();
- GradientColorKey[] colors = gradient.colorKeys;
- int len = colors.Length;
- for (int i = 0; i < len; ++i) {
- GradientColorKey c = colors[i];
- if (i == 0 && c.time <= 0) {
- target.color = c.color;
- continue;
- }
- float colorDuration = i == len - 1
- ? duration - s.Duration(false) // Verifies that total duration is correct
- : duration * (i == 0 ? c.time : c.time - colors[i - 1].time);
- s.Append(target.DOColor(c.color, colorDuration).SetEase(Ease.Linear));
- }
- s.SetTarget(target);
- return s;
- }
-
- #endregion
-
- #region Blendables
-
- #region SpriteRenderer
-
- /// Tweens a SpriteRenderer's color to the given value,
- /// in a way that allows other DOBlendableColor tweens to work together on the same target,
- /// instead than fight each other as multiple DOColor would do.
- /// Also stores the SpriteRenderer as the tween's target so it can be used for filtered operations
- /// The value to tween toThe duration of the tween
- public static Tweener DOBlendableColor(this SpriteRenderer target, Color endValue, float duration)
- {
- endValue = endValue - target.color;
- Color to = new Color(0, 0, 0, 0);
- return DOTween.To(() => to, x => {
- Color diff = x - to;
- to = x;
- target.color += diff;
- }, endValue, duration)
- .Blendable().SetTarget(target);
- }
-
- #endregion
-
- #endregion
-
- #endregion
- }
-}
-#endif
diff --git a/Assets/DOTween/Modules/DOTweenModuleSprite.cs.meta b/Assets/DOTween/Modules/DOTweenModuleSprite.cs.meta
deleted file mode 100644
index 3b1de1b..0000000
--- a/Assets/DOTween/Modules/DOTweenModuleSprite.cs.meta
+++ /dev/null
@@ -1,2 +0,0 @@
-fileFormatVersion: 2
-guid: c4f6bf0d0071f80429b63a9ac8c664bb
\ No newline at end of file
diff --git a/Assets/DOTween/Modules/DOTweenModuleUI.cs b/Assets/DOTween/Modules/DOTweenModuleUI.cs
deleted file mode 100644
index 2381f4c..0000000
--- a/Assets/DOTween/Modules/DOTweenModuleUI.cs
+++ /dev/null
@@ -1,662 +0,0 @@
-// Author: Daniele Giardini - http://www.demigiant.com
-// Created: 2018/07/13
-
-#if true // MODULE_MARKER
-
-using System;
-using System.Globalization;
-using UnityEngine;
-using UnityEngine.UI;
-using DG.Tweening.Core;
-using DG.Tweening.Core.Enums;
-using DG.Tweening.Plugins;
-using DG.Tweening.Plugins.Options;
-using Outline = UnityEngine.UI.Outline;
-using Text = UnityEngine.UI.Text;
-
-#pragma warning disable 1591
-namespace DG.Tweening
-{
- public static class DOTweenModuleUI
- {
- #region Shortcuts
-
- #region CanvasGroup
-
- /// Tweens a CanvasGroup's alpha color to the given value.
- /// Also stores the canvasGroup as the tween's target so it can be used for filtered operations
- /// The end value to reachThe duration of the tween
- public static TweenerCore DOFade(this CanvasGroup target, float endValue, float duration)
- {
- TweenerCore t = DOTween.To(() => target.alpha, x => target.alpha = x, endValue, duration);
- t.SetTarget(target);
- return t;
- }
-
- #endregion
-
- #region Graphic
-
- /// Tweens an Graphic's color to the given value.
- /// Also stores the image as the tween's target so it can be used for filtered operations
- /// The end value to reachThe duration of the tween
- public static TweenerCore DOColor(this Graphic target, Color endValue, float duration)
- {
- TweenerCore t = DOTween.To(() => target.color, x => target.color = x, endValue, duration);
- t.SetTarget(target);
- return t;
- }
-
- /// Tweens an Graphic's alpha color to the given value.
- /// Also stores the image as the tween's target so it can be used for filtered operations
- /// The end value to reachThe duration of the tween
- public static TweenerCore DOFade(this Graphic target, float endValue, float duration)
- {
- TweenerCore t = DOTween.ToAlpha(() => target.color, x => target.color = x, endValue, duration);
- t.SetTarget(target);
- return t;
- }
-
- #endregion
-
- #region Image
-
- /// Tweens an Image's color to the given value.
- /// Also stores the image as the tween's target so it can be used for filtered operations
- /// The end value to reachThe duration of the tween
- public static TweenerCore DOColor(this Image target, Color endValue, float duration)
- {
- TweenerCore t = DOTween.To(() => target.color, x => target.color = x, endValue, duration);
- t.SetTarget(target);
- return t;
- }
-
- /// Tweens an Image's alpha color to the given value.
- /// Also stores the image as the tween's target so it can be used for filtered operations
- /// The end value to reachThe duration of the tween
- public static TweenerCore DOFade(this Image target, float endValue, float duration)
- {
- TweenerCore t = DOTween.ToAlpha(() => target.color, x => target.color = x, endValue, duration);
- t.SetTarget(target);
- return t;
- }
-
- /// Tweens an Image's fillAmount to the given value.
- /// Also stores the image as the tween's target so it can be used for filtered operations
- /// The end value to reach (0 to 1)The duration of the tween
- public static TweenerCore DOFillAmount(this Image target, float endValue, float duration)
- {
- if (endValue > 1) endValue = 1;
- else if (endValue < 0) endValue = 0;
- TweenerCore t = DOTween.To(() => target.fillAmount, x => target.fillAmount = x, endValue, duration);
- t.SetTarget(target);
- return t;
- }
-
- /// Tweens an Image's colors using the given gradient
- /// (NOTE 1: only uses the colors of the gradient, not the alphas - NOTE 2: creates a Sequence, not a Tweener).
- /// Also stores the image as the tween's target so it can be used for filtered operations
- /// The gradient to useThe duration of the tween
- public static Sequence DOGradientColor(this Image target, Gradient gradient, float duration)
- {
- Sequence s = DOTween.Sequence();
- GradientColorKey[] colors = gradient.colorKeys;
- int len = colors.Length;
- for (int i = 0; i < len; ++i) {
- GradientColorKey c = colors[i];
- if (i == 0 && c.time <= 0) {
- target.color = c.color;
- continue;
- }
- float colorDuration = i == len - 1
- ? duration - s.Duration(false) // Verifies that total duration is correct
- : duration * (i == 0 ? c.time : c.time - colors[i - 1].time);
- s.Append(target.DOColor(c.color, colorDuration).SetEase(Ease.Linear));
- }
- s.SetTarget(target);
- return s;
- }
-
- #endregion
-
- #region LayoutElement
-
- /// Tweens an LayoutElement's flexibleWidth/Height to the given value.
- /// Also stores the LayoutElement as the tween's target so it can be used for filtered operations
- /// The end value to reachThe duration of the tween
- /// If TRUE the tween will smoothly snap all values to integers
- public static TweenerCore DOFlexibleSize(this LayoutElement target, Vector2 endValue, float duration, bool snapping = false)
- {
- TweenerCore t = DOTween.To(() => new Vector2(target.flexibleWidth, target.flexibleHeight), x => {
- target.flexibleWidth = x.x;
- target.flexibleHeight = x.y;
- }, endValue, duration);
- t.SetOptions(snapping).SetTarget(target);
- return t;
- }
-
- /// Tweens an LayoutElement's minWidth/Height to the given value.
- /// Also stores the LayoutElement as the tween's target so it can be used for filtered operations
- /// The end value to reachThe duration of the tween
- /// If TRUE the tween will smoothly snap all values to integers
- public static TweenerCore DOMinSize(this LayoutElement target, Vector2 endValue, float duration, bool snapping = false)
- {
- TweenerCore t = DOTween.To(() => new Vector2(target.minWidth, target.minHeight), x => {
- target.minWidth = x.x;
- target.minHeight = x.y;
- }, endValue, duration);
- t.SetOptions(snapping).SetTarget(target);
- return t;
- }
-
- /// Tweens an LayoutElement's preferredWidth/Height to the given value.
- /// Also stores the LayoutElement as the tween's target so it can be used for filtered operations
- /// The end value to reachThe duration of the tween
- /// If TRUE the tween will smoothly snap all values to integers
- public static TweenerCore DOPreferredSize(this LayoutElement target, Vector2 endValue, float duration, bool snapping = false)
- {
- TweenerCore t = DOTween.To(() => new Vector2(target.preferredWidth, target.preferredHeight), x => {
- target.preferredWidth = x.x;
- target.preferredHeight = x.y;
- }, endValue, duration);
- t.SetOptions(snapping).SetTarget(target);
- return t;
- }
-
- #endregion
-
- #region Outline
-
- /// Tweens a Outline's effectColor to the given value.
- /// Also stores the Outline as the tween's target so it can be used for filtered operations
- /// The end value to reachThe duration of the tween
- public static TweenerCore DOColor(this Outline target, Color endValue, float duration)
- {
- TweenerCore t = DOTween.To(() => target.effectColor, x => target.effectColor = x, endValue, duration);
- t.SetTarget(target);
- return t;
- }
-
- /// Tweens a Outline's effectColor alpha to the given value.
- /// Also stores the Outline as the tween's target so it can be used for filtered operations
- /// The end value to reachThe duration of the tween
- public static TweenerCore DOFade(this Outline target, float endValue, float duration)
- {
- TweenerCore t = DOTween.ToAlpha(() => target.effectColor, x => target.effectColor = x, endValue, duration);
- t.SetTarget(target);
- return t;
- }
-
- /// Tweens a Outline's effectDistance to the given value.
- /// Also stores the Outline as the tween's target so it can be used for filtered operations
- /// The end value to reachThe duration of the tween
- public static TweenerCore DOScale(this Outline target, Vector2 endValue, float duration)
- {
- TweenerCore t = DOTween.To(() => target.effectDistance, x => target.effectDistance = x, endValue, duration);
- t.SetTarget(target);
- return t;
- }
-
- #endregion
-
- #region RectTransform
-
- /// Tweens a RectTransform's anchoredPosition to the given value.
- /// Also stores the RectTransform as the tween's target so it can be used for filtered operations
- /// The end value to reachThe duration of the tween
- /// If TRUE the tween will smoothly snap all values to integers
- public static TweenerCore DOAnchorPos(this RectTransform target, Vector2 endValue, float duration, bool snapping = false)
- {
- TweenerCore t = DOTween.To(() => target.anchoredPosition, x => target.anchoredPosition = x, endValue, duration);
- t.SetOptions(snapping).SetTarget(target);
- return t;
- }
- /// Tweens a RectTransform's anchoredPosition X to the given value.
- /// Also stores the RectTransform as the tween's target so it can be used for filtered operations
- /// The end value to reachThe duration of the tween
- /// If TRUE the tween will smoothly snap all values to integers
- public static TweenerCore DOAnchorPosX(this RectTransform target, float endValue, float duration, bool snapping = false)
- {
- TweenerCore t = DOTween.To(() => target.anchoredPosition, x => target.anchoredPosition = x, new Vector2(endValue, 0), duration);
- t.SetOptions(AxisConstraint.X, snapping).SetTarget(target);
- return t;
- }
- /// Tweens a RectTransform's anchoredPosition Y to the given value.
- /// Also stores the RectTransform as the tween's target so it can be used for filtered operations
- /// The end value to reachThe duration of the tween
- /// If TRUE the tween will smoothly snap all values to integers
- public static TweenerCore DOAnchorPosY(this RectTransform target, float endValue, float duration, bool snapping = false)
- {
- TweenerCore t = DOTween.To(() => target.anchoredPosition, x => target.anchoredPosition = x, new Vector2(0, endValue), duration);
- t.SetOptions(AxisConstraint.Y, snapping).SetTarget(target);
- return t;
- }
-
- /// Tweens a RectTransform's anchoredPosition3D to the given value.
- /// Also stores the RectTransform as the tween's target so it can be used for filtered operations
- /// The end value to reachThe duration of the tween
- /// If TRUE the tween will smoothly snap all values to integers
- public static TweenerCore DOAnchorPos3D(this RectTransform target, Vector3 endValue, float duration, bool snapping = false)
- {
- TweenerCore t = DOTween.To(() => target.anchoredPosition3D, x => target.anchoredPosition3D = x, endValue, duration);
- t.SetOptions(snapping).SetTarget(target);
- return t;
- }
- /// Tweens a RectTransform's anchoredPosition3D X to the given value.
- /// Also stores the RectTransform as the tween's target so it can be used for filtered operations
- /// The end value to reachThe duration of the tween
- /// If TRUE the tween will smoothly snap all values to integers
- public static TweenerCore DOAnchorPos3DX(this RectTransform target, float endValue, float duration, bool snapping = false)
- {
- TweenerCore t = DOTween.To(() => target.anchoredPosition3D, x => target.anchoredPosition3D = x, new Vector3(endValue, 0, 0), duration);
- t.SetOptions(AxisConstraint.X, snapping).SetTarget(target);
- return t;
- }
- /// Tweens a RectTransform's anchoredPosition3D Y to the given value.
- /// Also stores the RectTransform as the tween's target so it can be used for filtered operations
- /// The end value to reachThe duration of the tween
- /// If TRUE the tween will smoothly snap all values to integers
- public static TweenerCore DOAnchorPos3DY(this RectTransform target, float endValue, float duration, bool snapping = false)
- {
- TweenerCore t = DOTween.To(() => target.anchoredPosition3D, x => target.anchoredPosition3D = x, new Vector3(0, endValue, 0), duration);
- t.SetOptions(AxisConstraint.Y, snapping).SetTarget(target);
- return t;
- }
- /// Tweens a RectTransform's anchoredPosition3D Z to the given value.
- /// Also stores the RectTransform as the tween's target so it can be used for filtered operations
- /// The end value to reachThe duration of the tween
- /// If TRUE the tween will smoothly snap all values to integers
- public static TweenerCore DOAnchorPos3DZ(this RectTransform target, float endValue, float duration, bool snapping = false)
- {
- TweenerCore t = DOTween.To(() => target.anchoredPosition3D, x => target.anchoredPosition3D = x, new Vector3(0, 0, endValue), duration);
- t.SetOptions(AxisConstraint.Z, snapping).SetTarget(target);
- return t;
- }
-
- /// Tweens a RectTransform's anchorMax to the given value.
- /// Also stores the RectTransform as the tween's target so it can be used for filtered operations
- /// The end value to reachThe duration of the tween
- /// If TRUE the tween will smoothly snap all values to integers
- public static TweenerCore DOAnchorMax(this RectTransform target, Vector2 endValue, float duration, bool snapping = false)
- {
- TweenerCore t = DOTween.To(() => target.anchorMax, x => target.anchorMax = x, endValue, duration);
- t.SetOptions(snapping).SetTarget(target);
- return t;
- }
-
- /// Tweens a RectTransform's anchorMin to the given value.
- /// Also stores the RectTransform as the tween's target so it can be used for filtered operations
- /// The end value to reachThe duration of the tween
- /// If TRUE the tween will smoothly snap all values to integers
- public static TweenerCore DOAnchorMin(this RectTransform target, Vector2 endValue, float duration, bool snapping = false)
- {
- TweenerCore t = DOTween.To(() => target.anchorMin, x => target.anchorMin = x, endValue, duration);
- t.SetOptions(snapping).SetTarget(target);
- return t;
- }
-
- /// Tweens a RectTransform's pivot to the given value.
- /// Also stores the RectTransform as the tween's target so it can be used for filtered operations
- /// The end value to reachThe duration of the tween
- public static TweenerCore DOPivot(this RectTransform target, Vector2 endValue, float duration)
- {
- TweenerCore t = DOTween.To(() => target.pivot, x => target.pivot = x, endValue, duration);
- t.SetTarget(target);
- return t;
- }
- /// Tweens a RectTransform's pivot X to the given value.
- /// Also stores the RectTransform as the tween's target so it can be used for filtered operations
- /// The end value to reachThe duration of the tween
- public static TweenerCore DOPivotX(this RectTransform target, float endValue, float duration)
- {
- TweenerCore t = DOTween.To(() => target.pivot, x => target.pivot = x, new Vector2(endValue, 0), duration);
- t.SetOptions(AxisConstraint.X).SetTarget(target);
- return t;
- }
- /// Tweens a RectTransform's pivot Y to the given value.
- /// Also stores the RectTransform as the tween's target so it can be used for filtered operations
- /// The end value to reachThe duration of the tween
- public static TweenerCore DOPivotY(this RectTransform target, float endValue, float duration)
- {
- TweenerCore t = DOTween.To(() => target.pivot, x => target.pivot = x, new Vector2(0, endValue), duration);
- t.SetOptions(AxisConstraint.Y).SetTarget(target);
- return t;
- }
-
- /// Tweens a RectTransform's sizeDelta to the given value.
- /// Also stores the RectTransform as the tween's target so it can be used for filtered operations
- /// The end value to reachThe duration of the tween
- /// If TRUE the tween will smoothly snap all values to integers
- public static TweenerCore DOSizeDelta(this RectTransform target, Vector2 endValue, float duration, bool snapping = false)
- {
- TweenerCore t = DOTween.To(() => target.sizeDelta, x => target.sizeDelta = x, endValue, duration);
- t.SetOptions(snapping).SetTarget(target);
- return t;
- }
-
- /// Punches a RectTransform's anchoredPosition towards the given direction and then back to the starting one
- /// as if it was connected to the starting position via an elastic.
- /// Also stores the RectTransform as the tween's target so it can be used for filtered operations
- /// The direction and strength of the punch (added to the RectTransform's current position)
- /// The duration of the tween
- /// Indicates how much will the punch vibrate
- /// Represents how much (0 to 1) the vector will go beyond the starting position when bouncing backwards.
- /// 1 creates a full oscillation between the punch direction and the opposite direction,
- /// while 0 oscillates only between the punch and the start position
- /// If TRUE the tween will smoothly snap all values to integers
- public static Tweener DOPunchAnchorPos(this RectTransform target, Vector2 punch, float duration, int vibrato = 10, float elasticity = 1, bool snapping = false)
- {
- return DOTween.Punch(() => target.anchoredPosition, x => target.anchoredPosition = x, punch, duration, vibrato, elasticity)
- .SetTarget(target).SetOptions(snapping);
- }
-
- /// Shakes a RectTransform's anchoredPosition with the given values.
- /// Also stores the RectTransform as the tween's target so it can be used for filtered operations
- /// The duration of the tween
- /// The shake strength
- /// Indicates how much will the shake vibrate
- /// Indicates how much the shake will be random (0 to 180 - values higher than 90 kind of suck, so beware).
- /// Setting it to 0 will shake along a single direction.
- /// If TRUE the tween will smoothly snap all values to integers
- /// If TRUE the shake will automatically fadeOut smoothly within the tween's duration, otherwise it will not
- /// Randomness mode
- public static Tweener DOShakeAnchorPos(this RectTransform target, float duration, float strength = 100, int vibrato = 10, float randomness = 90, bool snapping = false, bool fadeOut = true, ShakeRandomnessMode randomnessMode = ShakeRandomnessMode.Full)
- {
- return DOTween.Shake(() => target.anchoredPosition, x => target.anchoredPosition = x, duration, strength, vibrato, randomness, true, fadeOut, randomnessMode)
- .SetTarget(target).SetSpecialStartupMode(SpecialStartupMode.SetShake).SetOptions(snapping);
- }
- /// Shakes a RectTransform's anchoredPosition with the given values.
- /// Also stores the RectTransform as the tween's target so it can be used for filtered operations
- /// The duration of the tween
- /// The shake strength on each axis
- /// Indicates how much will the shake vibrate
- /// Indicates how much the shake will be random (0 to 180 - values higher than 90 kind of suck, so beware).
- /// Setting it to 0 will shake along a single direction.
- /// If TRUE the tween will smoothly snap all values to integers
- /// If TRUE the shake will automatically fadeOut smoothly within the tween's duration, otherwise it will not
- /// Randomness mode
- public static Tweener DOShakeAnchorPos(this RectTransform target, float duration, Vector2 strength, int vibrato = 10, float randomness = 90, bool snapping = false, bool fadeOut = true, ShakeRandomnessMode randomnessMode = ShakeRandomnessMode.Full)
- {
- return DOTween.Shake(() => target.anchoredPosition, x => target.anchoredPosition = x, duration, strength, vibrato, randomness, fadeOut, randomnessMode)
- .SetTarget(target).SetSpecialStartupMode(SpecialStartupMode.SetShake).SetOptions(snapping);
- }
-
- #region Special
-
- /// Tweens a RectTransform's anchoredPosition to the given value, while also applying a jump effect along the Y axis.
- /// Returns a Sequence instead of a Tweener.
- /// Also stores the RectTransform as the tween's target so it can be used for filtered operations
- /// The end value to reach
- /// Power of the jump (the max height of the jump is represented by this plus the final Y offset)
- /// Total number of jumps
- /// The duration of the tween
- /// If TRUE the tween will smoothly snap all values to integers
- public static Sequence DOJumpAnchorPos(this RectTransform target, Vector2 endValue, float jumpPower, int numJumps, float duration, bool snapping = false)
- {
- if (numJumps < 1) numJumps = 1;
- float startPosY = 0;
- float offsetY = -1;
- bool offsetYSet = false;
-
- // Separate Y Tween so we can elaborate elapsedPercentage on that insted of on the Sequence
- // (in case users add a delay or other elements to the Sequence)
- Sequence s = DOTween.Sequence();
- Tween yTween = DOTween.To(() => target.anchoredPosition, x => target.anchoredPosition = x, new Vector2(0, jumpPower), duration / (numJumps * 2))
- .SetOptions(AxisConstraint.Y, snapping).SetEase(Ease.OutQuad).SetRelative()
- .SetLoops(numJumps * 2, LoopType.Yoyo)
- .OnStart(()=> startPosY = target.anchoredPosition.y);
- s.Append(DOTween.To(() => target.anchoredPosition, x => target.anchoredPosition = x, new Vector2(endValue.x, 0), duration)
- .SetOptions(AxisConstraint.X, snapping).SetEase(Ease.Linear)
- ).Join(yTween)
- .SetTarget(target).SetEase(DOTween.defaultEaseType);
- s.OnUpdate(() => {
- if (!offsetYSet) {
- offsetYSet = true;
- offsetY = s.isRelative ? endValue.y : endValue.y - startPosY;
- }
- Vector2 pos = target.anchoredPosition;
- pos.y += DOVirtual.EasedValue(0, offsetY, s.ElapsedDirectionalPercentage(), Ease.OutQuad);
- target.anchoredPosition = pos;
- });
- return s;
- }
-
- #endregion
-
- #endregion
-
- #region ScrollRect
-
- /// Tweens a ScrollRect's horizontal/verticalNormalizedPosition to the given value.
- /// Also stores the ScrollRect as the tween's target so it can be used for filtered operations
- /// The end value to reachThe duration of the tween
- /// If TRUE the tween will smoothly snap all values to integers
- public static Tweener DONormalizedPos(this ScrollRect target, Vector2 endValue, float duration, bool snapping = false)
- {
- return DOTween.To(() => new Vector2(target.horizontalNormalizedPosition, target.verticalNormalizedPosition),
- x => {
- target.horizontalNormalizedPosition = x.x;
- target.verticalNormalizedPosition = x.y;
- }, endValue, duration)
- .SetOptions(snapping).SetTarget(target);
- }
- /// Tweens a ScrollRect's horizontalNormalizedPosition to the given value.
- /// Also stores the ScrollRect as the tween's target so it can be used for filtered operations
- /// The end value to reachThe duration of the tween
- /// If TRUE the tween will smoothly snap all values to integers
- public static Tweener DOHorizontalNormalizedPos(this ScrollRect target, float endValue, float duration, bool snapping = false)
- {
- return DOTween.To(() => target.horizontalNormalizedPosition, x => target.horizontalNormalizedPosition = x, endValue, duration)
- .SetOptions(snapping).SetTarget(target);
- }
- /// Tweens a ScrollRect's verticalNormalizedPosition to the given value.
- /// Also stores the ScrollRect as the tween's target so it can be used for filtered operations
- /// The end value to reachThe duration of the tween
- /// If TRUE the tween will smoothly snap all values to integers
- public static Tweener DOVerticalNormalizedPos(this ScrollRect target, float endValue, float duration, bool snapping = false)
- {
- return DOTween.To(() => target.verticalNormalizedPosition, x => target.verticalNormalizedPosition = x, endValue, duration)
- .SetOptions(snapping).SetTarget(target);
- }
-
- #endregion
-
- #region Slider
-
- /// Tweens a Slider's value to the given value.
- /// Also stores the Slider as the tween's target so it can be used for filtered operations
- /// The end value to reachThe duration of the tween
- /// If TRUE the tween will smoothly snap all values to integers
- public static TweenerCore DOValue(this Slider target, float endValue, float duration, bool snapping = false)
- {
- TweenerCore t = DOTween.To(() => target.value, x => target.value = x, endValue, duration);
- t.SetOptions(snapping).SetTarget(target);
- return t;
- }
-
- #endregion
-
- #region Text
-
- /// Tweens a Text's color to the given value.
- /// Also stores the Text as the tween's target so it can be used for filtered operations
- /// The end value to reachThe duration of the tween
- public static TweenerCore DOColor(this Text target, Color endValue, float duration)
- {
- TweenerCore t = DOTween.To(() => target.color, x => target.color = x, endValue, duration);
- t.SetTarget(target);
- return t;
- }
-
- ///
- /// Tweens a Text's text from one integer to another, with options for thousands separators
- ///
- /// The value to start from
- /// The end value to reach
- /// The duration of the tween
- /// If TRUE (default) also adds thousands separators
- /// The to use (InvariantCulture if NULL)
- public static TweenerCore DOCounter(
- this Text target, int fromValue, int endValue, float duration, bool addThousandsSeparator = true, CultureInfo culture = null
- ){
- int v = fromValue;
- CultureInfo cInfo = !addThousandsSeparator ? null : culture ?? CultureInfo.InvariantCulture;
- TweenerCore t = DOTween.To(() => v, x => {
- v = x;
- target.text = addThousandsSeparator
- ? v.ToString("N0", cInfo)
- : v.ToString();
- }, endValue, duration);
- t.SetTarget(target);
- return t;
- }
-
- /// Tweens a Text's alpha color to the given value.
- /// Also stores the Text as the tween's target so it can be used for filtered operations
- /// The end value to reachThe duration of the tween
- public static TweenerCore DOFade(this Text target, float endValue, float duration)
- {
- TweenerCore t = DOTween.ToAlpha(() => target.color, x => target.color = x, endValue, duration);
- t.SetTarget(target);
- return t;
- }
-
- /// Tweens a Text's text to the given value.
- /// Also stores the Text as the tween's target so it can be used for filtered operations
- /// The end string to tween toThe duration of the tween
- /// If TRUE (default), rich text will be interpreted correctly while animated,
- /// otherwise all tags will be considered as normal text
- /// The type of scramble mode to use, if any
- /// A string containing the characters to use for scrambling.
- /// Use as many characters as possible (minimum 10) because DOTween uses a fast scramble mode which gives better results with more characters.
- /// Leave it to NULL (default) to use default ones
- public static TweenerCore DOText(this Text target, string endValue, float duration, bool richTextEnabled = true, ScrambleMode scrambleMode = ScrambleMode.None, string scrambleChars = null)
- {
- if (endValue == null) {
- if (Debugger.logPriority > 0) Debugger.LogWarning("You can't pass a NULL string to DOText: an empty string will be used instead to avoid errors");
- endValue = "";
- }
- TweenerCore t = DOTween.To(() => target.text, x => target.text = x, endValue, duration);
- t.SetOptions(richTextEnabled, scrambleMode, scrambleChars)
- .SetTarget(target);
- return t;
- }
-
- #endregion
-
- #region Blendables
-
- #region Graphic
-
- /// Tweens a Graphic's color to the given value,
- /// in a way that allows other DOBlendableColor tweens to work together on the same target,
- /// instead than fight each other as multiple DOColor would do.
- /// Also stores the Graphic as the tween's target so it can be used for filtered operations
- /// The value to tween toThe duration of the tween
- public static Tweener DOBlendableColor(this Graphic target, Color endValue, float duration)
- {
- endValue = endValue - target.color;
- Color to = new Color(0, 0, 0, 0);
- return DOTween.To(() => to, x => {
- Color diff = x - to;
- to = x;
- target.color += diff;
- }, endValue, duration)
- .Blendable().SetTarget(target);
- }
-
- #endregion
-
- #region Image
-
- /// Tweens a Image's color to the given value,
- /// in a way that allows other DOBlendableColor tweens to work together on the same target,
- /// instead than fight each other as multiple DOColor would do.
- /// Also stores the Image as the tween's target so it can be used for filtered operations
- /// The value to tween toThe duration of the tween
- public static Tweener DOBlendableColor(this Image target, Color endValue, float duration)
- {
- endValue = endValue - target.color;
- Color to = new Color(0, 0, 0, 0);
- return DOTween.To(() => to, x => {
- Color diff = x - to;
- to = x;
- target.color += diff;
- }, endValue, duration)
- .Blendable().SetTarget(target);
- }
-
- #endregion
-
- #region Text
-
- /// Tweens a Text's color BY the given value,
- /// in a way that allows other DOBlendableColor tweens to work together on the same target,
- /// instead than fight each other as multiple DOColor would do.
- /// Also stores the Text as the tween's target so it can be used for filtered operations
- /// The value to tween toThe duration of the tween
- public static Tweener DOBlendableColor(this Text target, Color endValue, float duration)
- {
- endValue = endValue - target.color;
- Color to = new Color(0, 0, 0, 0);
- return DOTween.To(() => to, x => {
- Color diff = x - to;
- to = x;
- target.color += diff;
- }, endValue, duration)
- .Blendable().SetTarget(target);
- }
-
- #endregion
-
- #endregion
-
- #region Shapes
-
- /// Tweens a RectTransform's anchoredPosition so that it draws a circle around the given center.
- /// Also stores the RectTransform as the tween's target so it can be used for filtered operations.
- /// IMPORTANT: SetFrom(value) requires a instead of a float, where the X property represents the "from degrees value"
- /// Circle-center/pivot around which to rotate (in UI anchoredPosition coordinates)
- /// The end value degrees to reach (to rotate counter-clockwise pass a negative value)
- /// The duration of the tween
- /// If TRUE the coordinates will be considered as relative to the target's current anchoredPosition
- /// If TRUE the tween will smoothly snap all values to integers
- public static TweenerCore DOShapeCircle(
- this RectTransform target, Vector2 center, float endValueDegrees, float duration, bool relativeCenter = false, bool snapping = false
- )
- {
- TweenerCore t = DOTween.To(
- CirclePlugin.Get(), () => target.anchoredPosition, x => target.anchoredPosition = x, center, duration
- );
- t.SetOptions(endValueDegrees, relativeCenter, snapping).SetTarget(target);
- return t;
- }
-
- #endregion
-
- #endregion
-
- // █████████████████████████████████████████████████████████████████████████████████████████████████████████████████████
- // ███ INTERNAL CLASSES ████████████████████████████████████████████████████████████████████████████████████████████████
- // █████████████████████████████████████████████████████████████████████████████████████████████████████████████████████
-
- public static class Utils
- {
- ///
- /// Converts the anchoredPosition of the first RectTransform to the second RectTransform,
- /// taking into consideration offset, anchors and pivot, and returns the new anchoredPosition
- ///
- public static Vector2 SwitchToRectTransform(RectTransform from, RectTransform to)
- {
- Vector2 localPoint;
- Vector2 fromPivotDerivedOffset = new Vector2(from.rect.width * 0.5f + from.rect.xMin, from.rect.height * 0.5f + from.rect.yMin);
- Vector2 screenP = RectTransformUtility.WorldToScreenPoint(null, from.position);
- screenP += fromPivotDerivedOffset;
- RectTransformUtility.ScreenPointToLocalPointInRectangle(to, screenP, null, out localPoint);
- Vector2 pivotDerivedOffset = new Vector2(to.rect.width * 0.5f + to.rect.xMin, to.rect.height * 0.5f + to.rect.yMin);
- return to.anchoredPosition + localPoint - pivotDerivedOffset;
- }
- }
- }
-}
-#endif
diff --git a/Assets/DOTween/Modules/DOTweenModuleUI.cs.meta b/Assets/DOTween/Modules/DOTweenModuleUI.cs.meta
deleted file mode 100644
index 495b519..0000000
--- a/Assets/DOTween/Modules/DOTweenModuleUI.cs.meta
+++ /dev/null
@@ -1,2 +0,0 @@
-fileFormatVersion: 2
-guid: a7655e50a1228954492ba06913483c38
\ No newline at end of file
diff --git a/Assets/DOTween/Modules/DOTweenModuleUnityVersion.cs b/Assets/DOTween/Modules/DOTweenModuleUnityVersion.cs
deleted file mode 100644
index 8f818ba..0000000
--- a/Assets/DOTween/Modules/DOTweenModuleUnityVersion.cs
+++ /dev/null
@@ -1,389 +0,0 @@
-// Author: Daniele Giardini - http://www.demigiant.com
-// Created: 2018/07/13
-
-using System;
-using UnityEngine;
-using DG.Tweening.Core;
-using DG.Tweening.Plugins.Options;
-//#if UNITY_2018_1_OR_NEWER && (NET_4_6 || NET_STANDARD_2_0)
-//using Task = System.Threading.Tasks.Task;
-//#endif
-
-#pragma warning disable 1591
-namespace DG.Tweening
-{
- ///
- /// Shortcuts/functions that are not strictly related to specific Modules
- /// but are available only on some Unity versions
- ///
- public static class DOTweenModuleUnityVersion
- {
- #region Material
-
- /// Tweens a Material's color using the given gradient
- /// (NOTE 1: only uses the colors of the gradient, not the alphas - NOTE 2: creates a Sequence, not a Tweener).
- /// Also stores the image as the tween's target so it can be used for filtered operations
- /// The gradient to useThe duration of the tween
- public static Sequence DOGradientColor(this Material target, Gradient gradient, float duration)
- {
- Sequence s = DOTween.Sequence();
- GradientColorKey[] colors = gradient.colorKeys;
- int len = colors.Length;
- for (int i = 0; i < len; ++i) {
- GradientColorKey c = colors[i];
- if (i == 0 && c.time <= 0) {
- target.color = c.color;
- continue;
- }
- float colorDuration = i == len - 1
- ? duration - s.Duration(false) // Verifies that total duration is correct
- : duration * (i == 0 ? c.time : c.time - colors[i - 1].time);
- s.Append(target.DOColor(c.color, colorDuration).SetEase(Ease.Linear));
- }
- s.SetTarget(target);
- return s;
- }
- /// Tweens a Material's named color property using the given gradient
- /// (NOTE 1: only uses the colors of the gradient, not the alphas - NOTE 2: creates a Sequence, not a Tweener).
- /// Also stores the image as the tween's target so it can be used for filtered operations
- /// The gradient to use
- /// The name of the material property to tween (like _Tint or _SpecColor)
- /// The duration of the tween
- public static Sequence DOGradientColor(this Material target, Gradient gradient, string property, float duration)
- {
- Sequence s = DOTween.Sequence();
- GradientColorKey[] colors = gradient.colorKeys;
- int len = colors.Length;
- for (int i = 0; i < len; ++i) {
- GradientColorKey c = colors[i];
- if (i == 0 && c.time <= 0) {
- target.SetColor(property, c.color);
- continue;
- }
- float colorDuration = i == len - 1
- ? duration - s.Duration(false) // Verifies that total duration is correct
- : duration * (i == 0 ? c.time : c.time - colors[i - 1].time);
- s.Append(target.DOColor(c.color, property, colorDuration).SetEase(Ease.Linear));
- }
- s.SetTarget(target);
- return s;
- }
-
- #endregion
-
- #region CustomYieldInstructions
-
- ///
- /// Returns a that waits until the tween is killed or complete.
- /// It can be used inside a coroutine as a yield.
- /// Example usage:yield return myTween.WaitForCompletion(true);
- ///
- public static CustomYieldInstruction WaitForCompletion(this Tween t, bool returnCustomYieldInstruction)
- {
- if (!t.active) {
- if (Debugger.logPriority > 0) Debugger.LogInvalidTween(t);
- return null;
- }
- return new DOTweenCYInstruction.WaitForCompletion(t);
- }
-
- ///
- /// Returns a that waits until the tween is killed or rewinded.
- /// It can be used inside a coroutine as a yield.
- /// Example usage:yield return myTween.WaitForRewind();
- ///
- public static CustomYieldInstruction WaitForRewind(this Tween t, bool returnCustomYieldInstruction)
- {
- if (!t.active) {
- if (Debugger.logPriority > 0) Debugger.LogInvalidTween(t);
- return null;
- }
- return new DOTweenCYInstruction.WaitForRewind(t);
- }
-
- ///
- /// Returns a that waits until the tween is killed.
- /// It can be used inside a coroutine as a yield.
- /// Example usage:yield return myTween.WaitForKill();
- ///
- public static CustomYieldInstruction WaitForKill(this Tween t, bool returnCustomYieldInstruction)
- {
- if (!t.active) {
- if (Debugger.logPriority > 0) Debugger.LogInvalidTween(t);
- return null;
- }
- return new DOTweenCYInstruction.WaitForKill(t);
- }
-
- ///
- /// Returns a that waits until the tween is killed or has gone through the given amount of loops.
- /// It can be used inside a coroutine as a yield.
- /// Example usage:yield return myTween.WaitForElapsedLoops(2);
- ///
- /// Elapsed loops to wait for
- public static CustomYieldInstruction WaitForElapsedLoops(this Tween t, int elapsedLoops, bool returnCustomYieldInstruction)
- {
- if (!t.active) {
- if (Debugger.logPriority > 0) Debugger.LogInvalidTween(t);
- return null;
- }
- return new DOTweenCYInstruction.WaitForElapsedLoops(t, elapsedLoops);
- }
-
- ///
- /// Returns a that waits until the tween is killed
- /// or has reached the given time position (loops included, delays excluded).
- /// It can be used inside a coroutine as a yield.
- /// Example usage:yield return myTween.WaitForPosition(2.5f);
- ///
- /// Position (loops included, delays excluded) to wait for
- public static CustomYieldInstruction WaitForPosition(this Tween t, float position, bool returnCustomYieldInstruction)
- {
- if (!t.active) {
- if (Debugger.logPriority > 0) Debugger.LogInvalidTween(t);
- return null;
- }
- return new DOTweenCYInstruction.WaitForPosition(t, position);
- }
-
- ///
- /// Returns a that waits until the tween is killed or started
- /// (meaning when the tween is set in a playing state the first time, after any eventual delay).
- /// It can be used inside a coroutine as a yield.
- /// Example usage:yield return myTween.WaitForStart();
- ///
- public static CustomYieldInstruction WaitForStart(this Tween t, bool returnCustomYieldInstruction)
- {
- if (!t.active) {
- if (Debugger.logPriority > 0) Debugger.LogInvalidTween(t);
- return null;
- }
- return new DOTweenCYInstruction.WaitForStart(t);
- }
-
- #endregion
-
-#if UNITY_2018_1_OR_NEWER
- #region Unity 2018.1 or Newer
-
- #region Material
-
- /// Tweens a Material's named texture offset property with the given ID to the given value.
- /// Also stores the material as the tween's target so it can be used for filtered operations
- /// The end value to reach
- /// The ID of the material property to tween (also called nameID in Unity's manual)
- /// The duration of the tween
- public static TweenerCore DOOffset(this Material target, Vector2 endValue, int propertyID, float duration)
- {
- if (!target.HasProperty(propertyID)) {
- if (Debugger.logPriority > 0) Debugger.LogMissingMaterialProperty(propertyID);
- return null;
- }
- TweenerCore t = DOTween.To(() => target.GetTextureOffset(propertyID), x => target.SetTextureOffset(propertyID, x), endValue, duration);
- t.SetTarget(target);
- return t;
- }
-
- /// Tweens a Material's named texture scale property with the given ID to the given value.
- /// Also stores the material as the tween's target so it can be used for filtered operations
- /// The end value to reach
- /// The ID of the material property to tween (also called nameID in Unity's manual)
- /// The duration of the tween
- public static TweenerCore DOTiling(this Material target, Vector2 endValue, int propertyID, float duration)
- {
- if (!target.HasProperty(propertyID)) {
- if (Debugger.logPriority > 0) Debugger.LogMissingMaterialProperty(propertyID);
- return null;
- }
- TweenerCore t = DOTween.To(() => target.GetTextureScale(propertyID), x => target.SetTextureScale(propertyID, x), endValue, duration);
- t.SetTarget(target);
- return t;
- }
-
- #endregion
-
- #region .NET 4.6 or Newer
-
-#if UNITY_2018_1_OR_NEWER && (NET_4_6 || NET_STANDARD_2_0)
-
- #region Async Instructions
-
- ///
- /// Returns an async that waits until the tween is killed or complete.
- /// It can be used inside an async operation.
- /// Example usage:await myTween.WaitForCompletion();
- ///
- public static async System.Threading.Tasks.Task AsyncWaitForCompletion(this Tween t)
- {
- if (!t.active) {
- if (Debugger.logPriority > 0) Debugger.LogInvalidTween(t);
- return;
- }
- while (t.active && !t.IsComplete()) await System.Threading.Tasks.Task.Yield();
- }
-
- ///
- /// Returns an async that waits until the tween is killed or rewinded.
- /// It can be used inside an async operation.
- /// Example usage:await myTween.AsyncWaitForRewind();
- ///
- public static async System.Threading.Tasks.Task AsyncWaitForRewind(this Tween t)
- {
- if (!t.active) {
- if (Debugger.logPriority > 0) Debugger.LogInvalidTween(t);
- return;
- }
- while (t.active && (!t.playedOnce || t.position * (t.CompletedLoops() + 1) > 0)) await System.Threading.Tasks.Task.Yield();
- }
-
- ///
- /// Returns an async that waits until the tween is killed.
- /// It can be used inside an async operation.
- /// Example usage:await myTween.AsyncWaitForKill();
- ///
- public static async System.Threading.Tasks.Task AsyncWaitForKill(this Tween t)
- {
- if (!t.active) {
- if (Debugger.logPriority > 0) Debugger.LogInvalidTween(t);
- return;
- }
- while (t.active) await System.Threading.Tasks.Task.Yield();
- }
-
- ///
- /// Returns an async that waits until the tween is killed or has gone through the given amount of loops.
- /// It can be used inside an async operation.
- /// Example usage:await myTween.AsyncWaitForElapsedLoops();
- ///
- /// Elapsed loops to wait for
- public static async System.Threading.Tasks.Task AsyncWaitForElapsedLoops(this Tween t, int elapsedLoops)
- {
- if (!t.active) {
- if (Debugger.logPriority > 0) Debugger.LogInvalidTween(t);
- return;
- }
- while (t.active && t.CompletedLoops() < elapsedLoops) await System.Threading.Tasks.Task.Yield();
- }
-
- ///
- /// Returns an async that waits until the tween is killed or started
- /// (meaning when the tween is set in a playing state the first time, after any eventual delay).
- /// It can be used inside an async operation.
- /// Example usage:await myTween.AsyncWaitForPosition();
- ///
- /// Position (loops included, delays excluded) to wait for
- public static async System.Threading.Tasks.Task AsyncWaitForPosition(this Tween t, float position)
- {
- if (!t.active) {
- if (Debugger.logPriority > 0) Debugger.LogInvalidTween(t);
- return;
- }
- while (t.active && t.position * (t.CompletedLoops() + 1) < position) await System.Threading.Tasks.Task.Yield();
- }
-
- ///
- /// Returns an async that waits until the tween is killed.
- /// It can be used inside an async operation.
- /// Example usage:await myTween.AsyncWaitForKill();
- ///
- public static async System.Threading.Tasks.Task AsyncWaitForStart(this Tween t)
- {
- if (!t.active) {
- if (Debugger.logPriority > 0) Debugger.LogInvalidTween(t);
- return;
- }
- while (t.active && !t.playedOnce) await System.Threading.Tasks.Task.Yield();
- }
-
- #endregion
-#endif
-
- #endregion
-
- #endregion
-#endif
- }
-
- // █████████████████████████████████████████████████████████████████████████████████████████████████████████████████████
- // ███ CLASSES █████████████████████████████████████████████████████████████████████████████████████████████████████████
- // █████████████████████████████████████████████████████████████████████████████████████████████████████████████████████
-
- public static class DOTweenCYInstruction
- {
- public class WaitForCompletion : CustomYieldInstruction
- {
- public override bool keepWaiting { get {
- return t.active && !t.IsComplete();
- }}
- readonly Tween t;
- public WaitForCompletion(Tween tween)
- {
- t = tween;
- }
- }
-
- public class WaitForRewind : CustomYieldInstruction
- {
- public override bool keepWaiting { get {
- return t.active && (!t.playedOnce || t.position * (t.CompletedLoops() + 1) > 0);
- }}
- readonly Tween t;
- public WaitForRewind(Tween tween)
- {
- t = tween;
- }
- }
-
- public class WaitForKill : CustomYieldInstruction
- {
- public override bool keepWaiting { get {
- return t.active;
- }}
- readonly Tween t;
- public WaitForKill(Tween tween)
- {
- t = tween;
- }
- }
-
- public class WaitForElapsedLoops : CustomYieldInstruction
- {
- public override bool keepWaiting { get {
- return t.active && t.CompletedLoops() < elapsedLoops;
- }}
- readonly Tween t;
- readonly int elapsedLoops;
- public WaitForElapsedLoops(Tween tween, int elapsedLoops)
- {
- t = tween;
- this.elapsedLoops = elapsedLoops;
- }
- }
-
- public class WaitForPosition : CustomYieldInstruction
- {
- public override bool keepWaiting { get {
- return t.active && t.position * (t.CompletedLoops() + 1) < position;
- }}
- readonly Tween t;
- readonly float position;
- public WaitForPosition(Tween tween, float position)
- {
- t = tween;
- this.position = position;
- }
- }
-
- public class WaitForStart : CustomYieldInstruction
- {
- public override bool keepWaiting { get {
- return t.active && !t.playedOnce;
- }}
- readonly Tween t;
- public WaitForStart(Tween tween)
- {
- t = tween;
- }
- }
- }
-}
diff --git a/Assets/DOTween/Modules/DOTweenModuleUnityVersion.cs.meta b/Assets/DOTween/Modules/DOTweenModuleUnityVersion.cs.meta
deleted file mode 100644
index 78d2f44..0000000
--- a/Assets/DOTween/Modules/DOTweenModuleUnityVersion.cs.meta
+++ /dev/null
@@ -1,2 +0,0 @@
-fileFormatVersion: 2
-guid: c30601d6122da714ea28a9d7b1f1370c
\ No newline at end of file
diff --git a/Assets/DOTween/Modules/DOTweenModuleUtils.cs b/Assets/DOTween/Modules/DOTweenModuleUtils.cs
deleted file mode 100644
index 12a365d..0000000
--- a/Assets/DOTween/Modules/DOTweenModuleUtils.cs
+++ /dev/null
@@ -1,167 +0,0 @@
-// Author: Daniele Giardini - http://www.demigiant.com
-// Created: 2018/07/13
-
-using System;
-using System.Reflection;
-using UnityEngine;
-using DG.Tweening.Core;
-using DG.Tweening.Plugins.Core.PathCore;
-using DG.Tweening.Plugins.Options;
-
-#pragma warning disable 1591
-namespace DG.Tweening
-{
- ///
- /// Utility functions that deal with available Modules.
- /// Modules defines:
- /// - DOTAUDIO
- /// - DOTPHYSICS
- /// - DOTPHYSICS2D
- /// - DOTSPRITE
- /// - DOTUI
- /// Extra defines set and used for implementation of external assets:
- /// - DOTWEEN_TMP ► TextMesh Pro
- /// - DOTWEEN_TK2D ► 2D Toolkit
- ///
- public static class DOTweenModuleUtils
- {
- static bool _initialized;
-
- #region Reflection
-
- ///
- /// Called via Reflection by DOTweenComponent on Awake
- ///
-#if UNITY_2018_1_OR_NEWER
- [UnityEngine.Scripting.Preserve]
-#endif
- public static void Init()
- {
- if (_initialized) return;
-
- _initialized = true;
- DOTweenExternalCommand.SetOrientationOnPath += Physics.SetOrientationOnPath;
-
-#if UNITY_EDITOR
-#if UNITY_4_3 || UNITY_4_4 || UNITY_4_5 || UNITY_4_6 || UNITY_5 || UNITY_2017_1
- UnityEditor.EditorApplication.playmodeStateChanged += PlaymodeStateChanged;
-#else
- UnityEditor.EditorApplication.playModeStateChanged += PlaymodeStateChanged;
-#endif
-#endif
- }
-
-#if UNITY_2018_1_OR_NEWER
-#pragma warning disable
- [UnityEngine.Scripting.Preserve]
- // Just used to preserve methods when building, never called
- static void Preserver()
- {
- Assembly[] loadedAssemblies = AppDomain.CurrentDomain.GetAssemblies();
- MethodInfo mi = typeof(MonoBehaviour).GetMethod("Stub");
- }
-#pragma warning restore
-#endif
-
- #endregion
-
-#if UNITY_EDITOR
- // Fires OnApplicationPause in DOTweenComponent even when Editor is paused (otherwise it's only fired at runtime)
-#if UNITY_4_3 || UNITY_4_4 || UNITY_4_5 || UNITY_4_6 || UNITY_5 || UNITY_2017_1
- static void PlaymodeStateChanged()
- #else
- static void PlaymodeStateChanged(UnityEditor.PlayModeStateChange state)
-#endif
- {
- if (DOTween.instance == null) return;
- DOTween.instance.OnApplicationPause(UnityEditor.EditorApplication.isPaused);
- }
-#endif
-
- // █████████████████████████████████████████████████████████████████████████████████████████████████████████████████████
- // ███ INTERNAL CLASSES ████████████████████████████████████████████████████████████████████████████████████████████████
- // █████████████████████████████████████████████████████████████████████████████████████████████████████████████████████
-
- public static class Physics
- {
- // Called via DOTweenExternalCommand callback
- public static void SetOrientationOnPath(PathOptions options, Tween t, Quaternion newRot, Transform trans)
- {
-#if true // PHYSICS_MARKER
- if (options.isRigidbody) ((Rigidbody)t.target).rotation = newRot;
- else trans.rotation = newRot;
-#else
- trans.rotation = newRot;
-#endif
- }
-
- // Returns FALSE if the DOTween's Physics2D Module is disabled, or if there's no Rigidbody2D attached
- public static bool HasRigidbody2D(Component target)
- {
-#if true // PHYSICS2D_MARKER
- return target.GetComponent() != null;
-#else
- return false;
-#endif
- }
-
- #region Called via Reflection
-
-
- // Called via Reflection by DOTweenPathInspector
- // Returns FALSE if the DOTween's Physics Module is disabled, or if there's no rigidbody attached
-#if UNITY_2018_1_OR_NEWER
- [UnityEngine.Scripting.Preserve]
-#endif
- public static bool HasRigidbody(Component target)
- {
-#if true // PHYSICS_MARKER
- return target.GetComponent() != null;
-#else
- return false;
-#endif
- }
-
- // Called via Reflection by DOTweenPath
-#if UNITY_2018_1_OR_NEWER
- [UnityEngine.Scripting.Preserve]
-#endif
- public static TweenerCore CreateDOTweenPathTween(
- MonoBehaviour target, bool tweenRigidbody, bool isLocal, Path path, float duration, PathMode pathMode
- ){
- TweenerCore t = null;
- bool rBodyFoundAndTweened = false;
-#if true // PHYSICS_MARKER
- if (tweenRigidbody) {
- Rigidbody rBody = target.GetComponent();
- if (rBody != null) {
- rBodyFoundAndTweened = true;
- t = isLocal
- ? rBody.DOLocalPath(path, duration, pathMode)
- : rBody.DOPath(path, duration, pathMode);
- }
- }
-#endif
-#if true // PHYSICS2D_MARKER
- if (!rBodyFoundAndTweened && tweenRigidbody) {
- Rigidbody2D rBody2D = target.GetComponent();
- if (rBody2D != null) {
- rBodyFoundAndTweened = true;
- t = isLocal
- ? rBody2D.DOLocalPath(path, duration, pathMode)
- : rBody2D.DOPath(path, duration, pathMode);
- }
- }
-#endif
- if (!rBodyFoundAndTweened) {
- t = isLocal
- ? target.transform.DOLocalPath(path, duration, pathMode)
- : target.transform.DOPath(path, duration, pathMode);
- }
- return t;
- }
-
- #endregion
- }
- }
-}
diff --git a/Assets/DOTween/Modules/DOTweenModuleUtils.cs.meta b/Assets/DOTween/Modules/DOTweenModuleUtils.cs.meta
deleted file mode 100644
index 94ca152..0000000
--- a/Assets/DOTween/Modules/DOTweenModuleUtils.cs.meta
+++ /dev/null
@@ -1,2 +0,0 @@
-fileFormatVersion: 2
-guid: 1c73d7d121d6d754baf7637129fc5f53
\ No newline at end of file
diff --git a/Assets/DOTween/readme.txt b/Assets/DOTween/readme.txt
deleted file mode 100644
index 37ff7ef..0000000
--- a/Assets/DOTween/readme.txt
+++ /dev/null
@@ -1,29 +0,0 @@
-DOTween and DOTween Pro are copyright (c) 2014-2018 Daniele Giardini - Demigiant
-
-// IMPORTANT!!! /////////////////////////////////////////////
-// Upgrading DOTween from versions older than 1.2.000 ///////
-// (or DOTween Pro older than 1.0.000) //////////////////////
--------------------------------------------------------------
-If you're upgrading your project from a version of DOTween older than 1.2.000 (or DOTween Pro older than 1.0.000) please follow these instructions carefully.
-1) Import the new version in the same folder as the previous one, overwriting old files. A lot of errors will appear but don't worry
-2) Close and reopen Unity (and your project). This is fundamental: skipping this step will cause a bloodbath
-3) Open DOTween's Utility Panel (Tools > Demigiant > DOTween Utility Panel) if it doesn't open automatically, then press "Setup DOTween...": this will run the upgrade setup
-4) From the Add/Remove Modules panel that opens, activate/deactivate Modules for Unity systems and for external assets (Pro version only)
-
-// GET STARTED //////////////////////////////////////////////
-
-- After importing a new DOTween update, select DOTween's Utility Panel from the "Tools/Demigiant" menu (if it doesn't open automatically) and press the "Setup DOTween..." button to activate/deactivate Modules. You can also access a Preferences Tab from there to choose default settings for DOTween.
-- In your code, add "using DG.Tweening" to each class where you want to use DOTween.
-- You're ready to tween. Check out the links below for full documentation and license info.
-
-
-// LINKS ///////////////////////////////////////////////////////
-
-DOTween website (documentation, examples, etc): http://dotween.demigiant.com
-DOTween license: http://dotween.demigiant.com/license.php
-DOTween repository (Google Code): https://code.google.com/p/dotween/
-Demigiant website (documentation, examples, etc): http://www.demigiant.com
-
-// NOTES //////////////////////////////////////////////////////
-
-- DOTween's Utility Panel can be found under "Tools > Demigiant > DOTween Utility Panel" and also contains other useful options, plus a tab to set DOTween's preferences
\ No newline at end of file
diff --git a/Assets/DOTween/readme.txt.meta b/Assets/DOTween/readme.txt.meta
deleted file mode 100644
index 83c40ab..0000000
--- a/Assets/DOTween/readme.txt.meta
+++ /dev/null
@@ -1,7 +0,0 @@
-fileFormatVersion: 2
-guid: c2248aea0ebe1cf4b8f32453c9692fc5
-TextScriptImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/DOTween.meta b/Assets/Plugins.meta
similarity index 77%
rename from Assets/DOTween.meta
rename to Assets/Plugins.meta
index 107ab7e..a21e99c 100644
--- a/Assets/DOTween.meta
+++ b/Assets/Plugins.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: f67d47da94dd9314dbba5ea80434dff0
+guid: c5225a17ca9835b4294886632c25de01
folderAsset: yes
DefaultImporter:
externalObjects: {}
diff --git a/Assets/DOTween/Editor.meta b/Assets/Plugins/PrimeTween.meta
similarity index 77%
rename from Assets/DOTween/Editor.meta
rename to Assets/Plugins/PrimeTween.meta
index 9eccd8c..1421330 100644
--- a/Assets/DOTween/Editor.meta
+++ b/Assets/Plugins/PrimeTween.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: c68793a92f3b1514faf4138d9d7cd066
+guid: da2e19a1c5f8b4e2ca7c1785ea338b2e
folderAsset: yes
DefaultImporter:
externalObjects: {}
diff --git a/Assets/Plugins/PrimeTween/PrimeTweenInstaller.asset b/Assets/Plugins/PrimeTween/PrimeTweenInstaller.asset
new file mode 100644
index 0000000..e3d412e
--- /dev/null
+++ b/Assets/Plugins/PrimeTween/PrimeTweenInstaller.asset
@@ -0,0 +1,19 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 118450fad714b420684eb5f984268b5c, type: 3}
+ m_Name: PrimeTweenInstaller
+ m_EditorClassIdentifier:
+ demoScene: {fileID: 102900000, guid: 13170347bc506405f88d3a87bd0982b3, type: 3}
+ demoSceneUrp: {fileID: 102900000, guid: 15054139658a5445689224c71f805b10, type: 3}
+ demoScenePro: {fileID: 102900000, guid: e8086c8f95dba534ca9bf16d3ce9ef31, type: 3}
+ demoSceneProUrp: {fileID: 102900000, guid: 2992e8ebf85ed47489b777c4d27b9952, type: 3}
+ uninstallButtonColor: {r: 1, g: 0.23113209, b: 0.2762581, a: 1}
diff --git a/Assets/Plugins/PrimeTween/PrimeTweenInstaller.asset.meta b/Assets/Plugins/PrimeTween/PrimeTweenInstaller.asset.meta
new file mode 100644
index 0000000..0987fe9
--- /dev/null
+++ b/Assets/Plugins/PrimeTween/PrimeTweenInstaller.asset.meta
@@ -0,0 +1,15 @@
+fileFormatVersion: 2
+guid: aafeeef745bb4406db1b2cd166853022
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 11400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
+AssetOrigin:
+ serializedVersion: 1
+ productId: 252960
+ packageName: "PrimeTween \xB7 High-Performance Animations and Sequences"
+ packageVersion: 1.3.7
+ assetPath: Assets/Plugins/PrimeTween/PrimeTweenInstaller.asset
+ uploadId: 860556
diff --git a/Assets/DOTween/Editor/Imgs.meta b/Assets/Plugins/PrimeTween/internal.meta
similarity index 77%
rename from Assets/DOTween/Editor/Imgs.meta
rename to Assets/Plugins/PrimeTween/internal.meta
index 9ccae7d..bd0e4c4 100644
--- a/Assets/DOTween/Editor/Imgs.meta
+++ b/Assets/Plugins/PrimeTween/internal.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: 2833224d328674142b6e584bcfa6486b
+guid: f164d11d6323e46b786f187ecd84eb1b
folderAsset: yes
DefaultImporter:
externalObjects: {}
diff --git a/Assets/Plugins/PrimeTween/internal/PrimeTween.Installer.asmdef b/Assets/Plugins/PrimeTween/internal/PrimeTween.Installer.asmdef
new file mode 100644
index 0000000..4bc81f0
--- /dev/null
+++ b/Assets/Plugins/PrimeTween/internal/PrimeTween.Installer.asmdef
@@ -0,0 +1,29 @@
+{
+ "name": "PrimeTween.Installer",
+ "rootNamespace": "",
+ "references": [
+ "PrimeTween.Runtime"
+ ],
+ "includePlatforms": [
+ "Editor"
+ ],
+ "excludePlatforms": [],
+ "allowUnsafeCode": false,
+ "overrideReferences": false,
+ "precompiledReferences": [],
+ "autoReferenced": true,
+ "defineConstraints": [],
+ "versionDefines": [
+ {
+ "name": "com.kyrylokuzyk.primetween",
+ "expression": "1.0.0",
+ "define": "PRIME_TWEEN_INSTALLED"
+ },
+ {
+ "name": "com.kyrylokuzyk.primetween",
+ "expression": "[1.3.6-pro]",
+ "define": "PRIME_TWEEN_PRO"
+ }
+ ],
+ "noEngineReferences": false
+}
\ No newline at end of file
diff --git a/Assets/Plugins/PrimeTween/internal/PrimeTween.Installer.asmdef.meta b/Assets/Plugins/PrimeTween/internal/PrimeTween.Installer.asmdef.meta
new file mode 100644
index 0000000..f8314f4
--- /dev/null
+++ b/Assets/Plugins/PrimeTween/internal/PrimeTween.Installer.asmdef.meta
@@ -0,0 +1,14 @@
+fileFormatVersion: 2
+guid: 090d70c1ebac0421985bd70fa7f561ef
+AssemblyDefinitionImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
+AssetOrigin:
+ serializedVersion: 1
+ productId: 252960
+ packageName: "PrimeTween \xB7 High-Performance Animations and Sequences"
+ packageVersion: 1.3.7
+ assetPath: Assets/Plugins/PrimeTween/internal/PrimeTween.Installer.asmdef
+ uploadId: 860556
diff --git a/Assets/Plugins/PrimeTween/internal/PrimeTweenInstaller.cs b/Assets/Plugins/PrimeTween/internal/PrimeTweenInstaller.cs
new file mode 100644
index 0000000..48c7f27
--- /dev/null
+++ b/Assets/Plugins/PrimeTween/internal/PrimeTweenInstaller.cs
@@ -0,0 +1,548 @@
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Reflection;
+using System.Reflection.Emit;
+using System.Text;
+using System.Text.RegularExpressions;
+using UnityEditor;
+using UnityEditor.PackageManager;
+using UnityEditor.SceneManagement;
+using UnityEngine;
+using UnityEngine.Assertions;
+using UnityEngine.Rendering;
+using static UnityEngine.GUILayout;
+[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("PrimeTween.Internal")]
+
+namespace PrimeTween {
+ internal class PrimeTweenInstaller : ScriptableObject {
+ [SerializeField] internal SceneAsset demoScene;
+ [SerializeField] internal SceneAsset demoSceneUrp;
+ [SerializeField] internal SceneAsset demoScenePro;
+ [SerializeField] internal SceneAsset demoSceneProUrp;
+ [SerializeField] internal Color uninstallButtonColor;
+
+ [ContextMenu(nameof(ResetReviewRequest))] void ResetReviewRequest() => ReviewRequest.ResetReviewRequest();
+ [ContextMenu(nameof(DebugReviewRequest))] void DebugReviewRequest() => ReviewRequest.DebugReviewRequest();
+ }
+
+ [CustomEditor(typeof(PrimeTweenInstaller), false)]
+ internal class InstallerInspector : Editor {
+ internal const string pluginName = "PrimeTween";
+ internal const string pluginPackageId = "com.kyrylokuzyk.primetween";
+ internal const string tgzPath = "Assets/Plugins/PrimeTween/internal/com.kyrylokuzyk.primetween.tgz";
+ internal const string newTgzPath = "Assets/Plugins/PrimeTween/internal/com.kyrylokuzyk.primetween-" + version + ".tgz";
+ const string documentationUrl = "https://github.com/KyryloKuzyk/PrimeTween";
+ bool isInstalled;
+ bool hasNewTgz;
+ GUIStyle boldButtonStyle;
+ GUIStyle uninstallButtonStyle;
+ GUIStyle wordWrapLabelStyle;
+
+ void OnEnable() {
+ isInstalled = CheckPluginInstalled();
+ hasNewTgz = File.Exists(newTgzPath);
+ }
+
+ /// Use Package Manager because Unity 2018 doesn't support version defines
+ static bool CheckPluginInstalled() {
+ var listRequest = Client.List(true);
+ while (!listRequest.IsCompleted) {
+ }
+ return listRequest.Result.Any(_ => _.name == pluginPackageId);
+ }
+
+ public override void OnInspectorGUI() {
+ if (boldButtonStyle == null) {
+ boldButtonStyle = new GUIStyle(GUI.skin.button) { fontStyle = FontStyle.Bold };
+ }
+ var installer = (PrimeTweenInstaller)target;
+ if (uninstallButtonStyle == null) {
+ uninstallButtonStyle = new GUIStyle(GUI.skin.button) { normal = { textColor = installer.uninstallButtonColor } };
+ }
+ if (wordWrapLabelStyle == null) {
+ wordWrapLabelStyle = new GUIStyle(GUI.skin.label) { wordWrap = true, richText = true, margin = new RectOffset(4, 4, 8, 8) };
+ }
+ EditorGUI.indentLevel = 5;
+ Space(8);
+ Label(pluginName, EditorStyles.boldLabel);
+ Space(4);
+ if (!isInstalled) {
+ if (Button("Install " + pluginName)) {
+ installPlugin();
+ }
+ return;
+ }
+ if (hasNewTgz) {
+ if (Button($"Update to {version}", boldButtonStyle)) {
+ ReviewRequest.OnPackageUpdate();
+ }
+ Space(8);
+ }
+ if (Button("Documentation", boldButtonStyle)) {
+ Application.OpenURL(documentationUrl);
+ }
+
+ Space(8);
+ var rpAsset = GraphicsSettings.
+ #if UNITY_2019_3_OR_NEWER
+ defaultRenderPipeline;
+ #else
+ renderPipelineAsset;
+ #endif
+ bool isUrp = rpAsset != null && rpAsset.GetType().Name.Contains("Universal");
+ if (Button("Open Demo", boldButtonStyle)) {
+ var demoScene = isUrp ? installer.demoSceneUrp : installer.demoScene;
+ if (demoScene == null) {
+ Debug.LogError("Please re-import the plugin from Asset Store and import the 'Demo' folder.\n");
+ return;
+ }
+ string path = AssetDatabase.GetAssetPath(demoScene);
+ EditorSceneManager.OpenScene(path);
+ }
+ #if PRIME_TWEEN_PRO
+ if (Button("Open Demo (Pro)", boldButtonStyle)) {
+ var demoScene = isUrp ? installer.demoSceneProUrp : installer.demoScenePro;
+ if (demoScene == null) {
+ Debug.LogError("Please re-import the plugin from Asset Store and import the 'Demo' folder.\n");
+ return;
+ }
+ string path = AssetDatabase.GetAssetPath(demoScene);
+ EditorSceneManager.OpenScene(path);
+ }
+ #endif
+ #if UNITY_2019_4_OR_NEWER
+ if (Button("Import Basic Examples")) {
+ EditorUtility.DisplayDialog(pluginName, $"Please select the '{pluginName}' package in 'Package Manager', then press the 'Samples/Import' button at the bottom of the plugin's description.", "Ok");
+ UnityEditor.PackageManager.UI.Window.Open(pluginPackageId);
+ }
+ #endif
+ if (Button("Support")) {
+ Application.OpenURL("https://github.com/KyryloKuzyk/PrimeTween#support");
+ }
+
+ Space(8);
+ if (Button("Uninstall", uninstallButtonStyle)) {
+ Client.Remove(pluginPackageId);
+ isInstalled = false;
+ var msg = $"Please remove the folder manually to uninstall {pluginName} completely: 'Assets/Plugins/{pluginName}'";
+ EditorUtility.DisplayDialog(pluginName, msg, "Ok");
+ Debug.Log(msg);
+ }
+
+ if (EditorPrefs.GetBool(InsertCallbackBug.showInsertCallbackBugUi, false)) {
+ Space(24);
+ Label("Updating from PrimeTween [1.1.10 - 1.1.22]", EditorStyles.boldLabel);
+ Label("The behaviour of 'Sequence.ChainCallback()' and 'InsertCallback()' was fixed in PrimeTween 1.2.0 so the code written with older versions may work differently in some cases.", wordWrapLabelStyle);
+ if (Button("Find potential issues")) {
+ InsertCallbackBug.Find();
+ }
+ BeginHorizontal();
+ if (Button("More info")) {
+ Application.OpenURL(InsertCallbackBug.moreInfoUrl);
+ }
+ if (Button("Download version 1.1.22")) {
+ Application.OpenURL("https://github.com/KyryloKuzyk/PrimeTween/blob/545dcc52769d52841e282c772e98c8984bfeb243/Benchmarks/Packages/com.kyrylokuzyk.primetween.tgz");
+ }
+ EndHorizontal();
+ }
+
+ Space(24);
+ Label("Enjoying PrimeTween?", EditorStyles.boldLabel);
+ Label("Consider leaving an honest review and starring PrimeTween on GitHub!\n\n" +
+ "Honest reviews make PrimeTween better and help other developers discover it.", wordWrapLabelStyle);
+ if (Button("Leave review!", GUI.skin.button)) {
+ ReviewRequest.DisableReviewRequest();
+ ReviewRequest.OpenReviewsURL();
+ }
+ }
+
+ static void installPlugin() {
+ if (File.Exists(newTgzPath)) {
+ MoveAndRenameTgzArchive();
+ }
+
+ ReviewRequest.OnBeforeInstall();
+ var path = $"file:../{tgzPath}";
+ var addRequest = Client.Add(path);
+ while (!addRequest.IsCompleted) {
+ }
+ if (addRequest.Status == StatusCode.Success) {
+ Debug.Log($"{pluginName} installed successfully.\n" +
+ $"Offline documentation is located at Packages/{pluginName}/Documentation.md.\n" +
+ $"Online documentation: {documentationUrl}\n");
+ } else {
+ Debug.LogError($"Please re-import the plugin from the Asset Store and check that the file exists: [{path}].\n\n{addRequest.Error?.message}\n");
+ }
+ }
+
+ internal static void MoveAndRenameTgzArchive() {
+ Assert.IsTrue(File.Exists(newTgzPath));
+ Assert.IsTrue(File.Exists(newTgzPath + ".meta"));
+ File.Delete(tgzPath);
+ File.Delete(tgzPath + ".meta");
+ File.Move(newTgzPath, tgzPath);
+ File.Move(newTgzPath + ".meta", tgzPath + ".meta");
+ RevertTgzMeta();
+ }
+
+ static void RevertTgzMeta() {
+ const string path = tgzPath + ".meta";
+ Assert.IsTrue(File.Exists(path), path);
+ File.WriteAllText(path, @"fileFormatVersion: 2
+guid: cdd0c4b9889044d73bc958a922ada300
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
+");
+ }
+
+ [InitializeOnLoadMethod]
+ static void InitOnLoad() {
+ AssetDatabase.importPackageCompleted += name => {
+ if (name.Contains(pluginName)) {
+ if (CheckPluginInstalled()) {
+ ReviewRequest.OnPackageUpdate();
+ } else {
+ var installer = AssetDatabase.LoadAssetAtPath("Assets/Plugins/PrimeTween/PrimeTweenInstaller.asset");
+ EditorUtility.FocusProjectWindow(); // this is important to show the installer object in the Project window
+ Selection.activeObject = installer;
+ EditorGUIUtility.PingObject(installer);
+ EditorApplication.update += InstallAndUnsubscribeFromUpdate;
+ void InstallAndUnsubscribeFromUpdate() {
+ EditorApplication.update -= InstallAndUnsubscribeFromUpdate;
+ installPlugin();
+ }
+ }
+ }
+ };
+ }
+
+ internal const string version = "1.3.8";
+ }
+
+ internal static class FixedUpdateParameterMigration {
+ internal static string[] FindLocalScriptGuids() {
+ var listRequest = Client.List(true);
+ while (!listRequest.IsCompleted) {
+ }
+ Assert.AreEqual(StatusCode.Success, listRequest.Status);
+ string[] folders = listRequest.Result
+ .Where(x => x.source == PackageSource.Embedded || x.source == PackageSource.Local)
+ .Where(x => x.name != InstallerInspector.pluginPackageId)
+ .Select(x => x.assetPath)
+ .Append("Assets")
+ .ToArray();
+ return AssetDatabase.FindAssets("t:Script", folders);
+ }
+
+ internal static bool Process(string[] scripts, bool? fixAutomatically = null) {
+ var logSb = new StringBuilder();
+ var fileSb = new StringBuilder();
+ foreach (string guid in scripts)
+ {
+ string path = AssetDatabase.GUIDToAssetPath(guid);
+ var textAsset = AssetDatabase.LoadAssetAtPath(path);
+ string text = textAsset.text;
+ if (!Regex.IsMatch(text, @"using PrimeTween\s*;")) {
+ continue;
+ }
+ var parameterMatches = Regex.Matches(text, @"useFixedUpdate\s*:");
+ if (parameterMatches.Count > 0) {
+ if (!fixAutomatically.HasValue) {
+ return true;
+ }
+ logSb.Clear();
+ if (fixAutomatically.Value) {
+ fileSb.Clear();
+ fileSb.Append(text);
+ for (int i = parameterMatches.Count - 1; i >= 0; i--) {
+ var paramMatch = parameterMatches[i];
+ fileSb.Remove(paramMatch.Index, paramMatch.Length);
+ fileSb.Insert(paramMatch.Index, "updateType:");
+ }
+ File.WriteAllText(path, fileSb.ToString());
+ logSb.Append($"PrimeTween automatically renamed ({parameterMatches.Count}) occurrences of 'useFixedUpdate' to 'updateType' in file '{textAsset.name}.cs':\n");
+ } else {
+ logSb.Append($"PrimeTween: please rename ({parameterMatches.Count}) occurrences of 'useFixedUpdate' to 'updateType' in file '{textAsset.name}.cs':\n");
+ }
+ var lineMatches = Regex.Matches(text, @"(?m)^.*useFixedUpdate\s*:.*$", RegexOptions.Multiline);
+ foreach (Match match in lineMatches) {
+ logSb.Append($"{match.Value.Trim().Replace("useFixedUpdate", "useFixedUpdate")}\n");
+ }
+ Debug.unityLogger.Log(fixAutomatically.Value ? LogType.Warning : LogType.Error, logSb.ToString());
+ }
+ }
+ // no need to call AssetDatabase.Refresh() here because MoveAndRenameTgzArchive() already does that
+ return false;
+ }
+ }
+
+ internal static class ReviewRequest {
+ const string version = InstallerInspector.version;
+ const string canAskKey = "PrimeTween.canAskForReview";
+ const string versionKey = "PrimeTween.version";
+
+ internal static void OnPackageUpdate() {
+ log("OnPackageUpdate");
+ if (!File.Exists(InstallerInspector.newTgzPath)) {
+ Debug.LogError($"The installation archive is missing: '{InstallerInspector.newTgzPath}'. Please re-import PrimeTween from Asset Store.");
+ return;
+ }
+ bool shouldAskForReview = true;
+ var scriptGuids = FixedUpdateParameterMigration.FindLocalScriptGuids();
+ if (FixedUpdateParameterMigration.Process(scriptGuids)) {
+ shouldAskForReview = false;
+ const string msg = "'bool useFixedUpdate' parameter was changed to 'UpdateType updateType' in version 1.3.0, which will cause breaking changes in your current project.\n" +
+ "PrimeTween can fix the breaking changes automatically, or you can fix them manually after the update.\n";
+ Debug.LogWarning($"PrimeTween: the {msg}");
+ int response = EditorUtility.DisplayDialogComplex($"{InstallerInspector.pluginName} {version}",
+ $"The {msg}",
+ "Fix automatically",
+ "Cancel",
+ "Fix manually");
+ string cancelMessage = $"PrimeTween: update to {version} was cancelled. You can trigger update manually from 'Assets/Plugins/PrimeTween/PrimeTweenInstaller'.";
+ if (response == 1) {
+ Debug.LogWarning(cancelMessage);
+ return;
+ }
+ if (!EditorUtility.DisplayDialog($"{InstallerInspector.pluginName} {version}", "Please back up your project before proceeding.", "OK", "Cancel")) {
+ Debug.LogWarning(cancelMessage);
+ return;
+ }
+ bool fixAutomatically = response == 0;
+ FixedUpdateParameterMigration.Process(scriptGuids, fixAutomatically);
+ }
+ InstallerInspector.MoveAndRenameTgzArchive();
+ if (UNITY_2018) {
+ var removeRequest = Client.Remove(InstallerInspector.pluginPackageId);
+ while (!removeRequest.IsCompleted) {
+ }
+ string path = $"file:../{InstallerInspector.tgzPath}";
+ Client.Add(path);
+ } else {
+ EditorApplication.ExecuteMenuItem("Assets/Refresh"); // AssetDatabase.Refresh() refreshes the project only partially
+ }
+
+ string prevVersion = savedVersion;
+ if (savedVersion == version) {
+ log($"same version {version}");
+ return;
+ }
+ savedVersion = version;
+
+ if (InsertCallbackBug.IsUpdatingFromVersionWithBug(prevVersion)) {
+ InsertCallbackBug.Find();
+ EditorPrefs.SetBool(InsertCallbackBug.showInsertCallbackBugUi, true);
+ shouldAskForReview = false;
+ } else {
+ EditorPrefs.SetBool(InsertCallbackBug.showInsertCallbackBugUi, false);
+ }
+ log($"updated from version {prevVersion} to {version}, {nameof(shouldAskForReview)}: {shouldAskForReview}");
+ if (shouldAskForReview) {
+ TryAskForReview();
+ }
+ }
+
+ static bool UNITY_2018 {
+ get {
+ #if UNITY_2018
+ return true;
+ #else
+ return false;
+ #endif
+ }
+ }
+
+ static void TryAskForReview() {
+ if (!EditorPrefs.GetBool(canAskKey, true)) {
+ log("can't ask");
+ return;
+ }
+ DisableReviewRequest();
+ var response = EditorUtility.DisplayDialogComplex("Enjoying PrimeTween?",
+ "Would you mind to leave an honest review on Asset store? Honest reviews make PrimeTween better and help other developers discover it.",
+ "Sure, leave a review!",
+ "Never ask again",
+ "");
+ if (response == 0) {
+ OpenReviewsURL();
+ }
+ }
+
+ internal static void OnBeforeInstall() {
+ log($"OnBeforeInstall {version}");
+ if (string.IsNullOrEmpty(savedVersion)) {
+ savedVersion = version;
+ }
+ }
+
+ static string savedVersion {
+ get => EditorPrefs.GetString(versionKey);
+ set => EditorPrefs.SetString(versionKey, value);
+ }
+
+ internal static void DisableReviewRequest() => EditorPrefs.SetBool(canAskKey, false);
+ internal static void OpenReviewsURL() => Application.OpenURL("https://assetstore.unity.com/packages/slug/252960#reviews");
+
+ internal static void ResetReviewRequest() {
+ Debug.Log(nameof(ResetReviewRequest));
+ EditorPrefs.DeleteKey(versionKey);
+ EditorPrefs.DeleteKey(canAskKey);
+ }
+
+ internal static void DebugReviewRequest() {
+ Debug.Log(nameof(DebugReviewRequest));
+ savedVersion = "1.1.22";
+ EditorPrefs.SetBool(canAskKey, false);
+ // TryAskForReview();
+ }
+
+ [System.Diagnostics.Conditional("_")]
+ static void log(string msg) {
+ Debug.Log($"ReviewRequest: {msg}");
+ }
+ }
+
+ internal static class InsertCallbackBug {
+ internal const string moreInfoUrl = "https://github.com/KyryloKuzyk/PrimeTween/discussions/112";
+ internal const string showInsertCallbackBugUi = "PrimeTween.showInsertCallbackBugUi";
+ static Dictionary OpCodeDict;
+ static MethodInfo[] methodsWithBug;
+ static MethodInfo[] groupMethods;
+
+ internal static bool IsUpdatingFromVersionWithBug(string prevVersionString) {
+ if (Version.TryParse(prevVersionString, out var prevVersion)
+ && new Version(1, 1, 10) <= prevVersion
+ && prevVersion <= new Version(1, 1, 22)
+ ) {
+ return true;
+ }
+ return false;
+ }
+
+ internal static void Find() {
+ OpCodeDict = typeof(OpCodes)
+ .GetFields(BindingFlags.Public | BindingFlags.Static)
+ .Select(x => (OpCode)x.GetValue(null))
+ .ToDictionary(x => x.Value, x => x);
+ #if PRIME_TWEEN_INSTALLED
+ methodsWithBug = typeof(Sequence).GetMethods(BindingFlags.Public | BindingFlags.Instance)
+ .Where(methodInfo => methodInfo.Name == nameof(Sequence.ChainCallback) || methodInfo.Name == nameof(Sequence.InsertCallback))
+ .Select(methodInfo => methodInfo.IsGenericMethod ? methodInfo.GetGenericMethodDefinition() : methodInfo)
+ .ToArray();
+ Assert.AreEqual(4, methodsWithBug.Length);
+ groupMethods = typeof(Sequence).GetMethods(BindingFlags.Public | BindingFlags.Instance)
+ .Where(methodInfo => methodInfo.Name == nameof(Sequence.Group))
+ .ToArray();
+ #endif
+ Assert.AreEqual(2, groupMethods.Length);
+
+ string methodAssemblyName = methodsWithBug[0].Module.Assembly.FullName;
+ const BindingFlags findAll = BindingFlags.DeclaredOnly | BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.Static;
+ int numPotentialIssues = AppDomain.CurrentDomain.GetAssemblies()
+ .Where(assembly => assembly.GetReferencedAssemblies().Any(dependency => dependency.FullName == methodAssemblyName))
+ .Where(assembly => !assembly.GetName().Name.StartsWith("PrimeTween.", StringComparison.Ordinal))
+ .SelectMany(assembly => assembly.GetTypes())
+ .SelectMany(type => type.GetMethods(findAll).Cast().Union(type.GetConstructors(findAll)))
+ .Count(method => FindInMethod(method));
+ if (numPotentialIssues == 0) {
+ Debug.Log($"PrimeTween updated to version {InstallerInspector.version}: no potential issues found in ChainCallback() and InsertCallback() usages.\n" +
+ $"More info: {moreInfoUrl}\n");
+ }
+
+ int updateResponse = EditorUtility.DisplayDialogComplex($"{InstallerInspector.pluginName} {InstallerInspector.version}",
+ "PrimeTween 1.2.0 fixed a bug in ChainCallback() and InsertCallback() methods.\n" +
+ "This fix may introduce breaking changes in the existing projects. Please see the Console output for more details.",
+ "More info",
+ "Close",
+ "");
+ if (updateResponse == 0) {
+ Application.OpenURL(moreInfoUrl);
+ }
+ }
+
+ /// https://stackoverflow.com/a/33034906/1951038
+ static bool FindInMethod(MethodBase method) {
+ byte[] il = method.GetMethodBody()?.GetILAsByteArray();
+ if (il == null) {
+ return false;
+ }
+ bool bugFound = false;
+ using (var br = new BinaryReader(new MemoryStream(il))) {
+ while (br.BaseStream.Position < br.BaseStream.Length) {
+ byte firstByte = br.ReadByte();
+ short opCodeValue = firstByte == 0xFE ? BitConverter.ToInt16(new[] { br.ReadByte(), firstByte }, 0) : firstByte;
+ OpCode opCode = OpCodeDict[opCodeValue];
+ switch (opCode.OperandType) {
+ case OperandType.ShortInlineBrTarget:
+ case OperandType.ShortInlineVar:
+ case OperandType.ShortInlineI:
+ br.ReadByte();
+ break;
+ case OperandType.InlineVar:
+ br.ReadInt16();
+ break;
+ case OperandType.InlineField:
+ case OperandType.InlineType:
+ case OperandType.ShortInlineR:
+ case OperandType.InlineString:
+ case OperandType.InlineSig:
+ case OperandType.InlineI:
+ case OperandType.InlineBrTarget:
+ br.ReadInt32();
+ break;
+ case OperandType.InlineI8:
+ case OperandType.InlineR:
+ br.ReadInt64();
+ break;
+ case OperandType.InlineSwitch:
+ var size = (int)br.ReadUInt32();
+ br.ReadBytes(size * 4);
+ break;
+ case OperandType.InlineTok:
+ br.ReadUInt32();
+ break;
+ case OperandType.InlineMethod:
+ int token = (int)br.ReadUInt32();
+ if (method.Module.ResolveMethod(token) is MethodInfo resolvedMethod) {
+ if (bugFound) {
+ if (groupMethods.Contains(resolvedMethod)) {
+ Debug.LogError($"PrimeTween updated to version {InstallerInspector.version}: potential breaking change found in the '{method.DeclaringType}.{method.Name}()' method.\n" +
+ "Please double-check the behavior if Group() is called immediately after the ChainCallback() or InsertCallback() and apply the fix manually if necessary.\n" +
+ "Or use ChainCallbackObsolete/InsertCallbackObsolete() instead to preserve the old incorrect behavior.\n" +
+ $"More info: {moreInfoUrl}\n");
+ return true;
+ }
+ } else {
+ bugFound = isMethodWithBug(resolvedMethod);
+ }
+ }
+ break;
+ case OperandType.InlineNone:
+ break;
+ default:
+ throw new Exception();
+ }
+ }
+ }
+ return false;
+ }
+
+ static bool isMethodWithBug(MethodInfo method) {
+ foreach (var methodWithBug in methodsWithBug) {
+ if (methodWithBug.IsGenericMethodDefinition && method.IsGenericMethod) {
+ if (methodWithBug == method.GetGenericMethodDefinition()) {
+ return true;
+ }
+ } else if (methodWithBug == method) {
+ return true;
+ }
+ }
+ return false;
+ }
+ }
+}
diff --git a/Assets/Plugins/PrimeTween/internal/PrimeTweenInstaller.cs.meta b/Assets/Plugins/PrimeTween/internal/PrimeTweenInstaller.cs.meta
new file mode 100644
index 0000000..7b878a7
--- /dev/null
+++ b/Assets/Plugins/PrimeTween/internal/PrimeTweenInstaller.cs.meta
@@ -0,0 +1,18 @@
+fileFormatVersion: 2
+guid: 118450fad714b420684eb5f984268b5c
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
+AssetOrigin:
+ serializedVersion: 1
+ productId: 252960
+ packageName: "PrimeTween \xB7 High-Performance Animations and Sequences"
+ packageVersion: 1.3.7
+ assetPath: Assets/Plugins/PrimeTween/internal/PrimeTweenInstaller.cs
+ uploadId: 860556
diff --git a/Assets/Plugins/PrimeTween/internal/com.kyrylokuzyk.primetween.tgz b/Assets/Plugins/PrimeTween/internal/com.kyrylokuzyk.primetween.tgz
new file mode 100644
index 0000000..9278ac0
Binary files /dev/null and b/Assets/Plugins/PrimeTween/internal/com.kyrylokuzyk.primetween.tgz differ
diff --git a/Assets/DOTween/Modules.meta b/Assets/Plugins/PrimeTween/internal/com.kyrylokuzyk.primetween.tgz.meta
similarity index 67%
rename from Assets/DOTween/Modules.meta
rename to Assets/Plugins/PrimeTween/internal/com.kyrylokuzyk.primetween.tgz.meta
index 3df8528..254cb2d 100644
--- a/Assets/DOTween/Modules.meta
+++ b/Assets/Plugins/PrimeTween/internal/com.kyrylokuzyk.primetween.tgz.meta
@@ -1,6 +1,5 @@
fileFormatVersion: 2
-guid: 4238dd9a40574e74b8edf32491eb0a91
-folderAsset: yes
+guid: cdd0c4b9889044d73bc958a922ada300
DefaultImporter:
externalObjects: {}
userData:
diff --git a/Assets/Resources/Example/Platformer/Characters/Enemies/Bee/Bee.prefab b/Assets/Resources_moved/Example/Platformer/Bee.prefab
similarity index 78%
rename from Assets/Resources/Example/Platformer/Characters/Enemies/Bee/Bee.prefab
rename to Assets/Resources_moved/Example/Platformer/Bee.prefab
index c719228..4a8eb7a 100644
--- a/Assets/Resources/Example/Platformer/Characters/Enemies/Bee/Bee.prefab
+++ b/Assets/Resources_moved/Example/Platformer/Bee.prefab
@@ -1,5 +1,125 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &3289371692724125705
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 5066566369128400178}
+ - component: {fileID: 8836731213023353337}
+ - component: {fileID: 3524195282899996530}
+ - component: {fileID: 6475761234177318450}
+ m_Layer: 12
+ m_Name: Radar
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &5066566369128400178
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3289371692724125705}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 4741199656111979734}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &8836731213023353337
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3289371692724125705}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 582294c360404f6d952d9e28bde1fbea, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: Assembly-CSharp::Code.Example.Platformer.Entity.Enemies.BeeRadar
+ bee: {fileID: 8386846360287835849}
+--- !u!61 &3524195282899996530
+BoxCollider2D:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3289371692724125705}
+ m_Enabled: 1
+ serializedVersion: 3
+ m_Density: 1
+ m_Material: {fileID: 0}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_LayerOverridePriority: 0
+ m_ForceSendLayers:
+ serializedVersion: 2
+ m_Bits: 4294967295
+ m_ForceReceiveLayers:
+ serializedVersion: 2
+ m_Bits: 4294967295
+ m_ContactCaptureLayers:
+ serializedVersion: 2
+ m_Bits: 4294967295
+ m_CallbackLayers:
+ serializedVersion: 2
+ m_Bits: 4294967295
+ m_IsTrigger: 1
+ m_UsedByEffector: 0
+ m_CompositeOperation: 0
+ m_CompositeOrder: 0
+ m_Offset: {x: 0, y: 0}
+ m_SpriteTilingProperty:
+ border: {x: 0, y: 0, z: 0, w: 0}
+ pivot: {x: 0.5, y: 0.5}
+ oldSize: {x: 0.64, y: 0.64}
+ newSize: {x: 0.64, y: 0.64}
+ adaptiveTilingThreshold: 0.5
+ drawMode: 0
+ adaptiveTiling: 0
+ m_AutoTiling: 0
+ m_Size: {x: 1.5, y: 1.5}
+ m_EdgeRadius: 0
+--- !u!50 &6475761234177318450
+Rigidbody2D:
+ serializedVersion: 5
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3289371692724125705}
+ m_BodyType: 1
+ m_Simulated: 1
+ m_UseFullKinematicContacts: 0
+ m_UseAutoMass: 0
+ m_Mass: 0.1024
+ m_LinearDamping: 0
+ m_AngularDamping: 0.05
+ m_GravityScale: 1
+ m_Material: {fileID: 0}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_Interpolate: 0
+ m_SleepingMode: 1
+ m_CollisionDetection: 0
+ m_Constraints: 4
--- !u!1 &3801642601722797476
GameObject:
m_ObjectHideFlags: 0
@@ -14,8 +134,6 @@ GameObject:
- component: {fileID: 8927136534498308671}
- component: {fileID: 5680405559112544362}
- component: {fileID: 8386846360287835849}
- - component: {fileID: 7940216146645726591}
- - component: {fileID: 5514160892776806411}
m_Layer: 11
m_Name: Bee
m_TagString: Untagged
@@ -35,7 +153,8 @@ Transform:
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
- m_Children: []
+ m_Children:
+ - {fileID: 5066566369128400178}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!212 &4182593557770740918
@@ -151,7 +270,7 @@ Rigidbody2D:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3801642601722797476}
- m_BodyType: 0
+ m_BodyType: 1
m_Simulated: 0
m_UseFullKinematicContacts: 0
m_UseAutoMass: 0
@@ -208,63 +327,8 @@ MonoBehaviour:
animator: {fileID: 5680405559112544362}
spriteRenderer: {fileID: 4182593557770740918}
groundPoint: {x: 0, y: 0}
- partolPoints: []
---- !u!114 &7940216146645726591
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 3801642601722797476}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 582294c360404f6d952d9e28bde1fbea, type: 3}
- m_Name:
- m_EditorClassIdentifier: Assembly-CSharp::Code.Example.Platformer.Entity.Enemies.BeeRadar
- bee: {fileID: 8386846360287835849}
---- !u!61 &5514160892776806411
-BoxCollider2D:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 3801642601722797476}
- m_Enabled: 1
- serializedVersion: 3
- m_Density: 1
- m_Material: {fileID: 0}
- m_IncludeLayers:
- serializedVersion: 2
- m_Bits: 0
- m_ExcludeLayers:
- serializedVersion: 2
- m_Bits: 0
- m_LayerOverridePriority: 0
- m_ForceSendLayers:
- serializedVersion: 2
- m_Bits: 4294967295
- m_ForceReceiveLayers:
- serializedVersion: 2
- m_Bits: 4294967295
- m_ContactCaptureLayers:
- serializedVersion: 2
- m_Bits: 4294967295
- m_CallbackLayers:
- serializedVersion: 2
- m_Bits: 4294967295
- m_IsTrigger: 1
- m_UsedByEffector: 0
- m_CompositeOperation: 0
- m_CompositeOrder: 0
- m_Offset: {x: 0, y: 0}
- m_SpriteTilingProperty:
- border: {x: 0, y: 0, z: 0, w: 0}
- pivot: {x: 0.5, y: 0.5}
- oldSize: {x: 0.64, y: 0.64}
- newSize: {x: 0.64, y: 0.64}
- adaptiveTilingThreshold: 0.5
- drawMode: 0
- adaptiveTiling: 0
- m_AutoTiling: 0
- m_Size: {x: 1.5, y: 1.5}
- m_EdgeRadius: 0
+ partolPoints:
+ - {fileID: 0}
+ - {fileID: 0}
+ onPatrol: 1
+ _currentTarget: {fileID: 0}
diff --git a/Assets/Resources/Example/Platformer/Characters/Enemies/Bee/Bee.prefab.meta b/Assets/Resources_moved/Example/Platformer/Bee.prefab.meta
similarity index 100%
rename from Assets/Resources/Example/Platformer/Characters/Enemies/Bee/Bee.prefab.meta
rename to Assets/Resources_moved/Example/Platformer/Bee.prefab.meta
diff --git a/Assets/Resources/Example/Platformer/Characters/Enemies/Boar/Boar.prefab b/Assets/Resources_moved/Example/Platformer/Boar.prefab
similarity index 100%
rename from Assets/Resources/Example/Platformer/Characters/Enemies/Boar/Boar.prefab
rename to Assets/Resources_moved/Example/Platformer/Boar.prefab
diff --git a/Assets/Resources/Example/Platformer/Characters/Enemies/Boar/Boar.prefab.meta b/Assets/Resources_moved/Example/Platformer/Boar.prefab.meta
similarity index 100%
rename from Assets/Resources/Example/Platformer/Characters/Enemies/Boar/Boar.prefab.meta
rename to Assets/Resources_moved/Example/Platformer/Boar.prefab.meta
diff --git a/Assets/Resources_moved/Example/Platformer/Platformer.unity b/Assets/Resources_moved/Example/Platformer/Platformer.unity
index 5576c88..5290a95 100644
--- a/Assets/Resources_moved/Example/Platformer/Platformer.unity
+++ b/Assets/Resources_moved/Example/Platformer/Platformer.unity
@@ -176,6 +176,37 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 0aa23aea61d74467889be39a550c9922, type: 3}
m_Name:
m_EditorClassIdentifier: Assembly-CSharp::Code.Example.Platformer.PlatformerSceneInstaller
+--- !u!1 &97537770
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 97537771}
+ m_Layer: 0
+ m_Name: 1
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &97537771
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 97537770}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0.804, y: 0.558, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &494311809
GameObject:
m_ObjectHideFlags: 0
@@ -487,6 +518,37 @@ BoxCollider2D:
m_AutoTiling: 0
m_Size: {x: 0.8, y: 0.67}
m_EdgeRadius: 0
+--- !u!1 &1369074042
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1369074043}
+ m_Layer: 0
+ m_Name: 1 (1)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &1369074043
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1369074042}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 1.84, y: 0.463, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1464509735
GameObject:
m_ObjectHideFlags: 0
@@ -975,6 +1037,18 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
+ - target: {fileID: 8386846360287835849, guid: 0eb645a0c96b1c437bf0712d6b856b7c, type: 3}
+ propertyPath: 'partolPoints.Array.data[0]'
+ value:
+ objectReference: {fileID: 97537771}
+ - target: {fileID: 8386846360287835849, guid: 0eb645a0c96b1c437bf0712d6b856b7c, type: 3}
+ propertyPath: 'partolPoints.Array.data[1]'
+ value:
+ objectReference: {fileID: 1369074043}
+ - target: {fileID: 8927136534498308671, guid: 0eb645a0c96b1c437bf0712d6b856b7c, type: 3}
+ propertyPath: m_Simulated
+ value: 0
+ objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
@@ -1195,3 +1269,5 @@ SceneRoots:
- {fileID: 4401792132824091566}
- {fileID: 3495612028810159075}
- {fileID: 7850265554012673606}
+ - {fileID: 97537771}
+ - {fileID: 1369074043}
diff --git a/Assets/Resources/Example/Platformer/Characters/Enemies/Snail/Snail.prefab b/Assets/Resources_moved/Example/Platformer/Snail.prefab
similarity index 100%
rename from Assets/Resources/Example/Platformer/Characters/Enemies/Snail/Snail.prefab
rename to Assets/Resources_moved/Example/Platformer/Snail.prefab
diff --git a/Assets/Resources/Example/Platformer/Characters/Enemies/Snail/Snail.prefab.meta b/Assets/Resources_moved/Example/Platformer/Snail.prefab.meta
similarity index 100%
rename from Assets/Resources/Example/Platformer/Characters/Enemies/Snail/Snail.prefab.meta
rename to Assets/Resources_moved/Example/Platformer/Snail.prefab.meta
diff --git a/Assets/UnityCodeGen.Generated/ConfigLocator.Generated.cs b/Assets/UnityCodeGen.Generated/ConfigLocator.Generated.cs
index 076d311..58ba814 100644
--- a/Assets/UnityCodeGen.Generated/ConfigLocator.Generated.cs
+++ b/Assets/UnityCodeGen.Generated/ConfigLocator.Generated.cs
@@ -1,8 +1,8 @@
#pragma warning disable CS0105
using Code.Example.Race.Racer;
-using Code.Infrastructure.Configs;
using Code.Infrastructure.Camera;
+using Code.Infrastructure.Configs;
using Code.Infrastructure.Audio;
using Code.Infrastructure.Camera;
using Code.Infrastructure.UI;
@@ -28,10 +28,10 @@ using Code.Infrastructure.Input;
_multipleConfigReferences.Add(typeof(Code.Example.Race.Racer.RacerSettingsConfig), systemConfigsReferences.RacerSettings);
- _multipleConfigReferences.Add(typeof(Code.Infrastructure.Configs.LayerMasksConfigConfig), systemConfigsReferences.LayerMasksConfig);
-
_multipleConfigReferences.Add(typeof(Code.Infrastructure.Camera.CameraSettingsConfig), systemConfigsReferences.CameraSettings);
+ _multipleConfigReferences.Add(typeof(Code.Infrastructure.Configs.LayerMasksConfigConfig), systemConfigsReferences.LayerMasksConfig);
+
_singleConfigReferences.Add(typeof(Code.Infrastructure.Audio.AudioSourcePrefabConfig), systemConfigsReferences.AudioSourcePrefab);
_singleConfigReferences.Add(typeof(Code.Infrastructure.Camera.GameCameraConfig), systemConfigsReferences.GameCamera);
diff --git a/Assets/UnityCodeGen.Generated/SystemConfigsReferences.Generated.cs b/Assets/UnityCodeGen.Generated/SystemConfigsReferences.Generated.cs
index f871764..6fc3b50 100644
--- a/Assets/UnityCodeGen.Generated/SystemConfigsReferences.Generated.cs
+++ b/Assets/UnityCodeGen.Generated/SystemConfigsReferences.Generated.cs
@@ -1,8 +1,8 @@
#pragma warning disable CS0105
using Code.Example.Race.Racer;
-using Code.Infrastructure.Configs;
using Code.Infrastructure.Camera;
+using Code.Infrastructure.Configs;
using Code.Infrastructure.Audio;
using Code.Infrastructure.Camera;
using Code.Infrastructure.UI;
@@ -21,8 +21,8 @@ using Code.Infrastructure.Input;
public partial class SystemConfigsReferences
{
public string RacerSettings;
-public string LayerMasksConfig;
public string CameraSettings;
+public string LayerMasksConfig;
public AssetReference AudioSourcePrefab;
public AssetReference GameCamera;
public AssetReference CanvasSettings;
diff --git a/Packages/manifest.json b/Packages/manifest.json
index 5fafff3..27faed7 100644
--- a/Packages/manifest.json
+++ b/Packages/manifest.json
@@ -3,6 +3,7 @@
"com.annulusgames.unity-codegen": "https://github.com/AnnulusGames/UnityCodeGen.git?path=/Assets/UnityCodeGen",
"com.cysharp.unitask": "https://github.com/Cysharp/UniTask.git?path=src/UniTask/Assets/Plugins/UniTask",
"com.gustavopsantos.reflex": "https://github.com/gustavopsantos/reflex.git?path=/Assets/Reflex/#14.1.0",
+ "com.kyrylokuzyk.primetween": "file:../Assets/Plugins/PrimeTween/internal/com.kyrylokuzyk.primetween.tgz",
"com.unity.2d.sprite": "1.0.0",
"com.unity.addressables": "2.8.0",
"com.unity.ai.navigation": "2.0.9",
diff --git a/Packages/packages-lock.json b/Packages/packages-lock.json
index 49744e1..b8610d7 100644
--- a/Packages/packages-lock.json
+++ b/Packages/packages-lock.json
@@ -21,6 +21,12 @@
"dependencies": {},
"hash": "a855f992ab888d2e92027dc38b4db3ab42e5f679"
},
+ "com.kyrylokuzyk.primetween": {
+ "version": "file:../Assets/Plugins/PrimeTween/internal/com.kyrylokuzyk.primetween.tgz",
+ "depth": 0,
+ "source": "local-tarball",
+ "dependencies": {}
+ },
"com.unity.2d.animation": {
"version": "13.0.4",
"depth": 1,
diff --git a/ProjectSettings/Physics2DSettings.asset b/ProjectSettings/Physics2DSettings.asset
index df831dc..47ac4ab 100644
--- a/ProjectSettings/Physics2DSettings.asset
+++ b/ProjectSettings/Physics2DSettings.asset
@@ -50,8 +50,8 @@ Physics2DSettings:
m_QueriesHitTriggers: 1
m_QueriesStartInColliders: 1
m_CallbacksOnDisable: 1
- m_ReuseCollisionCallbacks: 0
+ m_ReuseCollisionCallbacks: 1
m_AutoSyncTransforms: 0
m_GizmoOptions: 10
- m_LayerCollisionMatrix: 000000000000000000000000000000000000000000000000000000000000000000000000000c000000020000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+ m_LayerCollisionMatrix: 000000000000000000000000000000000000000000000000000000000000000000000000000c000000120000000200000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
m_PhysicsLowLevelSettings: {fileID: 0}
diff --git a/ProjectSettings/ProjectSettings.asset b/ProjectSettings/ProjectSettings.asset
index e4e69f2..1f87c3a 100644
--- a/ProjectSettings/ProjectSettings.asset
+++ b/ProjectSettings/ProjectSettings.asset
@@ -836,24 +836,24 @@ PlayerSettings:
webWasm2023: 0
webEnableSubmoduleStrippingCompatibility: 0
scriptingDefineSymbols:
- Android: DOTWEEN
- EmbeddedLinux: DOTWEEN
- GameCoreScarlett: DOTWEEN
- GameCoreXboxOne: DOTWEEN
- Kepler: DOTWEEN
- LinuxHeadlessSimulation: DOTWEEN
- Nintendo Switch: DOTWEEN
- Nintendo Switch 2: DOTWEEN
- PS4: DOTWEEN
- PS5: DOTWEEN
- QNX: DOTWEEN
- Standalone: DOTWEEN
- VisionOS: DOTWEEN
- WebGL: DOTWEEN
- Windows Store Apps: DOTWEEN
- XboxOne: DOTWEEN
- iPhone: DOTWEEN
- tvOS: DOTWEEN
+ Android:
+ EmbeddedLinux:
+ GameCoreScarlett:
+ GameCoreXboxOne:
+ Kepler:
+ LinuxHeadlessSimulation:
+ Nintendo Switch:
+ Nintendo Switch 2:
+ PS4:
+ PS5:
+ QNX:
+ Standalone:
+ VisionOS:
+ WebGL:
+ Windows Store Apps:
+ XboxOne:
+ iPhone:
+ tvOS:
additionalCompilerArguments: {}
platformArchitecture: {}
scriptingBackend:
diff --git a/ProjectSettings/TagManager.asset b/ProjectSettings/TagManager.asset
index 8bb526c..9547a7f 100644
--- a/ProjectSettings/TagManager.asset
+++ b/ProjectSettings/TagManager.asset
@@ -17,7 +17,7 @@ TagManager:
- PlatformerGround
- PlatformerPlayer
- PlatformerEntity
- -
+ - PlatformerLogic
-
-
-