Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
Decompiled source of WeatherInfo v1.0.1
plugins/CoddingCat.WeatherInfo/CoddingCat.WeatherInfo.dll
Decompiled 2 years agousing System; using System.Diagnostics; using System.IO; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using BepInEx; using BepInEx.Logging; using CoddingCat.WeatherInfo.NetcodePatcher; using DG.Tweening; using DG.Tweening.Core; using DG.Tweening.Plugins.Options; using Microsoft.CodeAnalysis; using On; using TMPro; using UnityEngine; using UnityEngine.UI; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: AssemblyCompany("CoddingCat.WeatherInfo")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0")] [assembly: AssemblyProduct("WeatherInfo")] [assembly: AssemblyTitle("CoddingCat.WeatherInfo")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] [module: RefSafetyRules(11)] [module: NetcodePatchedAssembly] internal class <Module> { static <Module>() { } } namespace Microsoft.CodeAnalysis { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] internal sealed class EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Event | AttributeTargets.Parameter | AttributeTargets.ReturnValue | AttributeTargets.GenericParameter, AllowMultiple = false, Inherited = false)] internal sealed class NullableAttribute : Attribute { public readonly byte[] NullableFlags; public NullableAttribute(byte P_0) { NullableFlags = new byte[1] { P_0 }; } public NullableAttribute(byte[] P_0) { NullableFlags = P_0; } } [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Method | AttributeTargets.Interface | AttributeTargets.Delegate, AllowMultiple = false, Inherited = false)] internal sealed class NullableContextAttribute : Attribute { public readonly byte Flag; public NullableContextAttribute(byte P_0) { Flag = P_0; } } [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)] internal sealed class RefSafetyRulesAttribute : Attribute { public readonly int Version; public RefSafetyRulesAttribute(int P_0) { Version = P_0; } } } namespace WeatherInfo { [BepInPlugin("CoddingCat.WeatherInfo", "WeatherInfo", "1.0.0")] public class Plugin : BaseUnityPlugin { internal static ManualLogSource Logger; public static AssetBundle? ModAssets; public GameObject prefab; public GameObject WeatherObject; private void Awake() { //IL_0065: Unknown result type (might be due to invalid IL or missing references) //IL_006f: Expected O, but got Unknown //IL_0077: Unknown result type (might be due to invalid IL or missing references) //IL_0081: Expected O, but got Unknown string path = "mainbundle"; ModAssets = AssetBundle.LoadFromFile(Path.Combine(Path.GetDirectoryName(((BaseUnityPlugin)this).Info.Location), path)); if ((Object)(object)ModAssets == (Object)null) { Logger.LogError((object)"Failed to load custom assets."); return; } prefab = ModAssets.LoadAsset<GameObject>("AnotherCanvas"); StartOfRound.Start += new hook_Start(myHook); StartOfRound.ChangePlanet += new hook_ChangePlanet(PlanetChangeHook); } private void PlanetChangeHook(orig_ChangePlanet orig, StartOfRound self) { //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_0084: Unknown result type (might be due to invalid IL or missing references) //IL_008e: Expected O, but got Unknown //IL_00ba: Unknown result type (might be due to invalid IL or missing references) //IL_00bf: Unknown result type (might be due to invalid IL or missing references) //IL_00ca: Unknown result type (might be due to invalid IL or missing references) //IL_00cf: Unknown result type (might be due to invalid IL or missing references) //IL_00d1: Unknown result type (might be due to invalid IL or missing references) //IL_00d3: Unknown result type (might be due to invalid IL or missing references) //IL_00d4: Unknown result type (might be due to invalid IL or missing references) //IL_00d6: Unknown result type (might be due to invalid IL or missing references) //IL_00f8: Expected I4, but got Unknown //IL_010a: Unknown result type (might be due to invalid IL or missing references) //IL_010f: Unknown result type (might be due to invalid IL or missing references) //IL_013a: Unknown result type (might be due to invalid IL or missing references) //IL_013f: Unknown result type (might be due to invalid IL or missing references) //IL_0112: Unknown result type (might be due to invalid IL or missing references) //IL_0117: Unknown result type (might be due to invalid IL or missing references) //IL_011a: Unknown result type (might be due to invalid IL or missing references) //IL_011f: Unknown result type (might be due to invalid IL or missing references) //IL_0102: Unknown result type (might be due to invalid IL or missing references) //IL_0107: Unknown result type (might be due to invalid IL or missing references) //IL_00fa: Unknown result type (might be due to invalid IL or missing references) //IL_00ff: Unknown result type (might be due to invalid IL or missing references) //IL_015a: Unknown result type (might be due to invalid IL or missing references) Debug.Log((object)RoundManager.Instance.currentLevel.currentWeather); GameObject gameObject = ((Component)WeatherObject.transform.Find("MainContainer/WeatherInfo/HeaderText (3)")).gameObject; TMP_Text weatherText = gameObject.GetComponent<TMP_Text>(); Image weatherIcon = GameObject.Find("Environment/HangarShip/ShipModels2b/MonitorWall/Cube/test/MainContainer/WeatherInfo/BG (3)").GetComponent<Image>(); TweenSettingsExtensions.OnComplete<TweenerCore<Vector3, Vector3, VectorOptions>>(TweenSettingsExtensions.SetEase<TweenerCore<Vector3, Vector3, VectorOptions>>(ShortcutExtensions.DOScale(((Component)weatherIcon).transform, Vector3.zero, 0.7f), (Ease)2), (TweenCallback)delegate { //IL_0050: Unknown result type (might be due to invalid IL or missing references) weatherIcon.sprite = ModAssets.LoadAsset<Sprite>(((object)(LevelWeatherType)(ref RoundManager.Instance.currentLevel.currentWeather)).ToString().ToUpper()); TweenSettingsExtensions.SetEase<TweenerCore<Vector3, Vector3, VectorOptions>>(ShortcutExtensions.DOScale(((Component)weatherIcon).transform, new Vector3(0.5383086f, 0.5383086f, 0.5383086f), 0.7f), (Ease)3); }); gameObject.GetComponent<TMP_Text>().text = ((object)(LevelWeatherType)(ref RoundManager.Instance.currentLevel.currentWeather)).ToString().ToUpper(); Color val = Color.white; LevelWeatherType currentWeather = RoundManager.Instance.currentLevel.currentWeather; LevelWeatherType val2 = currentWeather; switch (val2 - -1) { case 6: val = Color.red; break; case 4: val = Color.yellow; break; case 0: val = Color.green; break; case 2: val = Color.yellow; break; case 3: val = Color.red; break; case 5: ((Color)(ref val))..ctor(1f, 0.64f, 0f); break; case 1: val = Color.green; break; } TweenSettingsExtensions.SetEase<TweenerCore<Color, Color, ColorOptions>>(DOTween.To((DOGetter<Color>)(() => ((Graphic)weatherText).color), (DOSetter<Color>)delegate(Color x) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) ((Graphic)weatherText).color = x; }, val, 1f), (Ease)7); orig.Invoke(self); } private void myHook(orig_Start orig, StartOfRound self) { //IL_0078: Unknown result type (might be due to invalid IL or missing references) //IL_0094: Unknown result type (might be due to invalid IL or missing references) //IL_00b0: Unknown result type (might be due to invalid IL or missing references) //IL_00cc: Unknown result type (might be due to invalid IL or missing references) GameObject val = GameObject.Find("Environment/HangarShip/ShipModels2b/MonitorWall"); if ((Object)(object)val != (Object)null) { Debug.Log((object)"MonitorWall found!"); WeatherObject = Object.Instantiate<GameObject>(prefab); WeatherObject.transform.SetParent(GameObject.Find("Environment/HangarShip/ShipModels2b/MonitorWall/Cube").transform); GameObject gameObject = GameObject.Find("Environment/HangarShip/ShipModels2b/MonitorWall/Cube/Canvas (1)").gameObject; WeatherObject.transform.position = gameObject.transform.position; WeatherObject.transform.rotation = gameObject.transform.rotation; WeatherObject.transform.localScale = gameObject.transform.localScale; WeatherObject.transform.localPosition = gameObject.transform.localPosition; ((Object)WeatherObject).name = "test"; } else { Debug.Log((object)"MonitorWall not found!"); } orig.Invoke(self); } } public static class PluginInfo { public const string PLUGIN_GUID = "CoddingCat.WeatherInfo"; public const string PLUGIN_NAME = "WeatherInfo"; public const string PLUGIN_VERSION = "1.0.0"; } } namespace CoddingCat.WeatherInfo.NetcodePatcher { [AttributeUsage(AttributeTargets.Module)] internal class NetcodePatchedAssemblyAttribute : Attribute { } }
plugins/CoddingCat.WeatherInfo/DOTween.dll
Decompiled 2 years ago
The result has been truncated due to the large size, download it to view full contents!
using System; using System.Collections; using System.Collections.Generic; using System.Diagnostics; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Text; using System.Text.RegularExpressions; using DG.Tweening.Core; using DG.Tweening.Core.Easing; using DG.Tweening.Core.Enums; using DG.Tweening.CustomPlugins; using DG.Tweening.Plugins; using DG.Tweening.Plugins.Core; using DG.Tweening.Plugins.Core.PathCore; using DG.Tweening.Plugins.Options; using UnityEngine; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: InternalsVisibleTo("DOTweenEditor")] [assembly: InternalsVisibleTo("DOTween43")] [assembly: InternalsVisibleTo("DOTween46")] [assembly: InternalsVisibleTo("DOTween50")] [assembly: InternalsVisibleTo("DOTweenPro")] [assembly: InternalsVisibleTo("DOTweenProEditor")] [assembly: AssemblyTitle("DOTween")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("Demigiant")] [assembly: AssemblyProduct("DOTween")] [assembly: AssemblyCopyright("Copyright © Daniele Giardini, 2014")] [assembly: AssemblyTrademark("")] [assembly: ComVisible(false)] [assembly: Guid("807e068c-2a0e-4c81-a303-4b4fd3924511")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyVersion("1.0.0.0")] namespace DG.Tweening { public enum AutoPlay { None, AutoPlaySequences, AutoPlayTweeners, All } [Flags] public enum AxisConstraint { None = 0, X = 2, Y = 4, Z = 8, W = 0x10 } public struct Color2 { public Color ca; public Color cb; public Color2(Color ca, Color cb) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) this.ca = ca; this.cb = cb; } public static Color2 operator +(Color2 c1, Color2 c2) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_0018: Unknown result type (might be due to invalid IL or missing references) //IL_001d: Unknown result type (might be due to invalid IL or missing references) return new Color2(c1.ca + c2.ca, c1.cb + c2.cb); } public static Color2 operator -(Color2 c1, Color2 c2) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_0018: Unknown result type (might be due to invalid IL or missing references) //IL_001d: Unknown result type (might be due to invalid IL or missing references) return new Color2(c1.ca - c2.ca, c1.cb - c2.cb); } public static Color2 operator *(Color2 c1, float f) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0013: Unknown result type (might be due to invalid IL or missing references) return new Color2(c1.ca * f, c1.cb * f); } } public delegate void TweenCallback(); public delegate void TweenCallback<in T>(T value); public delegate float EaseFunction(float time, float duration, float overshootOrAmplitude, float period); public static class DOCurve { public static class CubicBezier { public static Vector3 GetPointOnSegment(Vector3 startPoint, Vector3 startControlPoint, Vector3 endPoint, Vector3 endControlPoint, float factor) { //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_0031: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0040: Unknown result type (might be due to invalid IL or missing references) //IL_0045: Unknown result type (might be due to invalid IL or missing references) //IL_004b: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0051: Unknown result type (might be due to invalid IL or missing references) float num = 1f - factor; float num2 = factor * factor; float num3 = num * num; float num4 = num3 * num; float num5 = num2 * factor; return num4 * startPoint + 3f * num3 * factor * startControlPoint + 3f * num * num2 * endControlPoint + num5 * endPoint; } public static Vector3[] GetSegmentPointCloud(Vector3 startPoint, Vector3 startControlPoint, Vector3 endPoint, Vector3 endControlPoint, int resolution = 10) { //IL_0022: Unknown result type (might be due to invalid IL or missing references) //IL_0023: Unknown result type (might be due to invalid IL or missing references) //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_0025: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_002f: Unknown result type (might be due to invalid IL or missing references) if (resolution < 2) { resolution = 2; } Vector3[] array = (Vector3[])(object)new Vector3[resolution]; float num = 1f / (float)(resolution - 1); for (int i = 0; i < resolution; i++) { array[i] = GetPointOnSegment(startPoint, startControlPoint, endPoint, endControlPoint, num * (float)i); } return array; } public static void GetSegmentPointCloud(List<Vector3> addToList, Vector3 startPoint, Vector3 startControlPoint, Vector3 endPoint, Vector3 endControlPoint, int resolution = 10) { //IL_0019: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Unknown result type (might be due to invalid IL or missing references) //IL_0022: Unknown result type (might be due to invalid IL or missing references) if (resolution < 2) { resolution = 2; } float num = 1f / (float)(resolution - 1); for (int i = 0; i < resolution; i++) { addToList.Add(GetPointOnSegment(startPoint, startControlPoint, endPoint, endControlPoint, num * (float)i)); } } } } public class DOTween { public static readonly string Version = "1.2.765"; public static bool useSafeMode = true; public static SafeModeLogBehaviour safeModeLogBehaviour = SafeModeLogBehaviour.Warning; public static NestedTweenFailureBehaviour nestedTweenFailureBehaviour = NestedTweenFailureBehaviour.TryToPreserveSequence; public static bool showUnityEditorReport = false; public static float timeScale = 1f; public static float unscaledTimeScale = 1f; public static bool useSmoothDeltaTime; public static float maxSmoothUnscaledTime = 0.15f; internal static RewindCallbackMode rewindCallbackMode = RewindCallbackMode.FireIfPositionChanged; private static LogBehaviour _logBehaviour = LogBehaviour.ErrorsOnly; public static Func<LogType, object, bool> onWillLog; public static bool drawGizmos = true; public static bool debugMode = false; private static bool _fooDebugStoreTargetId = true; public static UpdateType defaultUpdateType = UpdateType.Normal; public static bool defaultTimeScaleIndependent = false; public static AutoPlay defaultAutoPlay = AutoPlay.All; public static bool defaultAutoKill = true; public static LoopType defaultLoopType = LoopType.Restart; public static bool defaultRecyclable; public static Ease defaultEaseType = Ease.OutQuad; public static float defaultEaseOvershootOrAmplitude = 1.70158f; public static float defaultEasePeriod = 0f; public static DOTweenComponent instance; private static bool _foo_isQuitting; internal static int maxActiveTweenersReached; internal static int maxActiveSequencesReached; internal static SafeModeReport safeModeReport; internal static readonly List<TweenCallback> GizmosDelegates = new List<TweenCallback>(); internal static bool initialized; private static int _isQuittingFrame = -1; public static LogBehaviour logBehaviour { get { return _logBehaviour; } set { _logBehaviour = value; DG.Tweening.Core.Debugger.SetLogPriority(_logBehaviour); } } public static bool debugStoreTargetId { get { if (debugMode && useSafeMode) { return _fooDebugStoreTargetId; } return false; } set { _fooDebugStoreTargetId = value; } } internal static bool isQuitting { get { if (!_foo_isQuitting) { return false; } if (Time.frameCount >= 0 && _isQuittingFrame != Time.frameCount) { _foo_isQuitting = false; return false; } return true; } set { _foo_isQuitting = value; if (value) { _isQuittingFrame = Time.frameCount; } } } public static IDOTweenInit Init(bool? recycleAllByDefault = null, bool? useSafeMode = null, LogBehaviour? logBehaviour = null) { if (initialized) { return instance; } if (!Application.isPlaying || isQuitting) { return null; } return Init(Resources.Load("DOTweenSettings") as DOTweenSettings, recycleAllByDefault, useSafeMode, logBehaviour); } private static void AutoInit() { if (Application.isPlaying && !isQuitting) { Init(Resources.Load("DOTweenSettings") as DOTweenSettings, null, null, null); } } private static IDOTweenInit Init(DOTweenSettings settings, bool? recycleAllByDefault, bool? useSafeMode, LogBehaviour? logBehaviour) { initialized = true; if (recycleAllByDefault.HasValue) { defaultRecyclable = recycleAllByDefault.Value; } if (useSafeMode.HasValue) { DOTween.useSafeMode = useSafeMode.Value; } if (logBehaviour.HasValue) { DOTween.logBehaviour = logBehaviour.Value; } DOTweenComponent.Create(); if ((Object)(object)settings != (Object)null) { if (!useSafeMode.HasValue) { DOTween.useSafeMode = settings.useSafeMode; } if (!logBehaviour.HasValue) { DOTween.logBehaviour = settings.logBehaviour; } if (!recycleAllByDefault.HasValue) { defaultRecyclable = settings.defaultRecyclable; } safeModeLogBehaviour = settings.safeModeOptions.logBehaviour; nestedTweenFailureBehaviour = settings.safeModeOptions.nestedTweenFailureBehaviour; timeScale = settings.timeScale; unscaledTimeScale = settings.unscaledTimeScale; useSmoothDeltaTime = settings.useSmoothDeltaTime; maxSmoothUnscaledTime = settings.maxSmoothUnscaledTime; rewindCallbackMode = settings.rewindCallbackMode; defaultRecyclable = ((!recycleAllByDefault.HasValue) ? settings.defaultRecyclable : recycleAllByDefault.Value); showUnityEditorReport = settings.showUnityEditorReport; drawGizmos = settings.drawGizmos; defaultAutoPlay = settings.defaultAutoPlay; defaultUpdateType = settings.defaultUpdateType; defaultTimeScaleIndependent = settings.defaultTimeScaleIndependent; defaultEaseType = settings.defaultEaseType; defaultEaseOvershootOrAmplitude = settings.defaultEaseOvershootOrAmplitude; defaultEasePeriod = settings.defaultEasePeriod; defaultAutoKill = settings.defaultAutoKill; defaultLoopType = settings.defaultLoopType; debugMode = settings.debugMode; debugStoreTargetId = settings.debugStoreTargetId; } if (DG.Tweening.Core.Debugger.logPriority >= 2) { DG.Tweening.Core.Debugger.Log("DOTween initialization (useSafeMode: " + DOTween.useSafeMode + ", recycling: " + (defaultRecyclable ? "ON" : "OFF") + ", logBehaviour: " + DOTween.logBehaviour.ToString() + ")"); } return instance; } public static void SetTweensCapacity(int tweenersCapacity, int sequencesCapacity) { TweenManager.SetCapacities(tweenersCapacity, sequencesCapacity); } public static void Clear(bool destroy = false) { Clear(destroy, isApplicationQuitting: false); } internal static void Clear(bool destroy, bool isApplicationQuitting) { TweenManager.PurgeAll(isApplicationQuitting); PluginsManager.PurgeAll(); if (destroy) { initialized = false; useSafeMode = false; safeModeLogBehaviour = SafeModeLogBehaviour.Warning; nestedTweenFailureBehaviour = NestedTweenFailureBehaviour.TryToPreserveSequence; showUnityEditorReport = false; drawGizmos = true; timeScale = 1f; unscaledTimeScale = 1f; useSmoothDeltaTime = false; maxSmoothUnscaledTime = 0.15f; rewindCallbackMode = RewindCallbackMode.FireIfPositionChanged; logBehaviour = LogBehaviour.ErrorsOnly; onWillLog = null; defaultEaseType = Ease.OutQuad; defaultEaseOvershootOrAmplitude = 1.70158f; defaultEasePeriod = 0f; defaultUpdateType = UpdateType.Normal; defaultTimeScaleIndependent = false; defaultAutoPlay = AutoPlay.All; defaultLoopType = LoopType.Restart; defaultAutoKill = true; defaultRecyclable = false; maxActiveTweenersReached = (maxActiveSequencesReached = 0); GizmosDelegates.Clear(); DOTweenComponent.DestroyInstance(); } } public static void ClearCachedTweens() { TweenManager.PurgePools(); } public static int Validate() { return TweenManager.Validate(); } public static void ManualUpdate(float deltaTime, float unscaledDeltaTime) { InitCheck(); if (TweenManager.hasActiveManualTweens) { TweenManager.Update(UpdateType.Manual, deltaTime * timeScale, unscaledDeltaTime * unscaledTimeScale * timeScale); } } public static TweenerCore<float, float, FloatOptions> To(DOGetter<float> getter, DOSetter<float> setter, float endValue, float duration) { return ApplyTo<float, float, FloatOptions>(getter, setter, endValue, duration); } public static TweenerCore<double, double, NoOptions> To(DOGetter<double> getter, DOSetter<double> setter, double endValue, float duration) { return ApplyTo<double, double, NoOptions>(getter, setter, endValue, duration); } public static TweenerCore<int, int, NoOptions> To(DOGetter<int> getter, DOSetter<int> setter, int endValue, float duration) { return ApplyTo<int, int, NoOptions>(getter, setter, endValue, duration); } public static TweenerCore<uint, uint, UintOptions> To(DOGetter<uint> getter, DOSetter<uint> setter, uint endValue, float duration) { return ApplyTo<uint, uint, UintOptions>(getter, setter, endValue, duration); } public static TweenerCore<long, long, NoOptions> To(DOGetter<long> getter, DOSetter<long> setter, long endValue, float duration) { return ApplyTo<long, long, NoOptions>(getter, setter, endValue, duration); } public static TweenerCore<ulong, ulong, NoOptions> To(DOGetter<ulong> getter, DOSetter<ulong> setter, ulong endValue, float duration) { return ApplyTo<ulong, ulong, NoOptions>(getter, setter, endValue, duration); } public static TweenerCore<string, string, StringOptions> To(DOGetter<string> getter, DOSetter<string> setter, string endValue, float duration) { return ApplyTo<string, string, StringOptions>(getter, setter, endValue, duration); } public static TweenerCore<Vector2, Vector2, VectorOptions> To(DOGetter<Vector2> getter, DOSetter<Vector2> setter, Vector2 endValue, float duration) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) return ApplyTo<Vector2, Vector2, VectorOptions>(getter, setter, endValue, duration); } public static TweenerCore<Vector3, Vector3, VectorOptions> To(DOGetter<Vector3> getter, DOSetter<Vector3> setter, Vector3 endValue, float duration) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) return ApplyTo<Vector3, Vector3, VectorOptions>(getter, setter, endValue, duration); } public static TweenerCore<Vector4, Vector4, VectorOptions> To(DOGetter<Vector4> getter, DOSetter<Vector4> setter, Vector4 endValue, float duration) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) return ApplyTo<Vector4, Vector4, VectorOptions>(getter, setter, endValue, duration); } public static TweenerCore<Quaternion, Vector3, QuaternionOptions> To(DOGetter<Quaternion> getter, DOSetter<Quaternion> setter, Vector3 endValue, float duration) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) return ApplyTo<Quaternion, Vector3, QuaternionOptions>(getter, setter, endValue, duration); } public static TweenerCore<Color, Color, ColorOptions> To(DOGetter<Color> getter, DOSetter<Color> setter, Color endValue, float duration) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) return ApplyTo<Color, Color, ColorOptions>(getter, setter, endValue, duration); } public static TweenerCore<Rect, Rect, RectOptions> To(DOGetter<Rect> getter, DOSetter<Rect> setter, Rect endValue, float duration) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) return ApplyTo<Rect, Rect, RectOptions>(getter, setter, endValue, duration); } public static Tweener To(DOGetter<RectOffset> getter, DOSetter<RectOffset> setter, RectOffset endValue, float duration) { return ApplyTo<RectOffset, RectOffset, NoOptions>(getter, setter, endValue, duration); } public static TweenerCore<T1, T2, TPlugOptions> To<T1, T2, TPlugOptions>(ABSTweenPlugin<T1, T2, TPlugOptions> plugin, DOGetter<T1> getter, DOSetter<T1> setter, T2 endValue, float duration) where TPlugOptions : struct, IPlugOptions { return ApplyTo(getter, setter, endValue, duration, plugin); } public static TweenerCore<Vector3, Vector3, VectorOptions> ToAxis(DOGetter<Vector3> getter, DOSetter<Vector3> setter, float endValue, float duration, AxisConstraint axisConstraint = AxisConstraint.X) { //IL_0005: Unknown result type (might be due to invalid IL or missing references) TweenerCore<Vector3, Vector3, VectorOptions> tweenerCore = ApplyTo<Vector3, Vector3, VectorOptions>(getter, setter, new Vector3(endValue, endValue, endValue), duration); tweenerCore.plugOptions.axisConstraint = axisConstraint; return tweenerCore; } public static TweenerCore<Color, Color, ColorOptions> ToAlpha(DOGetter<Color> getter, DOSetter<Color> setter, float endValue, float duration) { //IL_0012: Unknown result type (might be due to invalid IL or missing references) TweenerCore<Color, Color, ColorOptions> tweenerCore = ApplyTo<Color, Color, ColorOptions>(getter, setter, new Color(0f, 0f, 0f, endValue), duration); tweenerCore.SetOptions(alphaOnly: true); return tweenerCore; } public static Tweener To(DOSetter<float> setter, float startValue, float endValue, float duration) { return To(() => startValue, delegate(float x) { startValue = x; setter(startValue); }, endValue, duration).NoFrom(); } public static TweenerCore<Vector3, Vector3[], Vector3ArrayOptions> Punch(DOGetter<Vector3> getter, DOSetter<Vector3> setter, Vector3 direction, float duration, int vibrato = 10, float elasticity = 1f) { //IL_00f6: Unknown result type (might be due to invalid IL or missing references) //IL_00fb: Unknown result type (might be due to invalid IL or missing references) //IL_00b4: Unknown result type (might be due to invalid IL or missing references) //IL_00b5: Unknown result type (might be due to invalid IL or missing references) //IL_00e0: Unknown result type (might be due to invalid IL or missing references) //IL_00e2: Unknown result type (might be due to invalid IL or missing references) //IL_00e7: Unknown result type (might be due to invalid IL or missing references) //IL_00c6: Unknown result type (might be due to invalid IL or missing references) //IL_00cb: Unknown result type (might be due to invalid IL or missing references) //IL_00d0: Unknown result type (might be due to invalid IL or missing references) //IL_00d5: Unknown result type (might be due to invalid IL or missing references) if (elasticity > 1f) { elasticity = 1f; } else if (elasticity < 0f) { elasticity = 0f; } float num = ((Vector3)(ref direction)).magnitude; int num2 = (int)((float)vibrato * duration); if (num2 < 2) { num2 = 2; } float num3 = num / (float)num2; float[] array = new float[num2]; float num4 = 0f; for (int i = 0; i < num2; i++) { float num5 = (float)(i + 1) / (float)num2; float num6 = duration * num5; num4 += num6; array[i] = num6; } float num7 = duration / num4; for (int j = 0; j < num2; j++) { array[j] *= num7; } Vector3[] array2 = (Vector3[])(object)new Vector3[num2]; for (int k = 0; k < num2; k++) { if (k < num2 - 1) { if (k == 0) { array2[k] = direction; } else if (k % 2 != 0) { array2[k] = -Vector3.ClampMagnitude(direction, num * elasticity); } else { array2[k] = Vector3.ClampMagnitude(direction, num); } num -= num3; } else { array2[k] = Vector3.zero; } } return ToArray(getter, setter, array2, array).NoFrom().SetSpecialStartupMode(SpecialStartupMode.SetPunch); } public static TweenerCore<Vector3, Vector3[], Vector3ArrayOptions> Shake(DOGetter<Vector3> getter, DOSetter<Vector3> setter, float duration, float strength = 3f, int vibrato = 10, float randomness = 90f, bool ignoreZAxis = true, bool fadeOut = true, ShakeRandomnessMode randomnessMode = ShakeRandomnessMode.Full) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) return Shake(getter, setter, duration, new Vector3(strength, strength, strength), vibrato, randomness, ignoreZAxis, vectorBased: false, fadeOut, randomnessMode); } public static TweenerCore<Vector3, Vector3[], Vector3ArrayOptions> Shake(DOGetter<Vector3> getter, DOSetter<Vector3> setter, float duration, Vector3 strength, int vibrato = 10, float randomness = 90f, bool fadeOut = true, ShakeRandomnessMode randomnessMode = ShakeRandomnessMode.Full) { //IL_0003: Unknown result type (might be due to invalid IL or missing references) return Shake(getter, setter, duration, strength, vibrato, randomness, ignoreZAxis: false, vectorBased: true, fadeOut, randomnessMode); } private static TweenerCore<Vector3, Vector3[], Vector3ArrayOptions> Shake(DOGetter<Vector3> getter, DOSetter<Vector3> setter, float duration, Vector3 strength, int vibrato, float randomness, bool ignoreZAxis, bool vectorBased, bool fadeOut, ShakeRandomnessMode randomnessMode) { //IL_0004: Unknown result type (might be due to invalid IL or missing references) //IL_0206: Unknown result type (might be due to invalid IL or missing references) //IL_020b: Unknown result type (might be due to invalid IL or missing references) //IL_00b7: Unknown result type (might be due to invalid IL or missing references) //IL_00bc: Unknown result type (might be due to invalid IL or missing references) //IL_012d: Unknown result type (might be due to invalid IL or missing references) //IL_0132: Unknown result type (might be due to invalid IL or missing references) //IL_0137: Unknown result type (might be due to invalid IL or missing references) //IL_00f3: Unknown result type (might be due to invalid IL or missing references) //IL_00f8: Unknown result type (might be due to invalid IL or missing references) //IL_00fd: Unknown result type (might be due to invalid IL or missing references) //IL_0140: Unknown result type (might be due to invalid IL or missing references) //IL_0145: Unknown result type (might be due to invalid IL or missing references) //IL_014a: Unknown result type (might be due to invalid IL or missing references) //IL_014f: Unknown result type (might be due to invalid IL or missing references) //IL_0153: Unknown result type (might be due to invalid IL or missing references) //IL_0155: Unknown result type (might be due to invalid IL or missing references) //IL_015b: Unknown result type (might be due to invalid IL or missing references) //IL_016c: Unknown result type (might be due to invalid IL or missing references) //IL_016e: Unknown result type (might be due to invalid IL or missing references) //IL_0174: Unknown result type (might be due to invalid IL or missing references) //IL_0185: Unknown result type (might be due to invalid IL or missing references) //IL_0187: Unknown result type (might be due to invalid IL or missing references) //IL_018d: Unknown result type (might be due to invalid IL or missing references) //IL_019e: Unknown result type (might be due to invalid IL or missing references) //IL_01a4: Unknown result type (might be due to invalid IL or missing references) //IL_01a9: Unknown result type (might be due to invalid IL or missing references) //IL_01af: Unknown result type (might be due to invalid IL or missing references) //IL_01b1: Unknown result type (might be due to invalid IL or missing references) //IL_01e4: Unknown result type (might be due to invalid IL or missing references) //IL_01e9: Unknown result type (might be due to invalid IL or missing references) //IL_01ee: Unknown result type (might be due to invalid IL or missing references) //IL_01f3: Unknown result type (might be due to invalid IL or missing references) //IL_01d4: Unknown result type (might be due to invalid IL or missing references) //IL_01d9: Unknown result type (might be due to invalid IL or missing references) //IL_01be: Unknown result type (might be due to invalid IL or missing references) //IL_01c0: Unknown result type (might be due to invalid IL or missing references) //IL_01c5: Unknown result type (might be due to invalid IL or missing references) float num = (vectorBased ? ((Vector3)(ref strength)).magnitude : strength.x); int num2 = (int)((float)vibrato * duration); if (num2 < 2) { num2 = 2; } float num3 = num / (float)num2; float[] array = new float[num2]; float num4 = 0f; for (int i = 0; i < num2; i++) { float num5 = (float)(i + 1) / (float)num2; float num6 = (fadeOut ? (duration * num5) : (duration / (float)num2)); num4 += num6; array[i] = num6; } float num7 = duration / num4; for (int j = 0; j < num2; j++) { array[j] *= num7; } float num8 = Random.Range(0f, 360f); Vector3[] array2 = (Vector3[])(object)new Vector3[num2]; for (int k = 0; k < num2; k++) { if (k < num2 - 1) { Quaternion val = Quaternion.identity; if (randomnessMode == ShakeRandomnessMode.Harmonic) { if (k > 0) { num8 = num8 - 180f + Random.Range(0f, randomness); } if (vectorBased || !ignoreZAxis) { val = Quaternion.AngleAxis(Random.Range(0f, randomness), Vector3.up); } } else { if (k > 0) { num8 = num8 - 180f + Random.Range(0f - randomness, randomness); } if (vectorBased || !ignoreZAxis) { val = Quaternion.AngleAxis(Random.Range(0f - randomness, randomness), Vector3.up); } } if (vectorBased) { Vector3 val2 = val * DOTweenUtils.Vector3FromAngle(num8, num); val2.x = Vector3.ClampMagnitude(val2, strength.x).x; val2.y = Vector3.ClampMagnitude(val2, strength.y).y; val2.z = Vector3.ClampMagnitude(val2, strength.z).z; val2 = (array2[k] = ((Vector3)(ref val2)).normalized * num); if (fadeOut) { num -= num3; } strength = Vector3.ClampMagnitude(strength, num); } else { if (ignoreZAxis) { array2[k] = DOTweenUtils.Vector3FromAngle(num8, num); } else { array2[k] = val * DOTweenUtils.Vector3FromAngle(num8, num); } if (fadeOut) { num -= num3; } } } else { array2[k] = Vector3.zero; } } return ToArray(getter, setter, array2, array).NoFrom().SetSpecialStartupMode(SpecialStartupMode.SetShake); } public static TweenerCore<Vector3, Vector3[], Vector3ArrayOptions> ToArray(DOGetter<Vector3> getter, DOSetter<Vector3> setter, Vector3[] endValues, float[] durations) { //IL_0030: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Unknown result type (might be due to invalid IL or missing references) int num = durations.Length; if (num != endValues.Length) { DG.Tweening.Core.Debugger.LogError("To Vector3 array tween: endValues and durations arrays must have the same length"); return null; } Vector3[] array = (Vector3[])(object)new Vector3[num]; float[] array2 = new float[num]; for (int i = 0; i < num; i++) { array[i] = endValues[i]; array2[i] = durations[i]; } float num2 = 0f; for (int j = 0; j < num; j++) { num2 += array2[j]; } TweenerCore<Vector3, Vector3[], Vector3ArrayOptions> tweenerCore = ApplyTo<Vector3, Vector3[], Vector3ArrayOptions>(getter, setter, array, num2).NoFrom(); tweenerCore.plugOptions.durations = array2; return tweenerCore; } internal static TweenerCore<Color2, Color2, ColorOptions> To(DOGetter<Color2> getter, DOSetter<Color2> setter, Color2 endValue, float duration) { return ApplyTo<Color2, Color2, ColorOptions>(getter, setter, endValue, duration); } public static Sequence Sequence() { InitCheck(); Sequence sequence = TweenManager.GetSequence(); DG.Tweening.Sequence.Setup(sequence); return sequence; } public static Sequence Sequence(object target) { return Sequence().SetTarget(target); } public static int CompleteAll(bool withCallbacks = false) { return TweenManager.FilteredOperation(OperationType.Complete, FilterType.All, null, optionalBool: false, withCallbacks ? 1 : 0); } public static int Complete(object targetOrId, bool withCallbacks = false) { if (targetOrId == null) { return 0; } return TweenManager.FilteredOperation(OperationType.Complete, FilterType.TargetOrId, targetOrId, optionalBool: false, withCallbacks ? 1 : 0); } internal static int CompleteAndReturnKilledTot() { return TweenManager.FilteredOperation(OperationType.Complete, FilterType.All, null, optionalBool: true, 0f); } internal static int CompleteAndReturnKilledTot(object targetOrId) { if (targetOrId == null) { return 0; } return TweenManager.FilteredOperation(OperationType.Complete, FilterType.TargetOrId, targetOrId, optionalBool: true, 0f); } internal static int CompleteAndReturnKilledTot(object target, object id) { if (target == null || id == null) { return 0; } return TweenManager.FilteredOperation(OperationType.Complete, FilterType.TargetAndId, id, optionalBool: true, 0f, target); } internal static int CompleteAndReturnKilledTotExceptFor(params object[] excludeTargetsOrIds) { return TweenManager.FilteredOperation(OperationType.Complete, FilterType.AllExceptTargetsOrIds, null, optionalBool: true, 0f, null, excludeTargetsOrIds); } public static int FlipAll() { return TweenManager.FilteredOperation(OperationType.Flip, FilterType.All, null, optionalBool: false, 0f); } public static int Flip(object targetOrId) { if (targetOrId == null) { return 0; } return TweenManager.FilteredOperation(OperationType.Flip, FilterType.TargetOrId, targetOrId, optionalBool: false, 0f); } public static int GotoAll(float to, bool andPlay = false) { return TweenManager.FilteredOperation(OperationType.Goto, FilterType.All, null, andPlay, to); } public static int Goto(object targetOrId, float to, bool andPlay = false) { if (targetOrId == null) { return 0; } return TweenManager.FilteredOperation(OperationType.Goto, FilterType.TargetOrId, targetOrId, andPlay, to); } public static int KillAll(bool complete = false) { return (complete ? CompleteAndReturnKilledTot() : 0) + TweenManager.DespawnAll(); } public static int KillAll(bool complete, params object[] idsOrTargetsToExclude) { if (idsOrTargetsToExclude == null) { return (complete ? CompleteAndReturnKilledTot() : 0) + TweenManager.DespawnAll(); } return (complete ? CompleteAndReturnKilledTotExceptFor(idsOrTargetsToExclude) : 0) + TweenManager.FilteredOperation(OperationType.Despawn, FilterType.AllExceptTargetsOrIds, null, optionalBool: false, 0f, null, idsOrTargetsToExclude); } public static int Kill(object targetOrId, bool complete = false) { if (targetOrId == null) { return 0; } return (complete ? CompleteAndReturnKilledTot(targetOrId) : 0) + TweenManager.FilteredOperation(OperationType.Despawn, FilterType.TargetOrId, targetOrId, optionalBool: false, 0f); } public static int Kill(object target, object id, bool complete = false) { if (target == null || id == null) { return 0; } return (complete ? CompleteAndReturnKilledTot(target, id) : 0) + TweenManager.FilteredOperation(OperationType.Despawn, FilterType.TargetAndId, id, optionalBool: false, 0f, target); } public static int PauseAll() { return TweenManager.FilteredOperation(OperationType.Pause, FilterType.All, null, optionalBool: false, 0f); } public static int Pause(object targetOrId) { if (targetOrId == null) { return 0; } return TweenManager.FilteredOperation(OperationType.Pause, FilterType.TargetOrId, targetOrId, optionalBool: false, 0f); } public static int PlayAll() { return TweenManager.FilteredOperation(OperationType.Play, FilterType.All, null, optionalBool: false, 0f); } public static int Play(object targetOrId) { if (targetOrId == null) { return 0; } return TweenManager.FilteredOperation(OperationType.Play, FilterType.TargetOrId, targetOrId, optionalBool: false, 0f); } public static int Play(object target, object id) { if (target == null || id == null) { return 0; } return TweenManager.FilteredOperation(OperationType.Play, FilterType.TargetAndId, id, optionalBool: false, 0f, target); } public static int PlayBackwardsAll() { return TweenManager.FilteredOperation(OperationType.PlayBackwards, FilterType.All, null, optionalBool: false, 0f); } public static int PlayBackwards(object targetOrId) { if (targetOrId == null) { return 0; } return TweenManager.FilteredOperation(OperationType.PlayBackwards, FilterType.TargetOrId, targetOrId, optionalBool: false, 0f); } public static int PlayBackwards(object target, object id) { if (target == null || id == null) { return 0; } return TweenManager.FilteredOperation(OperationType.PlayBackwards, FilterType.TargetAndId, id, optionalBool: false, 0f, target); } public static int PlayForwardAll() { return TweenManager.FilteredOperation(OperationType.PlayForward, FilterType.All, null, optionalBool: false, 0f); } public static int PlayForward(object targetOrId) { if (targetOrId == null) { return 0; } return TweenManager.FilteredOperation(OperationType.PlayForward, FilterType.TargetOrId, targetOrId, optionalBool: false, 0f); } public static int PlayForward(object target, object id) { if (target == null || id == null) { return 0; } return TweenManager.FilteredOperation(OperationType.PlayForward, FilterType.TargetAndId, id, optionalBool: false, 0f, target); } public static int RestartAll(bool includeDelay = true) { return TweenManager.FilteredOperation(OperationType.Restart, FilterType.All, null, includeDelay, 0f); } public static int Restart(object targetOrId, bool includeDelay = true, float changeDelayTo = -1f) { if (targetOrId == null) { return 0; } return TweenManager.FilteredOperation(OperationType.Restart, FilterType.TargetOrId, targetOrId, includeDelay, changeDelayTo); } public static int Restart(object target, object id, bool includeDelay = true, float changeDelayTo = -1f) { if (target == null || id == null) { return 0; } return TweenManager.FilteredOperation(OperationType.Restart, FilterType.TargetAndId, id, includeDelay, changeDelayTo, target); } public static int RewindAll(bool includeDelay = true) { return TweenManager.FilteredOperation(OperationType.Rewind, FilterType.All, null, includeDelay, 0f); } public static int Rewind(object targetOrId, bool includeDelay = true) { if (targetOrId == null) { return 0; } return TweenManager.FilteredOperation(OperationType.Rewind, FilterType.TargetOrId, targetOrId, includeDelay, 0f); } public static int SmoothRewindAll() { return TweenManager.FilteredOperation(OperationType.SmoothRewind, FilterType.All, null, optionalBool: false, 0f); } public static int SmoothRewind(object targetOrId) { if (targetOrId == null) { return 0; } return TweenManager.FilteredOperation(OperationType.SmoothRewind, FilterType.TargetOrId, targetOrId, optionalBool: false, 0f); } public static int TogglePauseAll() { return TweenManager.FilteredOperation(OperationType.TogglePause, FilterType.All, null, optionalBool: false, 0f); } public static int TogglePause(object targetOrId) { if (targetOrId == null) { return 0; } return TweenManager.FilteredOperation(OperationType.TogglePause, FilterType.TargetOrId, targetOrId, optionalBool: false, 0f); } public static bool IsTweening(object targetOrId, bool alsoCheckIfIsPlaying = false) { return TweenManager.FilteredOperation(OperationType.IsTweening, FilterType.TargetOrId, targetOrId, alsoCheckIfIsPlaying, 0f) > 0; } public static int TotalActiveTweens() { return TweenManager.totActiveTweens; } public static int TotalActiveTweeners() { return TweenManager.totActiveTweeners; } public static int TotalActiveSequences() { return TweenManager.totActiveSequences; } public static int TotalPlayingTweens() { return TweenManager.TotalPlayingTweens(); } public static int TotalTweensById(object id, bool playingOnly = false) { if (id == null) { return 0; } return TweenManager.TotalTweensById(id, playingOnly); } public static List<Tween> PlayingTweens(List<Tween> fillableList = null) { fillableList?.Clear(); return TweenManager.GetActiveTweens(playing: true, fillableList); } public static List<Tween> PausedTweens(List<Tween> fillableList = null) { fillableList?.Clear(); return TweenManager.GetActiveTweens(playing: false, fillableList); } public static List<Tween> TweensById(object id, bool playingOnly = false, List<Tween> fillableList = null) { if (id == null) { return null; } fillableList?.Clear(); return TweenManager.GetTweensById(id, playingOnly, fillableList); } public static List<Tween> TweensByTarget(object target, bool playingOnly = false, List<Tween> fillableList = null) { fillableList?.Clear(); return TweenManager.GetTweensByTarget(target, playingOnly, fillableList); } private static void InitCheck() { if (!initialized && Application.isPlaying && !isQuitting) { AutoInit(); } } private static TweenerCore<T1, T2, TPlugOptions> ApplyTo<T1, T2, TPlugOptions>(DOGetter<T1> getter, DOSetter<T1> setter, T2 endValue, float duration, ABSTweenPlugin<T1, T2, TPlugOptions> plugin = null) where TPlugOptions : struct, IPlugOptions { InitCheck(); TweenerCore<T1, T2, TPlugOptions> tweener = TweenManager.GetTweener<T1, T2, TPlugOptions>(); if (!Tweener.Setup(tweener, getter, setter, endValue, duration, plugin)) { TweenManager.Despawn(tweener); return null; } return tweener; } } public static class DOVirtual { public static Tweener Float(float from, float to, float duration, TweenCallback<float> onVirtualUpdate) { return DOTween.To(() => from, delegate(float x) { from = x; }, to, duration).OnUpdate(delegate { onVirtualUpdate(from); }); } public static Tweener Int(int from, int to, float duration, TweenCallback<int> onVirtualUpdate) { return DOTween.To(() => from, delegate(int x) { from = x; }, to, duration).OnUpdate(delegate { onVirtualUpdate(from); }); } public static Tweener Vector2(Vector2 from, Vector2 to, float duration, TweenCallback<Vector2> onVirtualUpdate) { //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_000f: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Unknown result type (might be due to invalid IL or missing references) return DOTween.To(() => from, delegate(Vector2 x) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) from = x; }, to, duration).OnUpdate(delegate { //IL_0007: Unknown result type (might be due to invalid IL or missing references) onVirtualUpdate(from); }); } public static Tweener Vector3(Vector3 from, Vector3 to, float duration, TweenCallback<Vector3> onVirtualUpdate) { //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_000f: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Unknown result type (might be due to invalid IL or missing references) return DOTween.To(() => from, delegate(Vector3 x) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) from = x; }, to, duration).OnUpdate(delegate { //IL_0007: Unknown result type (might be due to invalid IL or missing references) onVirtualUpdate(from); }); } public static Tweener Color(Color from, Color to, float duration, TweenCallback<Color> onVirtualUpdate) { //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_000f: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Unknown result type (might be due to invalid IL or missing references) return DOTween.To(() => from, delegate(Color x) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) from = x; }, to, duration).OnUpdate(delegate { //IL_0007: Unknown result type (might be due to invalid IL or missing references) onVirtualUpdate(from); }); } public static float EasedValue(float from, float to, float lifetimePercentage, Ease easeType) { return from + (to - from) * EaseManager.Evaluate(easeType, null, lifetimePercentage, 1f, DOTween.defaultEaseOvershootOrAmplitude, DOTween.defaultEasePeriod); } public static float EasedValue(float from, float to, float lifetimePercentage, Ease easeType, float overshoot) { return from + (to - from) * EaseManager.Evaluate(easeType, null, lifetimePercentage, 1f, overshoot, DOTween.defaultEasePeriod); } public static float EasedValue(float from, float to, float lifetimePercentage, Ease easeType, float amplitude, float period) { return from + (to - from) * EaseManager.Evaluate(easeType, null, lifetimePercentage, 1f, amplitude, period); } public static float EasedValue(float from, float to, float lifetimePercentage, AnimationCurve easeCurve) { return from + (to - from) * EaseManager.Evaluate(Ease.INTERNAL_Custom, new EaseCurve(easeCurve).Evaluate, lifetimePercentage, 1f, DOTween.defaultEaseOvershootOrAmplitude, DOTween.defaultEasePeriod); } public static Vector3 EasedValue(Vector3 from, Vector3 to, float lifetimePercentage, Ease easeType) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_001f: Unknown result type (might be due to invalid IL or missing references) //IL_0024: Unknown result type (might be due to invalid IL or missing references) return from + (to - from) * EaseManager.Evaluate(easeType, null, lifetimePercentage, 1f, DOTween.defaultEaseOvershootOrAmplitude, DOTween.defaultEasePeriod); } public static Vector3 EasedValue(Vector3 from, Vector3 to, float lifetimePercentage, Ease easeType, float overshoot) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Unknown result type (might be due to invalid IL or missing references) //IL_0021: Unknown result type (might be due to invalid IL or missing references) return from + (to - from) * EaseManager.Evaluate(easeType, null, lifetimePercentage, 1f, overshoot, DOTween.defaultEasePeriod); } public static Vector3 EasedValue(Vector3 from, Vector3 to, float lifetimePercentage, Ease easeType, float amplitude, float period) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Unknown result type (might be due to invalid IL or missing references) //IL_001e: Unknown result type (might be due to invalid IL or missing references) return from + (to - from) * EaseManager.Evaluate(easeType, null, lifetimePercentage, 1f, amplitude, period); } public static Vector3 EasedValue(Vector3 from, Vector3 to, float lifetimePercentage, AnimationCurve easeCurve) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_0030: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Unknown result type (might be due to invalid IL or missing references) return from + (to - from) * EaseManager.Evaluate(Ease.INTERNAL_Custom, new EaseCurve(easeCurve).Evaluate, lifetimePercentage, 1f, DOTween.defaultEaseOvershootOrAmplitude, DOTween.defaultEasePeriod); } public static Tween DelayedCall(float delay, TweenCallback callback, bool ignoreTimeScale = true) { return DOTween.Sequence().AppendInterval(delay).OnStepComplete(callback) .SetUpdate(UpdateType.Normal, ignoreTimeScale) .SetAutoKill(autoKillOnCompletion: true); } } public enum Ease { Unset, Linear, InSine, OutSine, InOutSine, InQuad, OutQuad, InOutQuad, InCubic, OutCubic, InOutCubic, InQuart, OutQuart, InOutQuart, InQuint, OutQuint, InOutQuint, InExpo, OutExpo, InOutExpo, InCirc, OutCirc, InOutCirc, InElastic, OutElastic, InOutElastic, InBack, OutBack, InOutBack, InBounce, OutBounce, InOutBounce, Flash, InFlash, OutFlash, InOutFlash, INTERNAL_Zero, INTERNAL_Custom } public class EaseFactory { public static EaseFunction StopMotion(int motionFps, Ease? ease = null) { EaseFunction customEase = EaseManager.ToEaseFunction((!ease.HasValue) ? DOTween.defaultEaseType : ease.Value); return StopMotion(motionFps, customEase); } public static EaseFunction StopMotion(int motionFps, AnimationCurve animCurve) { return StopMotion(motionFps, (EaseFunction)new EaseCurve(animCurve).Evaluate); } public static EaseFunction StopMotion(int motionFps, EaseFunction customEase) { float motionDelay = 1f / (float)motionFps; return delegate(float time, float duration, float overshootOrAmplitude, float period) { float time2 = ((time < duration) ? (time - time % motionDelay) : time); return customEase(time2, duration, overshootOrAmplitude, period); }; } } public interface IDOTweenInit { IDOTweenInit SetCapacity(int tweenersCapacity, int sequencesCapacity); } public enum LinkBehaviour { PauseOnDisable, PauseOnDisablePlayOnEnable, PauseOnDisableRestartOnEnable, PlayOnEnable, RestartOnEnable, KillOnDisable, KillOnDestroy, CompleteOnDisable, CompleteAndKillOnDisable, RewindOnDisable, RewindAndKillOnDisable } public enum PathMode { Ignore, Full3D, TopDown2D, Sidescroller2D } public enum PathType { Linear, CatmullRom, CubicBezier } public enum RotateMode { Fast, FastBeyond360, WorldAxisAdd, LocalAxisAdd } public enum ScrambleMode { None, All, Uppercase, Lowercase, Numerals, Custom } public enum ShakeRandomnessMode { Full, Harmonic } public static class TweenExtensions { public static void Complete(this Tween t) { t.Complete(withCallbacks: false); } public static void Complete(this Tween t, bool withCallbacks) { if (t == null) { if (DG.Tweening.Core.Debugger.logPriority > 1) { DG.Tweening.Core.Debugger.LogNullTween(t); } } else if (!t.active) { if (DG.Tweening.Core.Debugger.logPriority > 1) { DG.Tweening.Core.Debugger.LogInvalidTween(t); } } else if (t.isSequenced) { if (DG.Tweening.Core.Debugger.logPriority > 1) { DG.Tweening.Core.Debugger.LogNestedTween(t); } } else { TweenManager.Complete(t, modifyActiveLists: true, (!withCallbacks) ? UpdateMode.Goto : UpdateMode.Update); } } public static T Done<T>(this T t) where T : Tween { if (t == null) { if (DG.Tweening.Core.Debugger.logPriority > 1) { DG.Tweening.Core.Debugger.LogNullTween(t); } return t; } if (!t.active) { if (DG.Tweening.Core.Debugger.logPriority > 1) { DG.Tweening.Core.Debugger.LogInvalidTween(t); } return t; } if (t.isSequenced) { if (DG.Tweening.Core.Debugger.logPriority > 1) { DG.Tweening.Core.Debugger.LogNestedTween(t); } return t; } if (t.duration <= 0f) { TweenManager.Complete(t); } return t; } public static void Flip(this Tween t) { if (t == null) { if (DG.Tweening.Core.Debugger.logPriority > 1) { DG.Tweening.Core.Debugger.LogNullTween(t); } } else if (!t.active) { if (DG.Tweening.Core.Debugger.logPriority > 1) { DG.Tweening.Core.Debugger.LogInvalidTween(t); } } else if (t.isSequenced) { if (DG.Tweening.Core.Debugger.logPriority > 1) { DG.Tweening.Core.Debugger.LogNestedTween(t); } } else { TweenManager.Flip(t); } } public static void ForceInit(this Tween t) { if (t == null) { if (DG.Tweening.Core.Debugger.logPriority > 1) { DG.Tweening.Core.Debugger.LogNullTween(t); } } else if (!t.active) { if (DG.Tweening.Core.Debugger.logPriority > 1) { DG.Tweening.Core.Debugger.LogInvalidTween(t); } } else if (t.isSequenced) { if (DG.Tweening.Core.Debugger.logPriority > 1) { DG.Tweening.Core.Debugger.LogNestedTween(t); } } else { TweenManager.ForceInit(t); } } public static void Goto(this Tween t, float to, bool andPlay = false) { DoGoto(t, to, andPlay, withCallbacks: false); } public static void GotoWithCallbacks(this Tween t, float to, bool andPlay = false) { DoGoto(t, to, andPlay, withCallbacks: true); } private static void DoGoto(Tween t, float to, bool andPlay, bool withCallbacks) { if (t == null) { if (DG.Tweening.Core.Debugger.logPriority > 1) { DG.Tweening.Core.Debugger.LogNullTween(t); } return; } if (!t.active) { if (DG.Tweening.Core.Debugger.logPriority > 1) { DG.Tweening.Core.Debugger.LogInvalidTween(t); } return; } if (t.isSequenced) { if (DG.Tweening.Core.Debugger.logPriority > 1) { DG.Tweening.Core.Debugger.LogNestedTween(t); } return; } if (to < 0f) { to = 0f; } if (!t.startupDone) { TweenManager.ForceInit(t); } TweenManager.Goto(t, to, andPlay, (!withCallbacks) ? UpdateMode.Goto : UpdateMode.Update); } public static void Kill(this Tween t, bool complete = false) { if (!DOTween.initialized || t == null || !t.active) { return; } if (t.isSequenced) { if (DG.Tweening.Core.Debugger.logPriority > 1) { DG.Tweening.Core.Debugger.LogNestedTween(t); } return; } if (complete) { TweenManager.Complete(t); if (t.autoKill && t.loops >= 0) { return; } } if (TweenManager.isUpdateLoop) { t.active = false; } else { TweenManager.Despawn(t); } } public static void ManualUpdate(this Tween t, float deltaTime, float unscaledDeltaTime) { if (t == null) { if (DG.Tweening.Core.Debugger.logPriority > 1) { DG.Tweening.Core.Debugger.LogNullTween(t); } } else if (!t.active) { if (DG.Tweening.Core.Debugger.logPriority > 1) { DG.Tweening.Core.Debugger.LogInvalidTween(t); } } else if (t.isSequenced) { if (DG.Tweening.Core.Debugger.logPriority > 1) { DG.Tweening.Core.Debugger.LogNestedTween(t); } } else { TweenManager.Update(t, deltaTime, unscaledDeltaTime, isSingleTweenManualUpdate: true); } } public static T Pause<T>(this T t) where T : Tween { if (t == null) { if (DG.Tweening.Core.Debugger.logPriority > 1) { DG.Tweening.Core.Debugger.LogNullTween(t); } return t; } if (!t.active) { if (DG.Tweening.Core.Debugger.logPriority > 1) { DG.Tweening.Core.Debugger.LogInvalidTween(t); } return t; } if (t.isSequenced) { if (DG.Tweening.Core.Debugger.logPriority > 1) { DG.Tweening.Core.Debugger.LogNestedTween(t); } return t; } TweenManager.Pause(t); return t; } public static T Play<T>(this T t) where T : Tween { if (t == null) { if (DG.Tweening.Core.Debugger.logPriority > 1) { DG.Tweening.Core.Debugger.LogNullTween(t); } return t; } if (!t.active) { if (DG.Tweening.Core.Debugger.logPriority > 1) { DG.Tweening.Core.Debugger.LogInvalidTween(t); } return t; } if (t.isSequenced) { if (DG.Tweening.Core.Debugger.logPriority > 1) { DG.Tweening.Core.Debugger.LogNestedTween(t); } return t; } TweenManager.Play(t); return t; } public static void PlayBackwards(this Tween t) { if (t == null) { if (DG.Tweening.Core.Debugger.logPriority > 1) { DG.Tweening.Core.Debugger.LogNullTween(t); } } else if (!t.active) { if (DG.Tweening.Core.Debugger.logPriority > 1) { DG.Tweening.Core.Debugger.LogInvalidTween(t); } } else if (t.isSequenced) { if (DG.Tweening.Core.Debugger.logPriority > 1) { DG.Tweening.Core.Debugger.LogNestedTween(t); } } else { TweenManager.PlayBackwards(t); } } public static void PlayForward(this Tween t) { if (t == null) { if (DG.Tweening.Core.Debugger.logPriority > 1) { DG.Tweening.Core.Debugger.LogNullTween(t); } } else if (!t.active) { if (DG.Tweening.Core.Debugger.logPriority > 1) { DG.Tweening.Core.Debugger.LogInvalidTween(t); } } else if (t.isSequenced) { if (DG.Tweening.Core.Debugger.logPriority > 1) { DG.Tweening.Core.Debugger.LogNestedTween(t); } } else { TweenManager.PlayForward(t); } } public static void Restart(this Tween t, bool includeDelay = true, float changeDelayTo = -1f) { if (t == null) { if (DG.Tweening.Core.Debugger.logPriority > 1) { DG.Tweening.Core.Debugger.LogNullTween(t); } } else if (!t.active) { if (DG.Tweening.Core.Debugger.logPriority > 1) { DG.Tweening.Core.Debugger.LogInvalidTween(t); } } else if (t.isSequenced) { if (DG.Tweening.Core.Debugger.logPriority > 1) { DG.Tweening.Core.Debugger.LogNestedTween(t); } } else { TweenManager.Restart(t, includeDelay, changeDelayTo); } } public static void Rewind(this Tween t, bool includeDelay = true) { if (t == null) { if (DG.Tweening.Core.Debugger.logPriority > 1) { DG.Tweening.Core.Debugger.LogNullTween(t); } } else if (!t.active) { if (DG.Tweening.Core.Debugger.logPriority > 1) { DG.Tweening.Core.Debugger.LogInvalidTween(t); } } else if (t.isSequenced) { if (DG.Tweening.Core.Debugger.logPriority > 1) { DG.Tweening.Core.Debugger.LogNestedTween(t); } } else { TweenManager.Rewind(t, includeDelay); } } public static void SmoothRewind(this Tween t) { if (t == null) { if (DG.Tweening.Core.Debugger.logPriority > 1) { DG.Tweening.Core.Debugger.LogNullTween(t); } } else if (!t.active) { if (DG.Tweening.Core.Debugger.logPriority > 1) { DG.Tweening.Core.Debugger.LogInvalidTween(t); } } else if (t.isSequenced) { if (DG.Tweening.Core.Debugger.logPriority > 1) { DG.Tweening.Core.Debugger.LogNestedTween(t); } } else { TweenManager.SmoothRewind(t); } } public static void TogglePause(this Tween t) { if (t == null) { if (DG.Tweening.Core.Debugger.logPriority > 1) { DG.Tweening.Core.Debugger.LogNullTween(t); } } else if (!t.active) { if (DG.Tweening.Core.Debugger.logPriority > 1) { DG.Tweening.Core.Debugger.LogInvalidTween(t); } } else if (t.isSequenced) { if (DG.Tweening.Core.Debugger.logPriority > 1) { DG.Tweening.Core.Debugger.LogNestedTween(t); } } else { TweenManager.TogglePause(t); } } public static void GotoWaypoint(this Tween t, int waypointIndex, bool andPlay = false) { if (t == null) { if (DG.Tweening.Core.Debugger.logPriority > 1) { DG.Tweening.Core.Debugger.LogNullTween(t); } return; } if (!t.active) { if (DG.Tweening.Core.Debugger.logPriority > 1) { DG.Tweening.Core.Debugger.LogInvalidTween(t); } return; } if (t.isSequenced) { if (DG.Tweening.Core.Debugger.logPriority > 1) { DG.Tweening.Core.Debugger.LogNestedTween(t); } return; } if (!(t is TweenerCore<Vector3, Path, PathOptions> tweenerCore)) { if (DG.Tweening.Core.Debugger.logPriority > 1) { DG.Tweening.Core.Debugger.LogNonPathTween(t); } return; } if (!t.startupDone) { TweenManager.ForceInit(t); } if (waypointIndex < 0) { waypointIndex = 0; } else if (waypointIndex > tweenerCore.changeValue.wps.Length - 1) { waypointIndex = tweenerCore.changeValue.wps.Length - 1; } float num = 0f; for (int i = 0; i < waypointIndex + 1; i++) { num += tweenerCore.changeValue.wpLengths[i]; } float num2 = num / tweenerCore.changeValue.length; if (t.hasLoops && t.loopType == LoopType.Yoyo && ((t.position < t.duration) ? ((byte)(t.completedLoops % 2) != 0) : (t.completedLoops % 2 == 0))) { num2 = 1f - num2; } float to = (float)(t.isComplete ? (t.completedLoops - 1) : t.completedLoops) * t.duration + num2 * t.duration; TweenManager.Goto(t, to, andPlay); } public static YieldInstruction WaitForCompletion(this Tween t) { if (!t.active) { if (DG.Tweening.Core.Debugger.logPriority > 0) { DG.Tweening.Core.Debugger.LogInvalidTween(t); } return null; } return (YieldInstruction)(object)((MonoBehaviour)DOTween.instance).StartCoroutine(DOTween.instance.WaitForCompletion(t)); } public static YieldInstruction WaitForRewind(this Tween t) { if (!t.active) { if (DG.Tweening.Core.Debugger.logPriority > 0) { DG.Tweening.Core.Debugger.LogInvalidTween(t); } return null; } return (YieldInstruction)(object)((MonoBehaviour)DOTween.instance).StartCoroutine(DOTween.instance.WaitForRewind(t)); } public static YieldInstruction WaitForKill(this Tween t) { if (!t.active) { if (DG.Tweening.Core.Debugger.logPriority > 0) { DG.Tweening.Core.Debugger.LogInvalidTween(t); } return null; } return (YieldInstruction)(object)((MonoBehaviour)DOTween.instance).StartCoroutine(DOTween.instance.WaitForKill(t)); } public static YieldInstruction WaitForElapsedLoops(this Tween t, int elapsedLoops) { if (!t.active) { if (DG.Tweening.Core.Debugger.logPriority > 0) { DG.Tweening.Core.Debugger.LogInvalidTween(t); } return null; } return (YieldInstruction)(object)((MonoBehaviour)DOTween.instance).StartCoroutine(DOTween.instance.WaitForElapsedLoops(t, elapsedLoops)); } public static YieldInstruction WaitForPosition(this Tween t, float position) { if (!t.active) { if (DG.Tweening.Core.Debugger.logPriority > 0) { DG.Tweening.Core.Debugger.LogInvalidTween(t); } return null; } return (YieldInstruction)(object)((MonoBehaviour)DOTween.instance).StartCoroutine(DOTween.instance.WaitForPosition(t, position)); } public static Coroutine WaitForStart(this Tween t) { if (!t.active) { if (DG.Tweening.Core.Debugger.logPriority > 0) { DG.Tweening.Core.Debugger.LogInvalidTween(t); } return null; } return ((MonoBehaviour)DOTween.instance).StartCoroutine(DOTween.instance.WaitForStart(t)); } public static int CompletedLoops(this Tween t) { if (!t.active) { if (DG.Tweening.Core.Debugger.logPriority > 0) { DG.Tweening.Core.Debugger.LogInvalidTween(t); } return 0; } return t.completedLoops; } public static float Delay(this Tween t) { if (!t.active) { if (DG.Tweening.Core.Debugger.logPriority > 0) { DG.Tweening.Core.Debugger.LogInvalidTween(t); } return 0f; } return t.delay; } public static float ElapsedDelay(this Tween t) { if (!t.active) { if (DG.Tweening.Core.Debugger.logPriority > 0) { DG.Tweening.Core.Debugger.LogInvalidTween(t); } return 0f; } return t.elapsedDelay; } public static float Duration(this Tween t, bool includeLoops = true) { if (!t.active) { if (DG.Tweening.Core.Debugger.logPriority > 0) { DG.Tweening.Core.Debugger.LogInvalidTween(t); } return 0f; } if (includeLoops) { if (t.loops != -1) { return t.duration * (float)t.loops; } return float.PositiveInfinity; } return t.duration; } public static float Elapsed(this Tween t, bool includeLoops = true) { if (!t.active) { if (DG.Tweening.Core.Debugger.logPriority > 0) { DG.Tweening.Core.Debugger.LogInvalidTween(t); } return 0f; } if (includeLoops) { return (float)((t.position >= t.duration) ? (t.completedLoops - 1) : t.completedLoops) * t.duration + t.position; } return t.position; } public static float ElapsedPercentage(this Tween t, bool includeLoops = true) { if (!t.active) { if (DG.Tweening.Core.Debugger.logPriority > 0) { DG.Tweening.Core.Debugger.LogInvalidTween(t); } return 0f; } if (includeLoops) { if (t.fullDuration <= 0f) { return 0f; } return ((float)((t.position >= t.duration) ? (t.completedLoops - 1) : t.completedLoops) * t.duration + t.position) / t.fullDuration; } return t.position / t.duration; } public static float ElapsedDirectionalPercentage(this Tween t) { if (!t.active) { if (DG.Tweening.Core.Debugger.logPriority > 0) { DG.Tweening.Core.Debugger.LogInvalidTween(t); } return 0f; } float num = t.position / t.duration; if (t.completedLoops <= 0 || !t.hasLoops || t.loopType != LoopType.Yoyo || ((t.isComplete || t.completedLoops % 2 == 0) && (!t.isComplete || t.completedLoops % 2 != 0))) { return num; } return 1f - num; } public static bool IsActive(this Tween t) { return t?.active ?? false; } public static bool IsBackwards(this Tween t) { if (!t.active) { if (DG.Tweening.Core.Debugger.logPriority > 0) { DG.Tweening.Core.Debugger.LogInvalidTween(t); } return false; } return t.isBackwards; } public static bool IsLoopingOrExecutingBackwards(this Tween t) { if (!t.active) { if (DG.Tweening.Core.Debugger.logPriority > 0) { DG.Tweening.Core.Debugger.LogInvalidTween(t); } return false; } if (t.isBackwards) { if (t.completedLoops >= 1 && t.loopType == LoopType.Yoyo) { return t.completedLoops % 2 == 0; } return true; } if (t.completedLoops >= 1 && t.loopType == LoopType.Yoyo) { return t.completedLoops % 2 != 0; } return false; } public static bool IsComplete(this Tween t) { if (!t.active) { if (DG.Tweening.Core.Debugger.logPriority > 0) { DG.Tweening.Core.Debugger.LogInvalidTween(t); } return false; } return t.isComplete; } public static bool IsInitialized(this Tween t) { if (!t.active) { if (DG.Tweening.Core.Debugger.logPriority > 0) { DG.Tweening.Core.Debugger.LogInvalidTween(t); } return false; } return t.startupDone; } public static bool IsPlaying(this Tween t) { if (!t.active) { if (DG.Tweening.Core.Debugger.logPriority > 0) { DG.Tweening.Core.Debugger.LogInvalidTween(t); } return false; } return t.isPlaying; } public static int Loops(this Tween t) { if (!t.active) { if (DG.Tweening.Core.Debugger.logPriority > 0) { DG.Tweening.Core.Debugger.LogInvalidTween(t); } return 0; } return t.loops; } public static Vector3 PathGetPoint(this Tween t, float pathPercentage) { //IL_0031: Unknown result type (might be due to invalid IL or missing references) //IL_004d: Unknown result type (might be due to invalid IL or missing references) //IL_0069: Unknown result type (might be due to invalid IL or missing references) //IL_00bb: Unknown result type (might be due to invalid IL or missing references) //IL_0087: Unknown result type (might be due to invalid IL or missing references) //IL_00ad: Unknown result type (might be due to invalid IL or missing references) if (pathPercentage > 1f) { pathPercentage = 1f; } else if (pathPercentage < 0f) { pathPercentage = 0f; } if (t == null) { if (DG.Tweening.Core.Debugger.logPriority > 1) { DG.Tweening.Core.Debugger.LogNullTween(t); } return Vector3.zero; } if (!t.active) { if (DG.Tweening.Core.Debugger.logPriority > 1) { DG.Tweening.Core.Debugger.LogInvalidTween(t); } return Vector3.zero; } if (t.isSequenced) { if (DG.Tweening.Core.Debugger.logPriority > 1) { DG.Tweening.Core.Debugger.LogNestedTween(t); } return Vector3.zero; } if (!(t is TweenerCore<Vector3, Path, PathOptions> tweenerCore)) { if (DG.Tweening.Core.Debugger.logPriority > 1) { DG.Tweening.Core.Debugger.LogNonPathTween(t); } return Vector3.zero; } if (!tweenerCore.endValue.isFinalized) { if (DG.Tweening.Core.Debugger.logPriority > 1) { DG.Tweening.Core.Debugger.LogWarning("The path is not finalized yet", t); } return Vector3.zero; } return tweenerCore.endValue.GetPoint(pathPercentage, convertToConstantPerc: true); } public static Vector3[] PathGetDrawPoints(this Tween t, int subdivisionsXSegment = 10) { if (t == null) { if (DG.Tweening.Core.Debugger.logPriority > 1) { DG.Tweening.Core.Debugger.LogNullTween(t); } return null; } if (!t.active) { if (DG.Tweening.Core.Debugger.logPriority > 1) { DG.Tweening.Core.Debugger.LogInvalidTween(t); } return null; } if (t.isSequenced) { if (DG.Tweening.Core.Debugger.logPriority > 1) { DG.Tweening.Core.Debugger.LogNestedTween(t); } return null; } if (!(t is TweenerCore<Vector3, Path, PathOptions> tweenerCore)) { if (DG.Tweening.Core.Debugger.logPriority > 1) { DG.Tweening.Core.Debugger.LogNonPathTween(t); } return null; } if (!tweenerCore.endValue.isFinalized) { if (DG.Tweening.Core.Debugger.logPriority > 1) { DG.Tweening.Core.Debugger.LogWarning("The path is not finalized yet", t); } return null; } return Path.GetDrawPoints(tweenerCore.endValue, subdivisionsXSegment); } public static float PathLength(this Tween t) { if (t == null) { if (DG.Tweening.Core.Debugger.logPriority > 1) { DG.Tweening.Core.Debugger.LogNullTween(t); } return -1f; } if (!t.active) { if (DG.Tweening.Core.Debugger.logPriority > 1) { DG.Tweening.Core.Debugger.LogInvalidTween(t); } return -1f; } if (t.isSequenced) { if (DG.Tweening.Core.Debugger.logPriority > 1) { DG.Tweening.Core.Debugger.LogNestedTween(t); } return -1f; } if (!(t is TweenerCore<Vector3, Path, PathOptions> tweenerCore)) { if (DG.Tweening.Core.Debugger.logPriority > 1) { DG.Tweening.Core.Debugger.LogNonPathTween(t); } return -1f; } if (!tweenerCore.endValue.isFinalized) { if (DG.Tweening.Core.Debugger.logPriority > 1) { DG.Tweening.Core.Debugger.LogWarning("The path is not finalized yet", t); } return -1f; } return tweenerCore.endValue.length; } } public enum LoopType { Restart, Yoyo, Incremental } public sealed class Sequence : Tween { internal readonly List<Tween> sequencedTweens = new List<Tween>(); private readonly List<ABSSequentiable> _sequencedObjs = new List<ABSSequentiable>(); internal float lastTweenInsertTime; internal Sequence() { tweenType = TweenType.Sequence; Reset(); } internal static Sequence DoPrepend(Sequence inSequence, Tween t) { if (t.loops == -1) { t.loops = int.MaxValue; DG.Tweening.Core.Debugger.LogWarning("Infinite loops aren't allowed inside a Sequence (only on the Sequence itself) and will be changed to int.MaxValue", t); } float num = t.delay + t.duration * (float)t.loops; inSequence.duration += num; int count = inSequence._sequencedObjs.Count; for (int i = 0; i < count; i++) { ABSSequentiable aBSSequentiable = inSequence._sequencedObjs[i]; aBSSequentiable.sequencedPosition += num; aBSSequentiable.sequencedEndPosition += num; } return DoInsert(inSequence, t, 0f); } internal static Sequence DoInsert(Sequence inSequence, Tween t, float atPosition) { TweenManager.AddActiveTweenToSequence(t); atPosition += t.delay; inSequence.lastTweenInsertTime = atPosition; t.isSequenced = (t.creationLocked = true); t.sequenceParent = inSequence; if (t.loops == -1) { t.loops = int.MaxValue; DG.Tweening.Core.Debugger.LogWarning("Infinite loops aren't allowed inside a Sequence (only on the Sequence itself) and will be changed to int.MaxValue", t); } float num = t.duration * (float)t.loops; t.autoKill = false; t.delay = (t.elapsedDelay = 0f); t.delayComplete = true; if (t.isSpeedBased) { t.isSpeedBased = false; DG.Tweening.Core.Debugger.LogWarning("SpeedBased tweens are not allowed inside a Sequence: interpreting speed as duration", t); } t.sequencedPosition = atPosition; t.sequencedEndPosition = atPosition + num; if (t.sequencedEndPosition > inSequence.duration) { inSequence.duration = t.sequencedEndPosition; } inSequence._sequencedObjs.Add(t); inSequence.sequencedTweens.Add(t); return inSequence; } internal static Sequence DoAppendInterval(Sequence inSequence, float interval) { inSequence.lastTweenInsertTime = inSequence.duration; inSequence.duration += interval; return inSequence; } internal static Sequence DoPrependInterval(Sequence inSequence, float interval) { inSequence.lastTweenInsertTime = 0f; inSequence.duration += interval; int count = inSequence._sequencedObjs.Count; for (int i = 0; i < count; i++) { ABSSequentiable aBSSequentiable = inSequence._sequencedObjs[i]; aBSSequentiable.sequencedPosition += interval; aBSSequentiable.sequencedEndPosition += interval; } return inSequence; } internal static Sequence DoInsertCallback(Sequence inSequence, TweenCallback callback, float atPosition) { inSequence.lastTweenInsertTime = atPosition; SequenceCallback sequenceCallback = new SequenceCallback(atPosition, callback); sequenceCallback.sequencedPosition = (sequenceCallback.sequencedEndPosition = atPosition); inSequence._sequencedObjs.Add(sequenceCallback); if (inSequence.duration < atPosition) { inSequence.duration = atPosition; } return inSequence; } internal override float UpdateDelay(float elapsed) { float num = delay; if (elapsed > num) { elapsedDelay = num; delayComplete = true; return elapsed - num; } elapsedDelay = elapsed; return 0f; } internal override void Reset() { base.Reset(); sequencedTweens.Clear(); _sequencedObjs.Clear(); lastTweenInsertTime = 0f; } internal override bool Validate() { int count = sequencedTweens.Count; for (int i = 0; i < count; i++) { if (!sequencedTweens[i].Validate()) { return false; } } return true; } internal override bool Startup() { return DoStartup(this); } internal override bool ApplyTween(float prevPosition, int prevCompletedLoops, int newCompletedSteps, bool useInversePosition, UpdateMode updateMode, UpdateNotice updateNotice) { return DoApplyTween(this, prevPosition, prevCompletedLoops, newCompletedSteps, useInversePosition, updateMode); } internal static void Setup(Sequence s) { s.autoKill = DOTween.defaultAutoKill; s.isRecyclable = DOTween.defaultRecyclable; s.isPlaying = DOTween.defaultAutoPlay == AutoPlay.All || DOTween.defaultAutoPlay == AutoPlay.AutoPlaySequences; s.loopType = DOTween.defaultLoopType; s.easeType = Ease.Linear; s.easeOvershootOrAmplitude = DOTween.defaultEaseOvershootOrAmplitude; s.easePeriod = DOTween.defaultEasePeriod; } internal static bool DoStartup(Sequence s) { int count = s._sequencedObjs.Count; if (s.sequencedTweens.Count == 0 && count == 0 && !IsAnyCallbackSet(s)) { return false; } s.startupDone = true; s.fullDuration = ((s.loops > -1) ? (s.duration * (float)s.loops) : float.PositiveInfinity); StableSortSequencedObjs(s._sequencedObjs); if (s.isRelative) { int count2 = s.sequencedTweens.Count; for (int i = 0; i < count2; i++) { _ = s.sequencedTweens[i]; if (!s.isBlendable) { s.sequencedTweens[i].isRelative = true; } } } if (s.isInverted) { for (int j = 0; j < count; j++) { ABSSequentiable aBSSequentiable = s._sequencedObjs[j]; if (aBSSequentiable.tweenType == TweenType.Tweener) { Tween tween = (Tween)aBSSequentiable; TweenManager.Goto(tween, tween.duration * (float)tween.loops, andPlay: false, UpdateMode.IgnoreOnComplete); tween.isInverted = true; } } } return true; } internal static bool DoApplyTween(Sequence s, float prevPosition, int prevCompletedLoops, int newCompletedSteps, bool useInversePosition, UpdateMode updateMode) { float num = prevPosition; float num2 = s.position; if (s.isInverted) { useInversePosition = !useInversePosition; } if (s.easeType != Ease.Linear) { num = s.duration * EaseManager.Evaluate(s.easeType, s.customEase, num, s.duration, s.easeOvershootOrAmplitude, s.easePeriod); num2 = s.duration * EaseManager.Evaluate(s.easeType, s.customEase, num2, s.duration, s.easeOvershootOrAmplitude, s.easePeriod); } float num3 = 0f; bool flag = (s.loops == -1 || s.loops > 1) && s.loopType == LoopType.Yoyo && ((num < s.duration) ? (prevCompletedLoops % 2 != 0) : (prevCompletedLoops % 2 == 0)); if (s.isBackwards) { flag = !flag; } if (s.isInverted) { flag = !flag; } float num8; if (newCompletedSteps > 0) { int num4 = s.completedLoops; float num5 = s.position; int num6 = newCompletedSteps; int num7 = 0; num8 = num; if (updateMode == UpdateMode.Update) { while (num7 < num6) { if (num7 > 0) { num8 = num3; } else if (flag && !s.isBackwards) { num8 = s.duration - num8; } num3 = (flag ? 0f : s.duration); if (ApplyInternalCycle(s, num8, num3, updateMode, useInversePosition, flag, multiCycleStep: true)) { return true; } num7++; if (s.hasLoops && s.loopType == LoopType.Yoyo) { flag = !flag; } } if (num4 != s.completedLoops || Math.Abs(num5 - s.position) > float.Epsilon) { return !s.active; } } else { if (s.hasLoops && s.loopType == LoopType.Yoyo && newCompletedSteps % 2 != 0) { flag = !flag; num = s.duration - num; } newCompletedSteps = 0; } } if (newCompletedSteps == 1 && s.isComplete) { return false; } if (newCompletedSteps > 0 && !s.isComplete) { num8 = (useInversePosition ? s.duration : 0f); if (s.loopType == LoopType.Restart && num3 > 0f) { ApplyInternalCycle(s, s.duration, 0f, UpdateMode.Goto, useInverse: false, prevPosIsInverse: false); } } else { num8 = (useInversePosition ? (s.duration - num) : num); } return ApplyInternalCycle(s, num8, useInversePosition ? (s.duration - num2) : num2, updateMode, useInversePosition, flag); } private static bool ApplyInternalCycle(Sequence s, float fromPos, float toPos, UpdateMode updateMode, bool useInverse, bool prevPosIsInverse, bool multiCycleStep = false) { bool flag = s.isPlaying; if (toPos < fromPos) { int num = s._sequencedObjs.Count - 1; for (int num2 = num; num2 > -1; num2--) { if (!s.active) { return true; } if (!s.isPlaying && flag) { return false; } ABSSequentiable aBSSequentiable = s._sequencedObjs[num2]; if (!(aBSSequentiable.sequencedEndPosition < toPos) && !(aBSSequentiable.sequencedPosition > fromPos)) { if (aBSSequentiable.tweenType == TweenType.Callback) { if (updateMode == UpdateMode.Update && prevPosIsInverse) { Tween.OnTweenCallback(aBSSequentiable.onStart, s); } } else { float num3 = toPos - aBSSequentiable.sequencedPosition; if (num3 < 0f) { num3 = 0f; } Tween tween = (Tween)aBSSequentiable; if (tween.startupDone) { tween.isBackwards = true; if (s.isInverted) { num3 = tween.fullDuration - num3; } if (TweenManager.Goto(tween, num3, andPlay: false, updateMode)) { if (DOTween.nestedTweenFailureBehaviour == NestedTweenFailureBehaviour.KillWholeSequence) { return true; } if (s.sequencedTweens.Count == 1 && s._sequencedObjs.Count == 1 && !IsAnyCallbackSet(s)) { return true; } TweenManager.Despawn(tween, modifyActiveLists: false); s._sequencedObjs.RemoveAt(num2); s.sequencedTweens.Remove(tween); num2--; num--; } else if (multiCycleStep && tween.tweenType == TweenType.Sequence) { if (s.position <= 0f && s.completedLoops == 0) { tween.position = 0f; } else { bool flag2 = s.completedLoops == 0 || (s.isBackwards && (s.completedLoops < s.loops || s.loops == -1)); if (tween.isBackwards) { flag2 = !flag2; } if (useInverse) { flag2 = !flag2; } if (s.isBackwards && !useInverse && !prevPosIsInverse) { flag2 = !flag2; } tween.position = (flag2 ? 0f : tween.duration); } } } } } } } else { int num4 = s._sequencedObjs.Count; for (int i = 0; i < num4; i++) { if (!s.active) { return true; } if (!s.isPlaying && flag) { return false; } ABSSequentiable aBSSequentiable2 = s._sequencedObjs[i]; if (aBSSequentiable2.sequencedPosition > toPos || (aBSSequentiable2.sequencedPosition > 0f && aBSSequentiable2.sequencedEndPosition <= fromPos) || (aBSSequentiable2.sequencedPosition <= 0f && aBSSequentiable2.sequencedEndPosition < fromPos)) { continue; } if (aBSSequentiable2.tweenType == TweenType.Callback) { if (updateMode == UpdateMode.Update && ((!s.isBackwards && !useInverse && !prevPosIsInverse) || (s.isBackwards && useInverse && !prevPosIsInverse))) { Tween.OnTweenCallback(aBSSequentiable2.onStart, s); } continue; } float num5 = toPos - aBSSequentiable2.sequencedPosition; if (num5 < 0f) { num5 = 0f; } Tween tween2 = (Tween)aBSSequentiable2; if (toPos >= aBSSequentiable2.sequencedEndPosition) { if (!tween2.startupDone) { TweenManager.ForceInit(tween2, isSequenced: true); } if (num5 < tween2.fullDuration) { num5 = tween2.fullDuration; } } tween2.isBackwards = false; if (s.isInverted) { num5 = tween2.fullDuration - num5; } if (TweenManager.Goto(tween2, num5, andPlay: false, updateMode)) { if (DOTween.nestedTweenFailureBehaviour == NestedTweenFailureBehaviour.KillWholeSequence) { return true; } if (s.sequencedTweens.Count == 1 && s._sequencedObjs.Count == 1 && !IsAnyCallbackSet(s)) { return true; } TweenManager.Despawn(tween2, modifyActiveLists: false); s._sequencedObjs.RemoveAt(i); s.sequencedTweens.Remove(tween2); i--; num4--; } else { if (!multiCycleStep || tween2.tweenType != TweenType.Sequence) { continue; } if (s.position <= 0f && s.completedLoops == 0) { tween2.position = 0f; continue; } bool flag3 = s.completedLoops == 0 || (!s.isBackwards && (s.completedLoops < s.loops || s.loops == -1)); if (tween2.isBackwards) { flag3 = !flag3; } if (useInverse) { flag3 = !flag3; } if (s.isBackwards && !useInverse && !prevPosIsInverse) { flag3 = !flag3; } tween2.position = (flag3 ? 0f : tween2.duration); } } } return false; } private static void StableSortSequencedObjs(List<ABSSequentiable> list) { int count = list.Count; for (int i = 1; i < count; i++) { int num = i; ABSSequentiable aBSSequentiable = list[i]; while (num > 0 && list[num - 1].sequencedPosition > aBSSequentiable.sequencedPosition) { list[num] = list[num - 1]; num--; } list[num] = aBSSequentiable; } } private static bool IsAnyCallbackSet(Sequence s) { if (s.onComplete == null && s.onKill == null && s.onPause == null && s.onPlay == null && s.onRewind == null && s.onStart == null && s.onStepComplete == null) { return s.onUpdate != null; } return true; } } public static class ShortcutExtensions { public static TweenerCore<float, float, FloatOptions> DOAspect(this Camera target, float endValue, float duration) { TweenerCore<float, float, FloatOptions> tweenerCore = DOTween.To(() => target.aspect, delegate(float x) { target.aspect = x; }, endValue, duration); tweenerCore.SetTarget(target); return tweenerCore; } public static TweenerCore<Color, Color, ColorOptions> DOColor(this Camera target, Color endValue, float duration) { //IL_0025: Unknown result type (might be due to invalid IL or missing references) TweenerCore<Color, Color, ColorOptions> tweenerCore = DOTween.To(() => target.backgroundColor, delegate(Color x) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) target.backgroundColor = x; }, endValue, duration); tweenerCore.SetTarget(target); return tweenerCore; } public static TweenerCore<float, float, FloatOptions> DOFarClipPlane(this Camera target, float endValue, float duration) { TweenerCore<float, float, FloatOptions> tweenerCore = DOTween.To(() => target.farClipPlane, delegate(float x) { target.farClipPlane = x; }, endValue, duration); tweenerCore.SetTarget(target); return tweenerCore; } public static TweenerCore<float, float, FloatOptions> DOFieldOfView(this Camera target, float endValue, float duration) { TweenerCore<float, float, FloatOptions> tweenerCore = DOTween.To(() => target.fieldOfView, delegate(float x) { target.fieldOfView = x; }, endValue, duration); tweenerCore.SetTarget(target); return tweenerCore; } public static TweenerCore<float, float, FloatOptions> DONearClipPlane(this Camera target, float endValue, float duration) { TweenerCore<float, float, FloatOptions> tweenerCore = DOTween.To(() => target.nearClipPlane, delegate(float x) { target.nearClipPlane = x; }, endValue, duration); tweenerCore.SetTarget(target); return tweenerCore; } public static TweenerCore<float, float, FloatOptions> DOOrthoSize(this Camera target, float endValue, float duration) { TweenerCore<float, float, FloatOptions> tweenerCore = DOTween.To(() => target.orthographicSize, delegate(float x) { target.orthographicSize = x; }, endValue, duration); tweenerCore.SetTarget(target); return tweenerCore; } public static TweenerCore<Rect, Rect, RectOptions> DOPixelRect(this Camera target, Rect endValue, float duration) { //IL_0025: Unknown result type (might be due to invalid IL or missing references) TweenerCore<Rect, Rect, RectOptions> tweenerCore = DOTween.To(() => target.pixelRect, delegate(Rect x) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) target.pixelRect = x; }, endValue, duration); tweenerCore.SetTarget(target); return tweenerCore; } public static TweenerCore<Rect, Rect, RectOptions> DORect(this Camera target, Rect endValue, float duration) { //IL_0025: Unknown result type (might be due to invalid IL or missing references) TweenerCore<Rect, Rect, RectOptions> tweenerCore = DOTween.To(() => target.rect, delegate(Rect x) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) target.rect = x; }, endValue, duration); tweenerCore.SetTarget(target); return tweenerCore; } public static Tweener DOShakePosition(this Camera target, float duration, float strength = 3f, int vibrato = 10, float randomness = 90f, bool fadeOut = true, ShakeRandomnessMode randomnessMode = ShakeRandomnessMode.Full) { if (duration <= 0f) { if (DG.Tweening.Core.Debugger.logPriority > 0) { Debug.LogWarning((object)"DOShakePosition: duration can't be 0, returning NULL without creating a tween"); } return null; } return DOTween.Shake(() => ((Component)target).transform.localPosition, delegate(Vector3 x) { //IL_000b: Unknown result type (might be due to invalid IL or missing references) ((Component)target).transform.localPosition = x; }, duration, strength, vibrato, randomness, ignoreZAxis: true, fadeOut, randomnessMode).SetTarget(target).SetSpecialStartupMode(SpecialStartupMode.SetCameraShakePosition); } public static Tweener DOShakePosition(this Camera target, float duration, Vector3 strength, int vibrato = 10, float randomness = 90f, bool fadeOut = true, ShakeRandomnessMode randomnessMode = ShakeRandomnessMode.Full) { //IL_0042: Unknown result type (might be due to invalid IL or missing references) if (duration <= 0f) { if (DG.Tweening.Core.Debugger.logPriority > 0) { Debug.LogWarning((object)"DOShakePosition: duration can't be 0, returning NULL without creating a tween"); } return null; } return DOTween.Shake(() => ((Component)target).transform.localPosition, delegate(Vector3 x) { //IL_000b: Unknown result type (might be due to invalid IL or missing references) ((Component)target).transform.localPosition = x; }, duration, strength, vibrato, randomness, fadeOut, randomnessMode).SetTarget(target).SetSpecialStartupMode(SpecialStartupMode.SetCameraShakePosition); } public static Tweener DOShakeRotation(this Camera target, float duration, float strength = 90f, int vibrato = 10, float randomness = 90f, bool fadeOut = true, ShakeRandomnessMode randomnessMode = ShakeRandomnessMode.Full) { if (duration <= 0f) { if (DG.Tweening.Core.Debugger.logPriority > 0) { Debug.LogWarning((object)"DOShakeRotation: duration can't be 0, returning NULL without creating a tween"); } return null; } return DOTween.Shake(() => ((Component)target).transform.localEulerAngles, delegate(Vector3 x) { //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Unknown result type (might be due to invalid IL or missing references) ((Component)target).transform.localRotation = Quaternion.Euler(x); }, duration, strength, vibrato, randomness, ignoreZAxis: false, fadeOut, randomnessMode).SetTarget(target).SetSpecialStartupMode(SpecialStartupMode.SetShake); } public static Tweener DOShakeRotation(this Camera target, float duration, Vector3 strength, int vibrato = 10, float randomness = 90f, bool fadeOut = true, ShakeRandomnessMode randomnessMode = ShakeRandomnessMode.Full) { //IL_0042: Unknown result type (might be due to invalid IL or missing references) if (duration <= 0f) { if (DG.Tweening.Core.Debugger.logPriority > 0) { Debug.LogWarning((object)"DOShakeRotation: duration can't be 0, returning NULL without creating a tween"); } return null; } return DOTween.Shake(() => ((Component)target).transform.localEulerAngles, delegate(Vector3 x) { //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Unknown result type (might be due to invalid IL or missing references) ((Component)target).transform.localRotation = Quaternion.Euler(x); }, duration, strength, vibrato, randomness, fadeOut, randomnessMode).SetTarget(target).SetSpecialStartupMode(SpecialStartupMode.SetShake); } public static TweenerCore<Color, Color, ColorOptions> DOColor(this Light target, Color endValue, float duration) { //IL_0025: Unknown result type (might be due to invalid IL or missing references) TweenerCore<Color, Color, ColorOptions> tweenerCore = DOTween.To(() => target.color, delegate(Color x) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) target.color = x; }, endValue, duration); tweenerCore.SetTarget(target); return tweenerCore; } public static TweenerCore<float, float, FloatOptions> DOIntensity(this Light target, float endValue, float duration) { TweenerCore<float, float, FloatOptions> tweenerCore = DOTween.To(() => target.intensity, delegate(float x) { target.intensity = x; }, endValue, duration); tweenerCore.SetTarget(target); return tweenerCore; } public static TweenerCore<float, float, FloatOptions> DOShadowStrength(this Light target, float endValue, float duration) { TweenerCore<float, float, FloatOptions> tweenerCore = DOTween.To(() => target.shadowStrength, delegate(float x) { target.shadowStrength = x; }, endValue, duration); tweenerCore.SetTarget(target); return tweenerCore; } public static Tweener DOColor(this LineRenderer target, Color2 startValue, Color2 endValue, float duration) { return DOTween.To(() => startValue, delegate(Color2 x) { //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_0018: Unknown result type (might be due to invalid IL or missing references) target.startColor = x.ca; target.endColor = x.cb; }, endValue, duration).SetTarget(target); } public static TweenerCore<Color, Color, ColorOptions> DOColor(this Material target, Color endValue, float duration) { //IL_0025: Unknown result type (might be due to invalid IL or missing references) TweenerCore<Color, Color, ColorOptions> tweenerCore = DOTween.To(() => target.color, delegate(Color x) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) target.color = x; }, endValue, duration); tweenerCore.SetTarget(target); return tweenerCore; } public static TweenerCore<Color, Color, ColorOptions> DOColor(this Material target, Color endValue, string property, float duration) { //IL_0054: Unknown result type (might be due to invalid IL or missing references) if (!target.HasProperty(property)) { if (DG.Tweening.Core.Debugger.logPriority > 0) { DG.Tweening.Core.Debugger.LogMissingMaterialProperty(property); } return null; } TweenerCore<Color, Color, ColorOptions> tweenerCore = DOTween.To(() => target.GetColor(property), delegate(Color x) { //IL_000c: Unknown result type (might be due to invalid IL or missing references) target.SetColor(property, x); }, endValue, duration); tweenerCore.SetTarget(target); return tweenerCore; } public static TweenerCore<Color, Color, ColorOptions> DOColor(this Material target, Color endValue, int propertyID, float duration) { //IL_0054: Unknown result type (might be due to invalid IL or missing references) if (!target.HasProperty(propertyID)) { if (DG.Tweening.Core.Debugger.logPriority > 0) { DG.Tweening.Core.Debugger.LogMissingMaterialProperty(propertyID); } return null; } TweenerCore<Color, Color, ColorOptions> tweenerCore = DOTween.To(() => target.GetColor(propertyID), delegate(Color x) { //IL_000c: Unknown result type (might be due to invalid IL or missing references) target.SetColor(propertyID, x); }, endValue, duration); tweenerCore.SetTarget(target); return tweenerCore; } public static TweenerCore<Color, Color, ColorOptions> DOFade(this Material target, float endValue, float duration) { TweenerCore<Color, Color, ColorOptions> tweenerCore = DOTween.ToAlpha(() => target.color, delegate(Color x) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) target.color = x; }, endValue, duration); tweenerCore.SetTarget(target); return tweenerCore; } public static TweenerCore<Color, Color, ColorOptions> DOFade(this Material target, float endValue, string property, float duration) { if (!target.HasProperty(property)) { if (DG.Tweening.Core.Debugger.logPriority > 0) { DG.Tweening.Core.Debugger.LogMissingMaterialProperty(property); } return null; } TweenerCore<Color, Color, ColorOptions> tweenerCore = DOTween.ToAlpha(() => target.GetColor(property), delegate(Color x) { //IL_000c: Unknown result type (might be due to invalid IL or missing references) target.SetColor(property, x); }, endValue, duration); tweenerCore.SetTarget(target); return tweenerCore; } public static TweenerCore<Color, Color, ColorOptions> DOFade(this Material target, float endValue, int propertyID, float duration) { if (!target.HasProperty(propertyID)) { if (DG.Tweening.Core.Debugger.logPriority > 0) { DG.Tweening.Core.Debugger.LogMissingMaterialProperty(propertyID); } return null; } TweenerCore<Color, Color, ColorOptions> tweenerCore = DOTween.ToAlpha(() => target.GetColor(propertyID), delegate(Color x) { //IL_000c: Unknown result type (might be due to invalid IL or missing references) target.SetColor(propertyID, x); }, endValue, duration); tweenerCore.SetTarget(target); return tweenerCore; } public static TweenerCore<float, float, FloatOptions> DOFloat(this Material target, float endValue, string property, float duration) { if (!target.HasProperty(property)) { if (DG.Tweening.Core.Debugger.logPriority > 0) { DG.Tweening.Core.Debugger.LogMissingMaterialProperty(property); } return null; } TweenerCore<float, float, FloatOptions> tweenerCore = DOTween.To(() => target.GetFloat(property), delegate(float x) { target.SetFloat(property, x); }, endValue, duration); tweenerCore.SetTarget(target); return tweenerCore; } public static TweenerCore<float, float, FloatOptions> DOFloat(this Material target, float endValue, int propertyID, float duration) { if (!target.HasProperty(propertyID)) { if (DG.Tweening.Core.Debugger.logPriority > 0) { DG.Tweening.Core.Debugger.LogMissingMaterialProperty(propertyID); } return null; } TweenerCore<float, float, FloatOptions> tweenerCore = DOTween.To(() => target.GetFloat(propertyID), delegate(float x) { target.SetFloat(propertyID, x); }, endValue, duration); tweenerCore.SetTarget(target); return tweenerCore; } public static TweenerCore<Vector2, Vector2, VectorOptions> DOOffset(this Material target, Vector2 endValue, float duration) { //IL_0025: Unknown result type (might be due to invalid IL or missing references) TweenerCore<Vector2, Vector2, VectorOptions> tweenerCore = DOTween.To(() => target.mainTextureOffset, delegate(Vector2 x) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) target.mainTextureOffset = x; }, endValue, duration); tweenerCore.SetTarget(target); return tweenerCore; } public static TweenerCore<Vector2, Vector2, VectorOptions> DOOffset(this Material target, Vector2 endValue, string property, float duration) { //IL_0054: Unknown result type (might be due to invalid IL or missing references) if (!target.HasProperty(property)) { if (DG.Tweening.Core.Debugger.logPriority > 0) { DG.Tweening.Core.Debugger.LogMissingMaterialProperty(property); } return null; } TweenerCore<Vector2, Vector2, VectorOptions> tweenerCore = DOTween.To(() => target.GetTextureOffset(property), delegate(Vector2 x) { //IL_000c: Unknown result type (might be due to invalid IL or missing references) target.SetTextureOffset(property, x); }, endValue, duration); tweenerCore.SetTarget(target); return tweenerCore; } public static TweenerCore<Vector2, Vector2, VectorOptions> DOTiling(this Material target, Vector2 endValue, float duration) { //IL_0025: Unknown result type (might be due to invalid IL or missing references) TweenerCore<Vector2, Vector2, VectorOptions> tweenerCore = DOTween.To(() => target.mainTextureScale, delegate(Vector2 x) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) target.mainTextureScale = x; }, endValue, duration); tweenerCore.SetTarget(target); return tweenerCore; } public static TweenerCore<Vector2, Vector2, VectorOptions> DOTiling(this Material target, Vector2 endValue, string property, float duration) { //IL_0054: Unknown result type (might be due to invalid IL or missing references) if (!target.HasProperty(property)) { if (DG.Tweening.Core.Debugger.logPriority > 0) { DG.Tweening.Core.Debugger.LogMissingMaterialProperty(property); } return null; } TweenerCore<Vector2, Vector2, VectorOptions> tweenerCore = DOTween.To(() => target.GetTextureScale(property), delegate(Vector2 x) { //IL_000c: Unknown result type (might be due to invalid IL or missing references) target.SetTextureScale(property, x); }, endValue, duration); tweenerCore.SetTarget(target); return tweenerCore; } public static TweenerCore<Vector4, Vector4, VectorOptions> DOVector(this Material target, Vector4 endValue, string property, float duration) { //IL_0054: Unknown result type (might be due to invalid IL or missing references) if (!target.HasProperty(property)) { if (DG.Tweening.Core.Debugger.logPriority > 0) { DG.Tweening.Core.Debugger.LogMissingMaterialProperty(property); } return null; } TweenerCore<Vector4, Vector4, VectorOptions> tweenerCore = DOTween.To(() => target.GetVecto