This commit is contained in:
		
							parent
							
								
									fe83cffa41
								
							
						
					
					
						commit
						fb6d2900c4
					
				| 
						 | 
				
			
			@ -0,0 +1,8 @@
 | 
			
		|||
fileFormatVersion: 2
 | 
			
		||||
guid: 2f0caa52f3d20664893f2beabdd62db2
 | 
			
		||||
folderAsset: yes
 | 
			
		||||
DefaultImporter:
 | 
			
		||||
  externalObjects: {}
 | 
			
		||||
  userData: 
 | 
			
		||||
  assetBundleName: 
 | 
			
		||||
  assetBundleVariant: 
 | 
			
		||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| 
						 | 
				
			
			@ -0,0 +1,7 @@
 | 
			
		|||
fileFormatVersion: 2
 | 
			
		||||
guid: 0fa616d8a39d6934b8f5c2bab642ec00
 | 
			
		||||
TextScriptImporter:
 | 
			
		||||
  externalObjects: {}
 | 
			
		||||
  userData: 
 | 
			
		||||
  assetBundleName: 
 | 
			
		||||
  assetBundleVariant: 
 | 
			
		||||
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							| 
						 | 
				
			
			@ -0,0 +1,7 @@
 | 
			
		|||
fileFormatVersion: 2
 | 
			
		||||
guid: c9670ac8dd6444942994a82589a32e56
 | 
			
		||||
DefaultImporter:
 | 
			
		||||
  externalObjects: {}
 | 
			
		||||
  userData: 
 | 
			
		||||
  assetBundleName: 
 | 
			
		||||
  assetBundleVariant: 
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,33 @@
 | 
			
		|||
fileFormatVersion: 2
 | 
			
		||||
guid: 6e34401331a6989419fc6a45f3d726cd
 | 
			
		||||
PluginImporter:
 | 
			
		||||
  externalObjects: {}
 | 
			
		||||
  serializedVersion: 2
 | 
			
		||||
  iconMap: {}
 | 
			
		||||
  executionOrder: {}
 | 
			
		||||
  defineConstraints: []
 | 
			
		||||
  isPreloaded: 0
 | 
			
		||||
  isOverridable: 0
 | 
			
		||||
  isExplicitlyReferenced: 0
 | 
			
		||||
  validateReferences: 1
 | 
			
		||||
  platformData:
 | 
			
		||||
  - first:
 | 
			
		||||
      Any: 
 | 
			
		||||
    second:
 | 
			
		||||
      enabled: 1
 | 
			
		||||
      settings: {}
 | 
			
		||||
  - first:
 | 
			
		||||
      Editor: Editor
 | 
			
		||||
    second:
 | 
			
		||||
      enabled: 0
 | 
			
		||||
      settings:
 | 
			
		||||
        DefaultValueInitialized: true
 | 
			
		||||
  - first:
 | 
			
		||||
      Windows Store Apps: WindowsStoreApps
 | 
			
		||||
    second:
 | 
			
		||||
      enabled: 0
 | 
			
		||||
      settings:
 | 
			
		||||
        CPU: AnyCPU
 | 
			
		||||
  userData: 
 | 
			
		||||
  assetBundleName: 
 | 
			
		||||
  assetBundleVariant: 
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,8 @@
 | 
			
		|||
fileFormatVersion: 2
 | 
			
		||||
guid: a5db00ddfeb5e1b4988f77a7a87e9a4b
 | 
			
		||||
folderAsset: yes
 | 
			
		||||
DefaultImporter:
 | 
			
		||||
  externalObjects: {}
 | 
			
		||||
  userData: 
 | 
			
		||||
  assetBundleName: 
 | 
			
		||||
  assetBundleVariant: 
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,144 @@
 | 
			
		|||
<?xml version="1.0"?>
 | 
			
		||||
<doc>
 | 
			
		||||
    <assembly>
 | 
			
		||||
        <name>DOTweenEditor</name>
 | 
			
		||||
    </assembly>
 | 
			
		||||
    <members>
 | 
			
		||||
        <member name="T:DG.DOTweenEditor.EditorCompatibilityUtils">
 | 
			
		||||
            <summary>
 | 
			
		||||
            Contains compatibility methods taken from DemiEditor (for when DOTween is without it)
 | 
			
		||||
            </summary>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="M:DG.DOTweenEditor.EditorCompatibilityUtils.FindObjectOfType``1(System.Boolean)">
 | 
			
		||||
            <summary>
 | 
			
		||||
            Warning: some versions of this method don't have the includeInactive parameter so it won't be taken into account
 | 
			
		||||
            </summary>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="M:DG.DOTweenEditor.EditorCompatibilityUtils.FindObjectOfType(System.Type,System.Boolean)">
 | 
			
		||||
            <summary>
 | 
			
		||||
            Warning: some versions of this method don't have the includeInactive parameter so it won't be taken into account
 | 
			
		||||
            </summary>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="M:DG.DOTweenEditor.EditorCompatibilityUtils.FindObjectsOfType``1(System.Boolean)">
 | 
			
		||||
            <summary>
 | 
			
		||||
            Warning: some versions of this method don't have the includeInactive parameter so it won't be taken into account
 | 
			
		||||
            </summary>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="M:DG.DOTweenEditor.EditorCompatibilityUtils.FindObjectsOfType(System.Type,System.Boolean)">
 | 
			
		||||
            <summary>
 | 
			
		||||
            Warning: some versions of this method don't have the includeInactive parameter so it won't be taken into account
 | 
			
		||||
            </summary>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="M:DG.DOTweenEditor.DOTweenEditorPreview.Start(System.Action)">
 | 
			
		||||
            <summary>
 | 
			
		||||
            Starts the update loop of tween in the editor. Has no effect during playMode.
 | 
			
		||||
            </summary>
 | 
			
		||||
            <param name="onPreviewUpdated">Eventual callback to call after every update</param>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="M:DG.DOTweenEditor.DOTweenEditorPreview.Stop(System.Boolean,System.Boolean)">
 | 
			
		||||
            <summary>
 | 
			
		||||
            Stops the update loop and clears the onPreviewUpdated callback.
 | 
			
		||||
            </summary>
 | 
			
		||||
            <param name="resetTweenTargets">If TRUE also resets the tweened objects to their original state.
 | 
			
		||||
            Note that this works by calling Rewind on all tweens, so it will work correctly
 | 
			
		||||
            only if you have a single tween type per object and it wasn't killed</param>
 | 
			
		||||
            <param name="clearTweens">If TRUE also kills any cached tween</param>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="M:DG.DOTweenEditor.DOTweenEditorPreview.PrepareTweenForPreview(DG.Tweening.Tween,System.Boolean,System.Boolean,System.Boolean)">
 | 
			
		||||
            <summary>
 | 
			
		||||
            Readies the tween for editor preview by setting its UpdateType to Manual plus eventual extra settings.
 | 
			
		||||
            </summary>
 | 
			
		||||
            <param name="t">The tween to ready</param>
 | 
			
		||||
            <param name="clearCallbacks">If TRUE (recommended) removes all callbacks (OnComplete/Rewind/etc)</param>
 | 
			
		||||
            <param name="preventAutoKill">If TRUE prevents the tween from being auto-killed at completion</param>
 | 
			
		||||
            <param name="andPlay">If TRUE starts playing the tween immediately</param>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="F:DG.DOTweenEditor.EditorVersion.Version">
 | 
			
		||||
            <summary>Full major version + first minor version (ex: 2018.1f)</summary>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="F:DG.DOTweenEditor.EditorVersion.MajorVersion">
 | 
			
		||||
            <summary>Major version</summary>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="F:DG.DOTweenEditor.EditorVersion.MinorVersion">
 | 
			
		||||
            <summary>First minor version (ex: in 2018.1 it would be 1)</summary>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="M:DG.DOTweenEditor.EditorUtils.SetEditorTexture(UnityEngine.Texture2D,UnityEngine.FilterMode,System.Int32)">
 | 
			
		||||
            <summary>
 | 
			
		||||
            Checks that the given editor texture use the correct import settings,
 | 
			
		||||
            and applies them if they're incorrect.
 | 
			
		||||
            </summary>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="M:DG.DOTweenEditor.EditorUtils.DOTweenSetupRequired">
 | 
			
		||||
            <summary>
 | 
			
		||||
            Returns TRUE if setup is required
 | 
			
		||||
            </summary>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="M:DG.DOTweenEditor.EditorUtils.AssetExists(System.String)">
 | 
			
		||||
            <summary>
 | 
			
		||||
            Returns TRUE if the file/directory at the given path exists.
 | 
			
		||||
            </summary>
 | 
			
		||||
            <param name="adbPath">Path, relative to Unity's project folder</param>
 | 
			
		||||
            <returns></returns>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="M:DG.DOTweenEditor.EditorUtils.ADBPathToFullPath(System.String)">
 | 
			
		||||
            <summary>
 | 
			
		||||
            Converts the given project-relative path to a full path,
 | 
			
		||||
            with backward (\) slashes).
 | 
			
		||||
            </summary>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="M:DG.DOTweenEditor.EditorUtils.FullPathToADBPath(System.String)">
 | 
			
		||||
            <summary>
 | 
			
		||||
            Converts the given full path to a path usable with AssetDatabase methods
 | 
			
		||||
            (relative to Unity's project folder, and with the correct Unity forward (/) slashes).
 | 
			
		||||
            </summary>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="M:DG.DOTweenEditor.EditorUtils.ConnectToSourceAsset``1(System.String,System.Boolean)">
 | 
			
		||||
            <summary>
 | 
			
		||||
            Connects to a <see cref="T:UnityEngine.ScriptableObject"/> asset.
 | 
			
		||||
            If the asset already exists at the given path, loads it and returns it.
 | 
			
		||||
            Otherwise, either returns NULL or automatically creates it before loading and returning it
 | 
			
		||||
            (depending on the given parameters).
 | 
			
		||||
            </summary>
 | 
			
		||||
            <typeparam name="T">Asset type</typeparam>
 | 
			
		||||
            <param name="adbFilePath">File path (relative to Unity's project folder)</param>
 | 
			
		||||
            <param name="createIfMissing">If TRUE and the requested asset doesn't exist, forces its creation</param>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="M:DG.DOTweenEditor.EditorUtils.GetAssemblyFilePath(System.Reflection.Assembly)">
 | 
			
		||||
            <summary>
 | 
			
		||||
            Full path for the given loaded assembly, assembly file included
 | 
			
		||||
            </summary>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="M:DG.DOTweenEditor.EditorUtils.AddGlobalDefine(System.String)">
 | 
			
		||||
            <summary>
 | 
			
		||||
            Adds the given global define if it's not already present
 | 
			
		||||
            </summary>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="M:DG.DOTweenEditor.EditorUtils.RemoveGlobalDefine(System.String)">
 | 
			
		||||
            <summary>
 | 
			
		||||
            Removes the given global define if it's present
 | 
			
		||||
            </summary>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="M:DG.DOTweenEditor.EditorUtils.HasGlobalDefine(System.String,System.Nullable{UnityEditor.BuildTargetGroup})">
 | 
			
		||||
            <summary>
 | 
			
		||||
            Returns TRUE if the given global define is present in all the <see cref="T:UnityEditor.BuildTargetGroup"/>
 | 
			
		||||
            or only in the given <see cref="T:UnityEditor.BuildTargetGroup"/>, depending on passed parameters.<para/>
 | 
			
		||||
            </summary>
 | 
			
		||||
            <param name="id"></param>
 | 
			
		||||
            <param name="buildTargetGroup"><see cref="T:UnityEditor.BuildTargetGroup"/>to use. Leave NULL to check in all of them.</param>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="T:DG.DOTweenEditor.DOTweenDefines">
 | 
			
		||||
            <summary>
 | 
			
		||||
            Not used as menu item anymore, but as a utility function
 | 
			
		||||
            </summary>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="F:DG.DOTweenEditor.UnityEditorVersion.Version">
 | 
			
		||||
            <summary>Full major version + first minor version (ex: 2018.1f)</summary>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="F:DG.DOTweenEditor.UnityEditorVersion.MajorVersion">
 | 
			
		||||
            <summary>Major version</summary>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="F:DG.DOTweenEditor.UnityEditorVersion.MinorVersion">
 | 
			
		||||
            <summary>First minor version (ex: in 2018.1 it would be 1)</summary>
 | 
			
		||||
        </member>
 | 
			
		||||
    </members>
 | 
			
		||||
</doc>
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,7 @@
 | 
			
		|||
fileFormatVersion: 2
 | 
			
		||||
guid: a3b2ae74fd9a8e14ba009bf186d857b4
 | 
			
		||||
TextScriptImporter:
 | 
			
		||||
  externalObjects: {}
 | 
			
		||||
  userData: 
 | 
			
		||||
  assetBundleName: 
 | 
			
		||||
  assetBundleVariant: 
 | 
			
		||||
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							| 
						 | 
				
			
			@ -0,0 +1,7 @@
 | 
			
		|||
fileFormatVersion: 2
 | 
			
		||||
guid: 3dcd4aa6b33279f4a8dee4d043d11fde
 | 
			
		||||
DefaultImporter:
 | 
			
		||||
  externalObjects: {}
 | 
			
		||||
  userData: 
 | 
			
		||||
  assetBundleName: 
 | 
			
		||||
  assetBundleVariant: 
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,33 @@
 | 
			
		|||
fileFormatVersion: 2
 | 
			
		||||
guid: b8651264cfd330c429b7aba333184a46
 | 
			
		||||
PluginImporter:
 | 
			
		||||
  externalObjects: {}
 | 
			
		||||
  serializedVersion: 2
 | 
			
		||||
  iconMap: {}
 | 
			
		||||
  executionOrder: {}
 | 
			
		||||
  defineConstraints: []
 | 
			
		||||
  isPreloaded: 0
 | 
			
		||||
  isOverridable: 0
 | 
			
		||||
  isExplicitlyReferenced: 0
 | 
			
		||||
  validateReferences: 1
 | 
			
		||||
  platformData:
 | 
			
		||||
  - first:
 | 
			
		||||
      Any: 
 | 
			
		||||
    second:
 | 
			
		||||
      enabled: 0
 | 
			
		||||
      settings: {}
 | 
			
		||||
  - first:
 | 
			
		||||
      Editor: Editor
 | 
			
		||||
    second:
 | 
			
		||||
      enabled: 1
 | 
			
		||||
      settings:
 | 
			
		||||
        DefaultValueInitialized: true
 | 
			
		||||
  - first:
 | 
			
		||||
      Windows Store Apps: WindowsStoreApps
 | 
			
		||||
    second:
 | 
			
		||||
      enabled: 0
 | 
			
		||||
      settings:
 | 
			
		||||
        CPU: AnyCPU
 | 
			
		||||
  userData: 
 | 
			
		||||
  assetBundleName: 
 | 
			
		||||
  assetBundleVariant: 
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,8 @@
 | 
			
		|||
fileFormatVersion: 2
 | 
			
		||||
guid: 75ec2295e38406d4ca7d3da6e2490d62
 | 
			
		||||
folderAsset: yes
 | 
			
		||||
DefaultImporter:
 | 
			
		||||
  externalObjects: {}
 | 
			
		||||
  userData: 
 | 
			
		||||
  assetBundleName: 
 | 
			
		||||
  assetBundleVariant: 
 | 
			
		||||
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 1.5 KiB  | 
| 
						 | 
				
			
			@ -0,0 +1,127 @@
 | 
			
		|||
fileFormatVersion: 2
 | 
			
		||||
guid: a468423a8d4d59549b9515009f68d479
 | 
			
		||||
TextureImporter:
 | 
			
		||||
  internalIDToNameTable: []
 | 
			
		||||
  externalObjects: {}
 | 
			
		||||
  serializedVersion: 13
 | 
			
		||||
  mipmaps:
 | 
			
		||||
    mipMapMode: 0
 | 
			
		||||
    enableMipMap: 1
 | 
			
		||||
    sRGBTexture: 1
 | 
			
		||||
    linearTexture: 0
 | 
			
		||||
    fadeOut: 0
 | 
			
		||||
    borderMipMap: 0
 | 
			
		||||
    mipMapsPreserveCoverage: 0
 | 
			
		||||
    alphaTestReferenceValue: 0.5
 | 
			
		||||
    mipMapFadeDistanceStart: 1
 | 
			
		||||
    mipMapFadeDistanceEnd: 3
 | 
			
		||||
  bumpmap:
 | 
			
		||||
    convertToNormalMap: 0
 | 
			
		||||
    externalNormalMap: 0
 | 
			
		||||
    heightScale: 0.25
 | 
			
		||||
    normalMapFilter: 0
 | 
			
		||||
    flipGreenChannel: 0
 | 
			
		||||
  isReadable: 0
 | 
			
		||||
  streamingMipmaps: 0
 | 
			
		||||
  streamingMipmapsPriority: 0
 | 
			
		||||
  vTOnly: 0
 | 
			
		||||
  ignoreMipmapLimit: 0
 | 
			
		||||
  grayScaleToAlpha: 0
 | 
			
		||||
  generateCubemap: 6
 | 
			
		||||
  cubemapConvolution: 0
 | 
			
		||||
  seamlessCubemap: 0
 | 
			
		||||
  textureFormat: 1
 | 
			
		||||
  maxTextureSize: 2048
 | 
			
		||||
  textureSettings:
 | 
			
		||||
    serializedVersion: 2
 | 
			
		||||
    filterMode: 1
 | 
			
		||||
    aniso: 1
 | 
			
		||||
    mipBias: 0
 | 
			
		||||
    wrapU: 0
 | 
			
		||||
    wrapV: 0
 | 
			
		||||
    wrapW: 0
 | 
			
		||||
  nPOTScale: 1
 | 
			
		||||
  lightmap: 0
 | 
			
		||||
  compressionQuality: 50
 | 
			
		||||
  spriteMode: 0
 | 
			
		||||
  spriteExtrude: 1
 | 
			
		||||
  spriteMeshType: 1
 | 
			
		||||
  alignment: 0
 | 
			
		||||
  spritePivot: {x: 0.5, y: 0.5}
 | 
			
		||||
  spritePixelsToUnits: 100
 | 
			
		||||
  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
 | 
			
		||||
  spriteGenerateFallbackPhysicsShape: 1
 | 
			
		||||
  alphaUsage: 1
 | 
			
		||||
  alphaIsTransparency: 0
 | 
			
		||||
  spriteTessellationDetail: -1
 | 
			
		||||
  textureType: 0
 | 
			
		||||
  textureShape: 1
 | 
			
		||||
  singleChannelComponent: 0
 | 
			
		||||
  flipbookRows: 1
 | 
			
		||||
  flipbookColumns: 1
 | 
			
		||||
  maxTextureSizeSet: 0
 | 
			
		||||
  compressionQualitySet: 0
 | 
			
		||||
  textureFormatSet: 0
 | 
			
		||||
  ignorePngGamma: 0
 | 
			
		||||
  applyGammaDecoding: 0
 | 
			
		||||
  swizzle: 50462976
 | 
			
		||||
  cookieLightType: 0
 | 
			
		||||
  platformSettings:
 | 
			
		||||
  - serializedVersion: 3
 | 
			
		||||
    buildTarget: DefaultTexturePlatform
 | 
			
		||||
    maxTextureSize: 2048
 | 
			
		||||
    resizeAlgorithm: 0
 | 
			
		||||
    textureFormat: -1
 | 
			
		||||
    textureCompression: 1
 | 
			
		||||
    compressionQuality: 50
 | 
			
		||||
    crunchedCompression: 0
 | 
			
		||||
    allowsAlphaSplitting: 0
 | 
			
		||||
    overridden: 0
 | 
			
		||||
    ignorePlatformSupport: 0
 | 
			
		||||
    androidETC2FallbackOverride: 0
 | 
			
		||||
    forceMaximumCompressionQuality_BC6H_BC7: 0
 | 
			
		||||
  - serializedVersion: 3
 | 
			
		||||
    buildTarget: Standalone
 | 
			
		||||
    maxTextureSize: 2048
 | 
			
		||||
    resizeAlgorithm: 0
 | 
			
		||||
    textureFormat: -1
 | 
			
		||||
    textureCompression: 1
 | 
			
		||||
    compressionQuality: 50
 | 
			
		||||
    crunchedCompression: 0
 | 
			
		||||
    allowsAlphaSplitting: 0
 | 
			
		||||
    overridden: 0
 | 
			
		||||
    ignorePlatformSupport: 0
 | 
			
		||||
    androidETC2FallbackOverride: 0
 | 
			
		||||
    forceMaximumCompressionQuality_BC6H_BC7: 0
 | 
			
		||||
  - serializedVersion: 3
 | 
			
		||||
    buildTarget: WebGL
 | 
			
		||||
    maxTextureSize: 2048
 | 
			
		||||
    resizeAlgorithm: 0
 | 
			
		||||
    textureFormat: -1
 | 
			
		||||
    textureCompression: 1
 | 
			
		||||
    compressionQuality: 50
 | 
			
		||||
    crunchedCompression: 0
 | 
			
		||||
    allowsAlphaSplitting: 0
 | 
			
		||||
    overridden: 0
 | 
			
		||||
    ignorePlatformSupport: 0
 | 
			
		||||
    androidETC2FallbackOverride: 0
 | 
			
		||||
    forceMaximumCompressionQuality_BC6H_BC7: 0
 | 
			
		||||
  spriteSheet:
 | 
			
		||||
    serializedVersion: 2
 | 
			
		||||
    sprites: []
 | 
			
		||||
    outline: []
 | 
			
		||||
    physicsShape: []
 | 
			
		||||
    bones: []
 | 
			
		||||
    spriteID: 
 | 
			
		||||
    internalID: 0
 | 
			
		||||
    vertices: []
 | 
			
		||||
    indices: 
 | 
			
		||||
    edges: []
 | 
			
		||||
    weights: []
 | 
			
		||||
    secondaryTextures: []
 | 
			
		||||
    nameFileIdTable: {}
 | 
			
		||||
  mipmapLimitGroupName: 
 | 
			
		||||
  pSDRemoveMatte: 0
 | 
			
		||||
  userData: 
 | 
			
		||||
  assetBundleName: 
 | 
			
		||||
  assetBundleVariant: 
 | 
			
		||||
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 319 B  | 
| 
						 | 
				
			
			@ -0,0 +1,127 @@
 | 
			
		|||
fileFormatVersion: 2
 | 
			
		||||
guid: 431f682345954f64ea3f62b140b4af34
 | 
			
		||||
TextureImporter:
 | 
			
		||||
  internalIDToNameTable: []
 | 
			
		||||
  externalObjects: {}
 | 
			
		||||
  serializedVersion: 13
 | 
			
		||||
  mipmaps:
 | 
			
		||||
    mipMapMode: 0
 | 
			
		||||
    enableMipMap: 1
 | 
			
		||||
    sRGBTexture: 1
 | 
			
		||||
    linearTexture: 0
 | 
			
		||||
    fadeOut: 0
 | 
			
		||||
    borderMipMap: 0
 | 
			
		||||
    mipMapsPreserveCoverage: 0
 | 
			
		||||
    alphaTestReferenceValue: 0.5
 | 
			
		||||
    mipMapFadeDistanceStart: 1
 | 
			
		||||
    mipMapFadeDistanceEnd: 3
 | 
			
		||||
  bumpmap:
 | 
			
		||||
    convertToNormalMap: 0
 | 
			
		||||
    externalNormalMap: 0
 | 
			
		||||
    heightScale: 0.25
 | 
			
		||||
    normalMapFilter: 0
 | 
			
		||||
    flipGreenChannel: 0
 | 
			
		||||
  isReadable: 0
 | 
			
		||||
  streamingMipmaps: 0
 | 
			
		||||
  streamingMipmapsPriority: 0
 | 
			
		||||
  vTOnly: 0
 | 
			
		||||
  ignoreMipmapLimit: 0
 | 
			
		||||
  grayScaleToAlpha: 0
 | 
			
		||||
  generateCubemap: 6
 | 
			
		||||
  cubemapConvolution: 0
 | 
			
		||||
  seamlessCubemap: 0
 | 
			
		||||
  textureFormat: 1
 | 
			
		||||
  maxTextureSize: 2048
 | 
			
		||||
  textureSettings:
 | 
			
		||||
    serializedVersion: 2
 | 
			
		||||
    filterMode: 1
 | 
			
		||||
    aniso: 1
 | 
			
		||||
    mipBias: 0
 | 
			
		||||
    wrapU: 0
 | 
			
		||||
    wrapV: 0
 | 
			
		||||
    wrapW: 0
 | 
			
		||||
  nPOTScale: 1
 | 
			
		||||
  lightmap: 0
 | 
			
		||||
  compressionQuality: 50
 | 
			
		||||
  spriteMode: 0
 | 
			
		||||
  spriteExtrude: 1
 | 
			
		||||
  spriteMeshType: 1
 | 
			
		||||
  alignment: 0
 | 
			
		||||
  spritePivot: {x: 0.5, y: 0.5}
 | 
			
		||||
  spritePixelsToUnits: 100
 | 
			
		||||
  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
 | 
			
		||||
  spriteGenerateFallbackPhysicsShape: 1
 | 
			
		||||
  alphaUsage: 1
 | 
			
		||||
  alphaIsTransparency: 0
 | 
			
		||||
  spriteTessellationDetail: -1
 | 
			
		||||
  textureType: 0
 | 
			
		||||
  textureShape: 1
 | 
			
		||||
  singleChannelComponent: 0
 | 
			
		||||
  flipbookRows: 1
 | 
			
		||||
  flipbookColumns: 1
 | 
			
		||||
  maxTextureSizeSet: 0
 | 
			
		||||
  compressionQualitySet: 0
 | 
			
		||||
  textureFormatSet: 0
 | 
			
		||||
  ignorePngGamma: 0
 | 
			
		||||
  applyGammaDecoding: 0
 | 
			
		||||
  swizzle: 50462976
 | 
			
		||||
  cookieLightType: 0
 | 
			
		||||
  platformSettings:
 | 
			
		||||
  - serializedVersion: 3
 | 
			
		||||
    buildTarget: DefaultTexturePlatform
 | 
			
		||||
    maxTextureSize: 2048
 | 
			
		||||
    resizeAlgorithm: 0
 | 
			
		||||
    textureFormat: -1
 | 
			
		||||
    textureCompression: 1
 | 
			
		||||
    compressionQuality: 50
 | 
			
		||||
    crunchedCompression: 0
 | 
			
		||||
    allowsAlphaSplitting: 0
 | 
			
		||||
    overridden: 0
 | 
			
		||||
    ignorePlatformSupport: 0
 | 
			
		||||
    androidETC2FallbackOverride: 0
 | 
			
		||||
    forceMaximumCompressionQuality_BC6H_BC7: 0
 | 
			
		||||
  - serializedVersion: 3
 | 
			
		||||
    buildTarget: Standalone
 | 
			
		||||
    maxTextureSize: 2048
 | 
			
		||||
    resizeAlgorithm: 0
 | 
			
		||||
    textureFormat: -1
 | 
			
		||||
    textureCompression: 1
 | 
			
		||||
    compressionQuality: 50
 | 
			
		||||
    crunchedCompression: 0
 | 
			
		||||
    allowsAlphaSplitting: 0
 | 
			
		||||
    overridden: 0
 | 
			
		||||
    ignorePlatformSupport: 0
 | 
			
		||||
    androidETC2FallbackOverride: 0
 | 
			
		||||
    forceMaximumCompressionQuality_BC6H_BC7: 0
 | 
			
		||||
  - serializedVersion: 3
 | 
			
		||||
    buildTarget: WebGL
 | 
			
		||||
    maxTextureSize: 2048
 | 
			
		||||
    resizeAlgorithm: 0
 | 
			
		||||
    textureFormat: -1
 | 
			
		||||
    textureCompression: 1
 | 
			
		||||
    compressionQuality: 50
 | 
			
		||||
    crunchedCompression: 0
 | 
			
		||||
    allowsAlphaSplitting: 0
 | 
			
		||||
    overridden: 0
 | 
			
		||||
    ignorePlatformSupport: 0
 | 
			
		||||
    androidETC2FallbackOverride: 0
 | 
			
		||||
    forceMaximumCompressionQuality_BC6H_BC7: 0
 | 
			
		||||
  spriteSheet:
 | 
			
		||||
    serializedVersion: 2
 | 
			
		||||
    sprites: []
 | 
			
		||||
    outline: []
 | 
			
		||||
    physicsShape: []
 | 
			
		||||
    bones: []
 | 
			
		||||
    spriteID: 
 | 
			
		||||
    internalID: 0
 | 
			
		||||
    vertices: []
 | 
			
		||||
    indices: 
 | 
			
		||||
    edges: []
 | 
			
		||||
    weights: []
 | 
			
		||||
    secondaryTextures: []
 | 
			
		||||
    nameFileIdTable: {}
 | 
			
		||||
  mipmapLimitGroupName: 
 | 
			
		||||
  pSDRemoveMatte: 0
 | 
			
		||||
  userData: 
 | 
			
		||||
  assetBundleName: 
 | 
			
		||||
  assetBundleVariant: 
 | 
			
		||||
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 4.3 KiB  | 
| 
						 | 
				
			
			@ -0,0 +1,127 @@
 | 
			
		|||
fileFormatVersion: 2
 | 
			
		||||
guid: 4e6390733bd97be4fae0332289cca833
 | 
			
		||||
TextureImporter:
 | 
			
		||||
  internalIDToNameTable: []
 | 
			
		||||
  externalObjects: {}
 | 
			
		||||
  serializedVersion: 13
 | 
			
		||||
  mipmaps:
 | 
			
		||||
    mipMapMode: 0
 | 
			
		||||
    enableMipMap: 0
 | 
			
		||||
    sRGBTexture: 1
 | 
			
		||||
    linearTexture: 0
 | 
			
		||||
    fadeOut: 0
 | 
			
		||||
    borderMipMap: 0
 | 
			
		||||
    mipMapsPreserveCoverage: 0
 | 
			
		||||
    alphaTestReferenceValue: 0.5
 | 
			
		||||
    mipMapFadeDistanceStart: 1
 | 
			
		||||
    mipMapFadeDistanceEnd: 3
 | 
			
		||||
  bumpmap:
 | 
			
		||||
    convertToNormalMap: 0
 | 
			
		||||
    externalNormalMap: 0
 | 
			
		||||
    heightScale: 0.25
 | 
			
		||||
    normalMapFilter: 0
 | 
			
		||||
    flipGreenChannel: 0
 | 
			
		||||
  isReadable: 0
 | 
			
		||||
  streamingMipmaps: 0
 | 
			
		||||
  streamingMipmapsPriority: 0
 | 
			
		||||
  vTOnly: 0
 | 
			
		||||
  ignoreMipmapLimit: 0
 | 
			
		||||
  grayScaleToAlpha: 0
 | 
			
		||||
  generateCubemap: 6
 | 
			
		||||
  cubemapConvolution: 0
 | 
			
		||||
  seamlessCubemap: 0
 | 
			
		||||
  textureFormat: 1
 | 
			
		||||
  maxTextureSize: 2048
 | 
			
		||||
  textureSettings:
 | 
			
		||||
    serializedVersion: 2
 | 
			
		||||
    filterMode: 1
 | 
			
		||||
    aniso: 1
 | 
			
		||||
    mipBias: 0
 | 
			
		||||
    wrapU: 1
 | 
			
		||||
    wrapV: 1
 | 
			
		||||
    wrapW: 1
 | 
			
		||||
  nPOTScale: 0
 | 
			
		||||
  lightmap: 0
 | 
			
		||||
  compressionQuality: 50
 | 
			
		||||
  spriteMode: 0
 | 
			
		||||
  spriteExtrude: 1
 | 
			
		||||
  spriteMeshType: 1
 | 
			
		||||
  alignment: 0
 | 
			
		||||
  spritePivot: {x: 0.5, y: 0.5}
 | 
			
		||||
  spritePixelsToUnits: 100
 | 
			
		||||
  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
 | 
			
		||||
  spriteGenerateFallbackPhysicsShape: 1
 | 
			
		||||
  alphaUsage: 1
 | 
			
		||||
  alphaIsTransparency: 1
 | 
			
		||||
  spriteTessellationDetail: -1
 | 
			
		||||
  textureType: 2
 | 
			
		||||
  textureShape: 1
 | 
			
		||||
  singleChannelComponent: 0
 | 
			
		||||
  flipbookRows: 1
 | 
			
		||||
  flipbookColumns: 1
 | 
			
		||||
  maxTextureSizeSet: 0
 | 
			
		||||
  compressionQualitySet: 0
 | 
			
		||||
  textureFormatSet: 0
 | 
			
		||||
  ignorePngGamma: 0
 | 
			
		||||
  applyGammaDecoding: 0
 | 
			
		||||
  swizzle: 50462976
 | 
			
		||||
  cookieLightType: 0
 | 
			
		||||
  platformSettings:
 | 
			
		||||
  - serializedVersion: 3
 | 
			
		||||
    buildTarget: DefaultTexturePlatform
 | 
			
		||||
    maxTextureSize: 256
 | 
			
		||||
    resizeAlgorithm: 0
 | 
			
		||||
    textureFormat: -1
 | 
			
		||||
    textureCompression: 0
 | 
			
		||||
    compressionQuality: 50
 | 
			
		||||
    crunchedCompression: 0
 | 
			
		||||
    allowsAlphaSplitting: 0
 | 
			
		||||
    overridden: 0
 | 
			
		||||
    ignorePlatformSupport: 0
 | 
			
		||||
    androidETC2FallbackOverride: 0
 | 
			
		||||
    forceMaximumCompressionQuality_BC6H_BC7: 0
 | 
			
		||||
  - serializedVersion: 3
 | 
			
		||||
    buildTarget: Standalone
 | 
			
		||||
    maxTextureSize: 2048
 | 
			
		||||
    resizeAlgorithm: 0
 | 
			
		||||
    textureFormat: -1
 | 
			
		||||
    textureCompression: 1
 | 
			
		||||
    compressionQuality: 50
 | 
			
		||||
    crunchedCompression: 0
 | 
			
		||||
    allowsAlphaSplitting: 0
 | 
			
		||||
    overridden: 0
 | 
			
		||||
    ignorePlatformSupport: 0
 | 
			
		||||
    androidETC2FallbackOverride: 0
 | 
			
		||||
    forceMaximumCompressionQuality_BC6H_BC7: 0
 | 
			
		||||
  - serializedVersion: 3
 | 
			
		||||
    buildTarget: WebGL
 | 
			
		||||
    maxTextureSize: 2048
 | 
			
		||||
    resizeAlgorithm: 0
 | 
			
		||||
    textureFormat: -1
 | 
			
		||||
    textureCompression: 1
 | 
			
		||||
    compressionQuality: 50
 | 
			
		||||
    crunchedCompression: 0
 | 
			
		||||
    allowsAlphaSplitting: 0
 | 
			
		||||
    overridden: 0
 | 
			
		||||
    ignorePlatformSupport: 0
 | 
			
		||||
    androidETC2FallbackOverride: 0
 | 
			
		||||
    forceMaximumCompressionQuality_BC6H_BC7: 0
 | 
			
		||||
  spriteSheet:
 | 
			
		||||
    serializedVersion: 2
 | 
			
		||||
    sprites: []
 | 
			
		||||
    outline: []
 | 
			
		||||
    physicsShape: []
 | 
			
		||||
    bones: []
 | 
			
		||||
    spriteID: 
 | 
			
		||||
    internalID: 0
 | 
			
		||||
    vertices: []
 | 
			
		||||
    indices: 
 | 
			
		||||
    edges: []
 | 
			
		||||
    weights: []
 | 
			
		||||
    secondaryTextures: []
 | 
			
		||||
    nameFileIdTable: {}
 | 
			
		||||
  mipmapLimitGroupName: 
 | 
			
		||||
  pSDRemoveMatte: 0
 | 
			
		||||
  userData: 
 | 
			
		||||
  assetBundleName: 
 | 
			
		||||
  assetBundleVariant: 
 | 
			
		||||
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 4.3 KiB  | 
| 
						 | 
				
			
			@ -0,0 +1,127 @@
 | 
			
		|||
fileFormatVersion: 2
 | 
			
		||||
guid: 87963014ad9d16b42a59eb99f850c255
 | 
			
		||||
TextureImporter:
 | 
			
		||||
  internalIDToNameTable: []
 | 
			
		||||
  externalObjects: {}
 | 
			
		||||
  serializedVersion: 13
 | 
			
		||||
  mipmaps:
 | 
			
		||||
    mipMapMode: 0
 | 
			
		||||
    enableMipMap: 1
 | 
			
		||||
    sRGBTexture: 1
 | 
			
		||||
    linearTexture: 0
 | 
			
		||||
    fadeOut: 0
 | 
			
		||||
    borderMipMap: 0
 | 
			
		||||
    mipMapsPreserveCoverage: 0
 | 
			
		||||
    alphaTestReferenceValue: 0.5
 | 
			
		||||
    mipMapFadeDistanceStart: 1
 | 
			
		||||
    mipMapFadeDistanceEnd: 3
 | 
			
		||||
  bumpmap:
 | 
			
		||||
    convertToNormalMap: 0
 | 
			
		||||
    externalNormalMap: 0
 | 
			
		||||
    heightScale: 0.25
 | 
			
		||||
    normalMapFilter: 0
 | 
			
		||||
    flipGreenChannel: 0
 | 
			
		||||
  isReadable: 0
 | 
			
		||||
  streamingMipmaps: 0
 | 
			
		||||
  streamingMipmapsPriority: 0
 | 
			
		||||
  vTOnly: 0
 | 
			
		||||
  ignoreMipmapLimit: 0
 | 
			
		||||
  grayScaleToAlpha: 0
 | 
			
		||||
  generateCubemap: 6
 | 
			
		||||
  cubemapConvolution: 0
 | 
			
		||||
  seamlessCubemap: 0
 | 
			
		||||
  textureFormat: 1
 | 
			
		||||
  maxTextureSize: 2048
 | 
			
		||||
  textureSettings:
 | 
			
		||||
    serializedVersion: 2
 | 
			
		||||
    filterMode: 1
 | 
			
		||||
    aniso: 1
 | 
			
		||||
    mipBias: 0
 | 
			
		||||
    wrapU: 0
 | 
			
		||||
    wrapV: 0
 | 
			
		||||
    wrapW: 0
 | 
			
		||||
  nPOTScale: 1
 | 
			
		||||
  lightmap: 0
 | 
			
		||||
  compressionQuality: 50
 | 
			
		||||
  spriteMode: 0
 | 
			
		||||
  spriteExtrude: 1
 | 
			
		||||
  spriteMeshType: 1
 | 
			
		||||
  alignment: 0
 | 
			
		||||
  spritePivot: {x: 0.5, y: 0.5}
 | 
			
		||||
  spritePixelsToUnits: 100
 | 
			
		||||
  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
 | 
			
		||||
  spriteGenerateFallbackPhysicsShape: 1
 | 
			
		||||
  alphaUsage: 1
 | 
			
		||||
  alphaIsTransparency: 0
 | 
			
		||||
  spriteTessellationDetail: -1
 | 
			
		||||
  textureType: 0
 | 
			
		||||
  textureShape: 1
 | 
			
		||||
  singleChannelComponent: 0
 | 
			
		||||
  flipbookRows: 1
 | 
			
		||||
  flipbookColumns: 1
 | 
			
		||||
  maxTextureSizeSet: 0
 | 
			
		||||
  compressionQualitySet: 0
 | 
			
		||||
  textureFormatSet: 0
 | 
			
		||||
  ignorePngGamma: 0
 | 
			
		||||
  applyGammaDecoding: 0
 | 
			
		||||
  swizzle: 50462976
 | 
			
		||||
  cookieLightType: 0
 | 
			
		||||
  platformSettings:
 | 
			
		||||
  - serializedVersion: 3
 | 
			
		||||
    buildTarget: DefaultTexturePlatform
 | 
			
		||||
    maxTextureSize: 2048
 | 
			
		||||
    resizeAlgorithm: 0
 | 
			
		||||
    textureFormat: -1
 | 
			
		||||
    textureCompression: 1
 | 
			
		||||
    compressionQuality: 50
 | 
			
		||||
    crunchedCompression: 0
 | 
			
		||||
    allowsAlphaSplitting: 0
 | 
			
		||||
    overridden: 0
 | 
			
		||||
    ignorePlatformSupport: 0
 | 
			
		||||
    androidETC2FallbackOverride: 0
 | 
			
		||||
    forceMaximumCompressionQuality_BC6H_BC7: 0
 | 
			
		||||
  - serializedVersion: 3
 | 
			
		||||
    buildTarget: Standalone
 | 
			
		||||
    maxTextureSize: 2048
 | 
			
		||||
    resizeAlgorithm: 0
 | 
			
		||||
    textureFormat: -1
 | 
			
		||||
    textureCompression: 1
 | 
			
		||||
    compressionQuality: 50
 | 
			
		||||
    crunchedCompression: 0
 | 
			
		||||
    allowsAlphaSplitting: 0
 | 
			
		||||
    overridden: 0
 | 
			
		||||
    ignorePlatformSupport: 0
 | 
			
		||||
    androidETC2FallbackOverride: 0
 | 
			
		||||
    forceMaximumCompressionQuality_BC6H_BC7: 0
 | 
			
		||||
  - serializedVersion: 3
 | 
			
		||||
    buildTarget: WebGL
 | 
			
		||||
    maxTextureSize: 2048
 | 
			
		||||
    resizeAlgorithm: 0
 | 
			
		||||
    textureFormat: -1
 | 
			
		||||
    textureCompression: 1
 | 
			
		||||
    compressionQuality: 50
 | 
			
		||||
    crunchedCompression: 0
 | 
			
		||||
    allowsAlphaSplitting: 0
 | 
			
		||||
    overridden: 0
 | 
			
		||||
    ignorePlatformSupport: 0
 | 
			
		||||
    androidETC2FallbackOverride: 0
 | 
			
		||||
    forceMaximumCompressionQuality_BC6H_BC7: 0
 | 
			
		||||
  spriteSheet:
 | 
			
		||||
    serializedVersion: 2
 | 
			
		||||
    sprites: []
 | 
			
		||||
    outline: []
 | 
			
		||||
    physicsShape: []
 | 
			
		||||
    bones: []
 | 
			
		||||
    spriteID: 
 | 
			
		||||
    internalID: 0
 | 
			
		||||
    vertices: []
 | 
			
		||||
    indices: 
 | 
			
		||||
    edges: []
 | 
			
		||||
    weights: []
 | 
			
		||||
    secondaryTextures: []
 | 
			
		||||
    nameFileIdTable: {}
 | 
			
		||||
  mipmapLimitGroupName: 
 | 
			
		||||
  pSDRemoveMatte: 0
 | 
			
		||||
  userData: 
 | 
			
		||||
  assetBundleName: 
 | 
			
		||||
  assetBundleVariant: 
 | 
			
		||||
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 22 KiB  | 
| 
						 | 
				
			
			@ -0,0 +1,127 @@
 | 
			
		|||
fileFormatVersion: 2
 | 
			
		||||
guid: 032c2ac9096e25c4db0e8a4bf95bce47
 | 
			
		||||
TextureImporter:
 | 
			
		||||
  internalIDToNameTable: []
 | 
			
		||||
  externalObjects: {}
 | 
			
		||||
  serializedVersion: 13
 | 
			
		||||
  mipmaps:
 | 
			
		||||
    mipMapMode: 0
 | 
			
		||||
    enableMipMap: 0
 | 
			
		||||
    sRGBTexture: 1
 | 
			
		||||
    linearTexture: 0
 | 
			
		||||
    fadeOut: 0
 | 
			
		||||
    borderMipMap: 0
 | 
			
		||||
    mipMapsPreserveCoverage: 0
 | 
			
		||||
    alphaTestReferenceValue: 0.5
 | 
			
		||||
    mipMapFadeDistanceStart: 1
 | 
			
		||||
    mipMapFadeDistanceEnd: 3
 | 
			
		||||
  bumpmap:
 | 
			
		||||
    convertToNormalMap: 0
 | 
			
		||||
    externalNormalMap: 0
 | 
			
		||||
    heightScale: 0.25
 | 
			
		||||
    normalMapFilter: 0
 | 
			
		||||
    flipGreenChannel: 0
 | 
			
		||||
  isReadable: 0
 | 
			
		||||
  streamingMipmaps: 0
 | 
			
		||||
  streamingMipmapsPriority: 0
 | 
			
		||||
  vTOnly: 0
 | 
			
		||||
  ignoreMipmapLimit: 0
 | 
			
		||||
  grayScaleToAlpha: 0
 | 
			
		||||
  generateCubemap: 6
 | 
			
		||||
  cubemapConvolution: 0
 | 
			
		||||
  seamlessCubemap: 0
 | 
			
		||||
  textureFormat: 1
 | 
			
		||||
  maxTextureSize: 2048
 | 
			
		||||
  textureSettings:
 | 
			
		||||
    serializedVersion: 2
 | 
			
		||||
    filterMode: 1
 | 
			
		||||
    aniso: 1
 | 
			
		||||
    mipBias: 0
 | 
			
		||||
    wrapU: 1
 | 
			
		||||
    wrapV: 1
 | 
			
		||||
    wrapW: 1
 | 
			
		||||
  nPOTScale: 0
 | 
			
		||||
  lightmap: 0
 | 
			
		||||
  compressionQuality: 50
 | 
			
		||||
  spriteMode: 0
 | 
			
		||||
  spriteExtrude: 1
 | 
			
		||||
  spriteMeshType: 1
 | 
			
		||||
  alignment: 0
 | 
			
		||||
  spritePivot: {x: 0.5, y: 0.5}
 | 
			
		||||
  spritePixelsToUnits: 100
 | 
			
		||||
  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
 | 
			
		||||
  spriteGenerateFallbackPhysicsShape: 1
 | 
			
		||||
  alphaUsage: 1
 | 
			
		||||
  alphaIsTransparency: 1
 | 
			
		||||
  spriteTessellationDetail: -1
 | 
			
		||||
  textureType: 2
 | 
			
		||||
  textureShape: 1
 | 
			
		||||
  singleChannelComponent: 0
 | 
			
		||||
  flipbookRows: 1
 | 
			
		||||
  flipbookColumns: 1
 | 
			
		||||
  maxTextureSizeSet: 0
 | 
			
		||||
  compressionQualitySet: 0
 | 
			
		||||
  textureFormatSet: 0
 | 
			
		||||
  ignorePngGamma: 0
 | 
			
		||||
  applyGammaDecoding: 0
 | 
			
		||||
  swizzle: 50462976
 | 
			
		||||
  cookieLightType: 0
 | 
			
		||||
  platformSettings:
 | 
			
		||||
  - serializedVersion: 3
 | 
			
		||||
    buildTarget: DefaultTexturePlatform
 | 
			
		||||
    maxTextureSize: 512
 | 
			
		||||
    resizeAlgorithm: 0
 | 
			
		||||
    textureFormat: -1
 | 
			
		||||
    textureCompression: 0
 | 
			
		||||
    compressionQuality: 50
 | 
			
		||||
    crunchedCompression: 0
 | 
			
		||||
    allowsAlphaSplitting: 0
 | 
			
		||||
    overridden: 0
 | 
			
		||||
    ignorePlatformSupport: 0
 | 
			
		||||
    androidETC2FallbackOverride: 0
 | 
			
		||||
    forceMaximumCompressionQuality_BC6H_BC7: 0
 | 
			
		||||
  - serializedVersion: 3
 | 
			
		||||
    buildTarget: Standalone
 | 
			
		||||
    maxTextureSize: 2048
 | 
			
		||||
    resizeAlgorithm: 0
 | 
			
		||||
    textureFormat: -1
 | 
			
		||||
    textureCompression: 1
 | 
			
		||||
    compressionQuality: 50
 | 
			
		||||
    crunchedCompression: 0
 | 
			
		||||
    allowsAlphaSplitting: 0
 | 
			
		||||
    overridden: 0
 | 
			
		||||
    ignorePlatformSupport: 0
 | 
			
		||||
    androidETC2FallbackOverride: 0
 | 
			
		||||
    forceMaximumCompressionQuality_BC6H_BC7: 0
 | 
			
		||||
  - serializedVersion: 3
 | 
			
		||||
    buildTarget: WebGL
 | 
			
		||||
    maxTextureSize: 2048
 | 
			
		||||
    resizeAlgorithm: 0
 | 
			
		||||
    textureFormat: -1
 | 
			
		||||
    textureCompression: 1
 | 
			
		||||
    compressionQuality: 50
 | 
			
		||||
    crunchedCompression: 0
 | 
			
		||||
    allowsAlphaSplitting: 0
 | 
			
		||||
    overridden: 0
 | 
			
		||||
    ignorePlatformSupport: 0
 | 
			
		||||
    androidETC2FallbackOverride: 0
 | 
			
		||||
    forceMaximumCompressionQuality_BC6H_BC7: 0
 | 
			
		||||
  spriteSheet:
 | 
			
		||||
    serializedVersion: 2
 | 
			
		||||
    sprites: []
 | 
			
		||||
    outline: []
 | 
			
		||||
    physicsShape: []
 | 
			
		||||
    bones: []
 | 
			
		||||
    spriteID: 
 | 
			
		||||
    internalID: 0
 | 
			
		||||
    vertices: []
 | 
			
		||||
    indices: 
 | 
			
		||||
    edges: []
 | 
			
		||||
    weights: []
 | 
			
		||||
    secondaryTextures: []
 | 
			
		||||
    nameFileIdTable: {}
 | 
			
		||||
  mipmapLimitGroupName: 
 | 
			
		||||
  pSDRemoveMatte: 0
 | 
			
		||||
  userData: 
 | 
			
		||||
  assetBundleName: 
 | 
			
		||||
  assetBundleVariant: 
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,8 @@
 | 
			
		|||
fileFormatVersion: 2
 | 
			
		||||
guid: bea948af3f04ef34d90aac3117ac5fb5
 | 
			
		||||
folderAsset: yes
 | 
			
		||||
DefaultImporter:
 | 
			
		||||
  externalObjects: {}
 | 
			
		||||
  userData: 
 | 
			
		||||
  assetBundleName: 
 | 
			
		||||
  assetBundleVariant: 
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,198 @@
 | 
			
		|||
// Author: Daniele Giardini - http://www.demigiant.com
 | 
			
		||||
// Created: 2018/07/13
 | 
			
		||||
 | 
			
		||||
#if true // MODULE_MARKER
 | 
			
		||||
using System;
 | 
			
		||||
using DG.Tweening.Core;
 | 
			
		||||
using DG.Tweening.Plugins.Options;
 | 
			
		||||
using UnityEngine;
 | 
			
		||||
using UnityEngine.Audio; // Required for AudioMixer
 | 
			
		||||
 | 
			
		||||
#pragma warning disable 1591
 | 
			
		||||
namespace DG.Tweening
 | 
			
		||||
{
 | 
			
		||||
	public static class DOTweenModuleAudio
 | 
			
		||||
    {
 | 
			
		||||
        #region Shortcuts
 | 
			
		||||
 | 
			
		||||
        #region Audio
 | 
			
		||||
 | 
			
		||||
        /// <summary>Tweens an AudioSource's volume to the given value.
 | 
			
		||||
        /// Also stores the AudioSource as the tween's target so it can be used for filtered operations</summary>
 | 
			
		||||
        /// <param name="endValue">The end value to reach (0 to 1)</param><param name="duration">The duration of the tween</param>
 | 
			
		||||
        public static TweenerCore<float, float, FloatOptions> DOFade(this AudioSource target, float endValue, float duration)
 | 
			
		||||
        {
 | 
			
		||||
            if (endValue < 0) endValue = 0;
 | 
			
		||||
            else if (endValue > 1) endValue = 1;
 | 
			
		||||
            TweenerCore<float, float, FloatOptions> t = DOTween.To(() => target.volume, x => target.volume = x, endValue, duration);
 | 
			
		||||
            t.SetTarget(target);
 | 
			
		||||
            return t;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>Tweens an AudioSource's pitch to the given value.
 | 
			
		||||
        /// Also stores the AudioSource as the tween's target so it can be used for filtered operations</summary>
 | 
			
		||||
        /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
 | 
			
		||||
        public static TweenerCore<float, float, FloatOptions> DOPitch(this AudioSource target, float endValue, float duration)
 | 
			
		||||
        {
 | 
			
		||||
            TweenerCore<float, float, FloatOptions> t = DOTween.To(() => target.pitch, x => target.pitch = x, endValue, duration);
 | 
			
		||||
            t.SetTarget(target);
 | 
			
		||||
            return t;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        #endregion
 | 
			
		||||
 | 
			
		||||
        #region AudioMixer
 | 
			
		||||
 | 
			
		||||
        /// <summary>Tweens an AudioMixer's exposed float to the given value.
 | 
			
		||||
        /// Also stores the AudioMixer as the tween's target so it can be used for filtered operations.
 | 
			
		||||
        /// Note that you need to manually expose a float in an AudioMixerGroup in order to be able to tween it from an AudioMixer.</summary>
 | 
			
		||||
        /// <param name="floatName">Name given to the exposed float to set</param>
 | 
			
		||||
        /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
 | 
			
		||||
        public static TweenerCore<float, float, FloatOptions> DOSetFloat(this AudioMixer target, string floatName, float endValue, float duration)
 | 
			
		||||
        {
 | 
			
		||||
            TweenerCore<float, float, FloatOptions> t = DOTween.To(()=> {
 | 
			
		||||
                    float currVal;
 | 
			
		||||
                    target.GetFloat(floatName, out currVal);
 | 
			
		||||
                    return currVal;
 | 
			
		||||
                }, x=> target.SetFloat(floatName, x), endValue, duration);
 | 
			
		||||
            t.SetTarget(target);
 | 
			
		||||
            return t;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        #region Operation Shortcuts
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Completes all tweens that have this target as a reference
 | 
			
		||||
        /// (meaning tweens that were started from this target, or that had this target added as an Id)
 | 
			
		||||
        /// and returns the total number of tweens completed
 | 
			
		||||
        /// (meaning the tweens that don't have infinite loops and were not already complete)
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        /// <param name="withCallbacks">For Sequences only: if TRUE also internal Sequence callbacks will be fired,
 | 
			
		||||
        /// otherwise they will be ignored</param>
 | 
			
		||||
        public static int DOComplete(this AudioMixer target, bool withCallbacks = false)
 | 
			
		||||
        {
 | 
			
		||||
            return DOTween.Complete(target, withCallbacks);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Kills all tweens that have this target as a reference
 | 
			
		||||
        /// (meaning tweens that were started from this target, or that had this target added as an Id)
 | 
			
		||||
        /// and returns the total number of tweens killed.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        /// <param name="complete">If TRUE completes the tween before killing it</param>
 | 
			
		||||
        public static int DOKill(this AudioMixer target, bool complete = false)
 | 
			
		||||
        {
 | 
			
		||||
            return DOTween.Kill(target, complete);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Flips the direction (backwards if it was going forward or viceversa) of all tweens that have this target as a reference
 | 
			
		||||
        /// (meaning tweens that were started from this target, or that had this target added as an Id)
 | 
			
		||||
        /// and returns the total number of tweens flipped.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public static int DOFlip(this AudioMixer target)
 | 
			
		||||
        {
 | 
			
		||||
            return DOTween.Flip(target);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Sends to the given position all tweens that have this target as a reference
 | 
			
		||||
        /// (meaning tweens that were started from this target, or that had this target added as an Id)
 | 
			
		||||
        /// and returns the total number of tweens involved.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        /// <param name="to">Time position to reach
 | 
			
		||||
        /// (if higher than the whole tween duration the tween will simply reach its end)</param>
 | 
			
		||||
        /// <param name="andPlay">If TRUE will play the tween after reaching the given position, otherwise it will pause it</param>
 | 
			
		||||
        public static int DOGoto(this AudioMixer target, float to, bool andPlay = false)
 | 
			
		||||
        {
 | 
			
		||||
            return DOTween.Goto(target, to, andPlay);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Pauses all tweens that have this target as a reference
 | 
			
		||||
        /// (meaning tweens that were started from this target, or that had this target added as an Id)
 | 
			
		||||
        /// and returns the total number of tweens paused.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public static int DOPause(this AudioMixer target)
 | 
			
		||||
        {
 | 
			
		||||
            return DOTween.Pause(target);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Plays all tweens that have this target as a reference
 | 
			
		||||
        /// (meaning tweens that were started from this target, or that had this target added as an Id)
 | 
			
		||||
        /// and returns the total number of tweens played.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public static int DOPlay(this AudioMixer target)
 | 
			
		||||
        {
 | 
			
		||||
            return DOTween.Play(target);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Plays backwards all tweens that have this target as a reference
 | 
			
		||||
        /// (meaning tweens that were started from this target, or that had this target added as an Id)
 | 
			
		||||
        /// and returns the total number of tweens played.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public static int DOPlayBackwards(this AudioMixer target)
 | 
			
		||||
        {
 | 
			
		||||
            return DOTween.PlayBackwards(target);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Plays forward all tweens that have this target as a reference
 | 
			
		||||
        /// (meaning tweens that were started from this target, or that had this target added as an Id)
 | 
			
		||||
        /// and returns the total number of tweens played.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public static int DOPlayForward(this AudioMixer target)
 | 
			
		||||
        {
 | 
			
		||||
            return DOTween.PlayForward(target);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Restarts all tweens that have this target as a reference
 | 
			
		||||
        /// (meaning tweens that were started from this target, or that had this target added as an Id)
 | 
			
		||||
        /// and returns the total number of tweens restarted.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public static int DORestart(this AudioMixer target)
 | 
			
		||||
        {
 | 
			
		||||
            return DOTween.Restart(target);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Rewinds all tweens that have this target as a reference
 | 
			
		||||
        /// (meaning tweens that were started from this target, or that had this target added as an Id)
 | 
			
		||||
        /// and returns the total number of tweens rewinded.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public static int DORewind(this AudioMixer target)
 | 
			
		||||
        {
 | 
			
		||||
            return DOTween.Rewind(target);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Smoothly rewinds all tweens that have this target as a reference
 | 
			
		||||
        /// (meaning tweens that were started from this target, or that had this target added as an Id)
 | 
			
		||||
        /// and returns the total number of tweens rewinded.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public static int DOSmoothRewind(this AudioMixer target)
 | 
			
		||||
        {
 | 
			
		||||
            return DOTween.SmoothRewind(target);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Toggles the paused state (plays if it was paused, pauses if it was playing) of all tweens that have this target as a reference
 | 
			
		||||
        /// (meaning tweens that were started from this target, or that had this target added as an Id)
 | 
			
		||||
        /// and returns the total number of tweens involved.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public static int DOTogglePause(this AudioMixer target)
 | 
			
		||||
        {
 | 
			
		||||
            return DOTween.TogglePause(target);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        #endregion
 | 
			
		||||
 | 
			
		||||
        #endregion
 | 
			
		||||
 | 
			
		||||
        #endregion
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,11 @@
 | 
			
		|||
fileFormatVersion: 2
 | 
			
		||||
guid: 08316b88882678c478f093087890cb74
 | 
			
		||||
MonoImporter:
 | 
			
		||||
  externalObjects: {}
 | 
			
		||||
  serializedVersion: 2
 | 
			
		||||
  defaultReferences: []
 | 
			
		||||
  executionOrder: 0
 | 
			
		||||
  icon: {instanceID: 0}
 | 
			
		||||
  userData: 
 | 
			
		||||
  assetBundleName: 
 | 
			
		||||
  assetBundleVariant: 
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,146 @@
 | 
			
		|||
using UnityEngine;
 | 
			
		||||
 | 
			
		||||
#if false || EPO_DOTWEEN // MODULE_MARKER
 | 
			
		||||
 | 
			
		||||
using EPOOutline;
 | 
			
		||||
using DG.Tweening.Plugins.Options;
 | 
			
		||||
using DG.Tweening;
 | 
			
		||||
using DG.Tweening.Core;
 | 
			
		||||
 | 
			
		||||
namespace DG.Tweening
 | 
			
		||||
{
 | 
			
		||||
    public static class DOTweenModuleEPOOutline
 | 
			
		||||
    {
 | 
			
		||||
        public static int DOKill(this SerializedPass target, bool complete)
 | 
			
		||||
        {
 | 
			
		||||
            return DOTween.Kill(target, complete);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public static TweenerCore<float, float, FloatOptions> DOFloat(this SerializedPass target, string propertyName, float endValue, float duration)
 | 
			
		||||
        {
 | 
			
		||||
            var tweener = DOTween.To(() => target.GetFloat(propertyName), x => target.SetFloat(propertyName, x), endValue, duration);
 | 
			
		||||
            tweener.SetOptions(true).SetTarget(target);
 | 
			
		||||
            return tweener;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public static TweenerCore<Color, Color, ColorOptions> DOFade(this SerializedPass target, string propertyName, float endValue, float duration)
 | 
			
		||||
        {
 | 
			
		||||
            var tweener = DOTween.ToAlpha(() => target.GetColor(propertyName), x => target.SetColor(propertyName, x), endValue, duration);
 | 
			
		||||
            tweener.SetOptions(true).SetTarget(target);
 | 
			
		||||
            return tweener;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public static TweenerCore<Color, Color, ColorOptions> DOColor(this SerializedPass target, string propertyName, Color endValue, float duration)
 | 
			
		||||
        {
 | 
			
		||||
            var tweener = DOTween.To(() => target.GetColor(propertyName), x => target.SetColor(propertyName, x), endValue, duration);
 | 
			
		||||
            tweener.SetOptions(false).SetTarget(target);
 | 
			
		||||
            return tweener;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public static TweenerCore<Vector4, Vector4, VectorOptions> DOVector(this SerializedPass target, string propertyName, Vector4 endValue, float duration)
 | 
			
		||||
        {
 | 
			
		||||
            var tweener = DOTween.To(() => target.GetVector(propertyName), x => target.SetVector(propertyName, x), endValue, duration);
 | 
			
		||||
            tweener.SetOptions(false).SetTarget(target);
 | 
			
		||||
            return tweener;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public static TweenerCore<float, float, FloatOptions> DOFloat(this SerializedPass target, int propertyId, float endValue, float duration)
 | 
			
		||||
        {
 | 
			
		||||
            var tweener = DOTween.To(() => target.GetFloat(propertyId), x => target.SetFloat(propertyId, x), endValue, duration);
 | 
			
		||||
            tweener.SetOptions(true).SetTarget(target);
 | 
			
		||||
            return tweener;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public static TweenerCore<Color, Color, ColorOptions> DOFade(this SerializedPass target, int propertyId, float endValue, float duration)
 | 
			
		||||
        {
 | 
			
		||||
            var tweener = DOTween.ToAlpha(() => target.GetColor(propertyId), x => target.SetColor(propertyId, x), endValue, duration);
 | 
			
		||||
            tweener.SetOptions(true).SetTarget(target);
 | 
			
		||||
            return tweener;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public static TweenerCore<Color, Color, ColorOptions> DOColor(this SerializedPass target, int propertyId, Color endValue, float duration)
 | 
			
		||||
        {
 | 
			
		||||
            var tweener = DOTween.To(() => target.GetColor(propertyId), x => target.SetColor(propertyId, x), endValue, duration);
 | 
			
		||||
            tweener.SetOptions(false).SetTarget(target);
 | 
			
		||||
            return tweener;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public static TweenerCore<Vector4, Vector4, VectorOptions> DOVector(this SerializedPass target, int propertyId, Vector4 endValue, float duration)
 | 
			
		||||
        {
 | 
			
		||||
            var tweener = DOTween.To(() => target.GetVector(propertyId), x => target.SetVector(propertyId, x), endValue, duration);
 | 
			
		||||
            tweener.SetOptions(false).SetTarget(target);
 | 
			
		||||
            return tweener;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public static int DOKill(this Outlinable.OutlineProperties target, bool complete = false)
 | 
			
		||||
        {
 | 
			
		||||
            return DOTween.Kill(target, complete);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public static int DOKill(this Outliner target, bool complete = false)
 | 
			
		||||
        {
 | 
			
		||||
            return DOTween.Kill(target, complete);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Controls the alpha (transparency) of the outline
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public static TweenerCore<Color, Color, ColorOptions> DOFade(this Outlinable.OutlineProperties target, float endValue, float duration)
 | 
			
		||||
        {
 | 
			
		||||
            var tweener = DOTween.ToAlpha(() => target.Color, x => target.Color = x, endValue, duration);
 | 
			
		||||
            tweener.SetOptions(true).SetTarget(target);
 | 
			
		||||
            return tweener;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Controls the color of the outline
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public static TweenerCore<Color, Color, ColorOptions> DOColor(this Outlinable.OutlineProperties target, Color endValue, float duration)
 | 
			
		||||
        {
 | 
			
		||||
            var tweener = DOTween.To(() => target.Color, x => target.Color = x, endValue, duration);
 | 
			
		||||
            tweener.SetOptions(false).SetTarget(target);
 | 
			
		||||
            return tweener;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Controls the amount of blur applied to the outline
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public static TweenerCore<float, float, FloatOptions> DOBlurShift(this Outlinable.OutlineProperties target, float endValue, float duration, bool snapping = false)
 | 
			
		||||
        {
 | 
			
		||||
            var tweener = DOTween.To(() => target.BlurShift, x => target.BlurShift = x, endValue, duration);
 | 
			
		||||
            tweener.SetOptions(snapping).SetTarget(target);
 | 
			
		||||
            return tweener;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Controls the amount of blur applied to the outline
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public static TweenerCore<float, float, FloatOptions> DOBlurShift(this Outliner target, float endValue, float duration, bool snapping = false)
 | 
			
		||||
        {
 | 
			
		||||
            var tweener = DOTween.To(() => target.BlurShift, x => target.BlurShift = x, endValue, duration);
 | 
			
		||||
            tweener.SetOptions(snapping).SetTarget(target);
 | 
			
		||||
            return tweener;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Controls the amount of dilation applied to the outline
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public static TweenerCore<float, float, FloatOptions> DODilateShift(this Outlinable.OutlineProperties target, float endValue, float duration, bool snapping = false)
 | 
			
		||||
        {
 | 
			
		||||
            var tweener = DOTween.To(() => target.DilateShift, x => target.DilateShift = x, endValue, duration);
 | 
			
		||||
            tweener.SetOptions(snapping).SetTarget(target);
 | 
			
		||||
            return tweener;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Controls the amount of dilation applied to the outline
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public static TweenerCore<float, float, FloatOptions> DODilateShift(this Outliner target, float endValue, float duration, bool snapping = false)
 | 
			
		||||
        {
 | 
			
		||||
            var tweener = DOTween.To(() => target.DilateShift, x => target.DilateShift = x, endValue, duration);
 | 
			
		||||
            tweener.SetOptions(snapping).SetTarget(target);
 | 
			
		||||
            return tweener;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,11 @@
 | 
			
		|||
fileFormatVersion: 2
 | 
			
		||||
guid: 1ea379e2ae548dc4388fa2c5caad4de8
 | 
			
		||||
MonoImporter:
 | 
			
		||||
  externalObjects: {}
 | 
			
		||||
  serializedVersion: 2
 | 
			
		||||
  defaultReferences: []
 | 
			
		||||
  executionOrder: 0
 | 
			
		||||
  icon: {instanceID: 0}
 | 
			
		||||
  userData: 
 | 
			
		||||
  assetBundleName: 
 | 
			
		||||
  assetBundleVariant: 
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,216 @@
 | 
			
		|||
// Author: Daniele Giardini - http://www.demigiant.com
 | 
			
		||||
// Created: 2018/07/13
 | 
			
		||||
 | 
			
		||||
#if true // MODULE_MARKER
 | 
			
		||||
using System;
 | 
			
		||||
using DG.Tweening.Core;
 | 
			
		||||
using DG.Tweening.Core.Enums;
 | 
			
		||||
using DG.Tweening.Plugins;
 | 
			
		||||
using DG.Tweening.Plugins.Core.PathCore;
 | 
			
		||||
using DG.Tweening.Plugins.Options;
 | 
			
		||||
using UnityEngine;
 | 
			
		||||
 | 
			
		||||
#pragma warning disable 1591
 | 
			
		||||
namespace DG.Tweening
 | 
			
		||||
{
 | 
			
		||||
	public static class DOTweenModulePhysics
 | 
			
		||||
    {
 | 
			
		||||
        #region Shortcuts
 | 
			
		||||
 | 
			
		||||
        #region Rigidbody
 | 
			
		||||
 | 
			
		||||
        /// <summary>Tweens a Rigidbody's position to the given value.
 | 
			
		||||
        /// Also stores the rigidbody as the tween's target so it can be used for filtered operations</summary>
 | 
			
		||||
        /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
 | 
			
		||||
        /// <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
 | 
			
		||||
        public static TweenerCore<Vector3, Vector3, VectorOptions> DOMove(this Rigidbody target, Vector3 endValue, float duration, bool snapping = false)
 | 
			
		||||
        {
 | 
			
		||||
            TweenerCore<Vector3, Vector3, VectorOptions> t = DOTween.To(() => target.position, target.MovePosition, endValue, duration);
 | 
			
		||||
            t.SetOptions(snapping).SetTarget(target);
 | 
			
		||||
            return t;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>Tweens a Rigidbody's X position to the given value.
 | 
			
		||||
        /// Also stores the rigidbody as the tween's target so it can be used for filtered operations</summary>
 | 
			
		||||
        /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
 | 
			
		||||
        /// <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
 | 
			
		||||
        public static TweenerCore<Vector3, Vector3, VectorOptions> DOMoveX(this Rigidbody target, float endValue, float duration, bool snapping = false)
 | 
			
		||||
        {
 | 
			
		||||
            TweenerCore<Vector3, Vector3, VectorOptions> t = DOTween.To(() => target.position, target.MovePosition, new Vector3(endValue, 0, 0), duration);
 | 
			
		||||
            t.SetOptions(AxisConstraint.X, snapping).SetTarget(target);
 | 
			
		||||
            return t;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>Tweens a Rigidbody's Y position to the given value.
 | 
			
		||||
        /// Also stores the rigidbody as the tween's target so it can be used for filtered operations</summary>
 | 
			
		||||
        /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
 | 
			
		||||
        /// <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
 | 
			
		||||
        public static TweenerCore<Vector3, Vector3, VectorOptions> DOMoveY(this Rigidbody target, float endValue, float duration, bool snapping = false)
 | 
			
		||||
        {
 | 
			
		||||
            TweenerCore<Vector3, Vector3, VectorOptions> t = DOTween.To(() => target.position, target.MovePosition, new Vector3(0, endValue, 0), duration);
 | 
			
		||||
            t.SetOptions(AxisConstraint.Y, snapping).SetTarget(target);
 | 
			
		||||
            return t;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>Tweens a Rigidbody's Z position to the given value.
 | 
			
		||||
        /// Also stores the rigidbody as the tween's target so it can be used for filtered operations</summary>
 | 
			
		||||
        /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
 | 
			
		||||
        /// <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
 | 
			
		||||
        public static TweenerCore<Vector3, Vector3, VectorOptions> DOMoveZ(this Rigidbody target, float endValue, float duration, bool snapping = false)
 | 
			
		||||
        {
 | 
			
		||||
            TweenerCore<Vector3, Vector3, VectorOptions> t = DOTween.To(() => target.position, target.MovePosition, new Vector3(0, 0, endValue), duration);
 | 
			
		||||
            t.SetOptions(AxisConstraint.Z, snapping).SetTarget(target);
 | 
			
		||||
            return t;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>Tweens a Rigidbody's rotation to the given value.
 | 
			
		||||
        /// Also stores the rigidbody as the tween's target so it can be used for filtered operations</summary>
 | 
			
		||||
        /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
 | 
			
		||||
        /// <param name="mode">Rotation mode</param>
 | 
			
		||||
        public static TweenerCore<Quaternion, Vector3, QuaternionOptions> DORotate(this Rigidbody target, Vector3 endValue, float duration, RotateMode mode = RotateMode.Fast)
 | 
			
		||||
        {
 | 
			
		||||
            TweenerCore<Quaternion, Vector3, QuaternionOptions> t = DOTween.To(() => target.rotation, target.MoveRotation, endValue, duration);
 | 
			
		||||
            t.SetTarget(target);
 | 
			
		||||
            t.plugOptions.rotateMode = mode;
 | 
			
		||||
            return t;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>Tweens a Rigidbody's rotation so that it will look towards the given position.
 | 
			
		||||
        /// Also stores the rigidbody as the tween's target so it can be used for filtered operations</summary>
 | 
			
		||||
        /// <param name="towards">The position to look at</param><param name="duration">The duration of the tween</param>
 | 
			
		||||
        /// <param name="axisConstraint">Eventual axis constraint for the rotation</param>
 | 
			
		||||
        /// <param name="up">The vector that defines in which direction up is (default: Vector3.up)</param>
 | 
			
		||||
        public static TweenerCore<Quaternion, Vector3, QuaternionOptions> DOLookAt(this Rigidbody target, Vector3 towards, float duration, AxisConstraint axisConstraint = AxisConstraint.None, Vector3? up = null)
 | 
			
		||||
        {
 | 
			
		||||
            TweenerCore<Quaternion, Vector3, QuaternionOptions> t = DOTween.To(() => target.rotation, target.MoveRotation, towards, duration)
 | 
			
		||||
                .SetTarget(target).SetSpecialStartupMode(SpecialStartupMode.SetLookAt);
 | 
			
		||||
            t.plugOptions.axisConstraint = axisConstraint;
 | 
			
		||||
            t.plugOptions.up = (up == null) ? Vector3.up : (Vector3)up;
 | 
			
		||||
            return t;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        #region Special
 | 
			
		||||
 | 
			
		||||
        /// <summary>Tweens a Rigidbody's position to the given value, while also applying a jump effect along the Y axis.
 | 
			
		||||
        /// Returns a Sequence instead of a Tweener.
 | 
			
		||||
        /// Also stores the Rigidbody as the tween's target so it can be used for filtered operations</summary>
 | 
			
		||||
        /// <param name="endValue">The end value to reach</param>
 | 
			
		||||
        /// <param name="jumpPower">Power of the jump (the max height of the jump is represented by this plus the final Y offset)</param>
 | 
			
		||||
        /// <param name="numJumps">Total number of jumps</param>
 | 
			
		||||
        /// <param name="duration">The duration of the tween</param>
 | 
			
		||||
        /// <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
 | 
			
		||||
        public static Sequence DOJump(this Rigidbody target, Vector3 endValue, float jumpPower, int numJumps, float duration, bool snapping = false)
 | 
			
		||||
        {
 | 
			
		||||
            if (numJumps < 1) numJumps = 1;
 | 
			
		||||
            float startPosY = 0;
 | 
			
		||||
            float offsetY = -1;
 | 
			
		||||
            bool offsetYSet = false;
 | 
			
		||||
            Sequence s = DOTween.Sequence();
 | 
			
		||||
            Tween yTween = DOTween.To(() => target.position, target.MovePosition, new Vector3(0, jumpPower, 0), duration / (numJumps * 2))
 | 
			
		||||
                .SetOptions(AxisConstraint.Y, snapping).SetEase(Ease.OutQuad).SetRelative()
 | 
			
		||||
                .SetLoops(numJumps * 2, LoopType.Yoyo)
 | 
			
		||||
                .OnStart(() => startPosY = target.position.y);
 | 
			
		||||
            s.Append(DOTween.To(() => target.position, target.MovePosition, new Vector3(endValue.x, 0, 0), duration)
 | 
			
		||||
                    .SetOptions(AxisConstraint.X, snapping).SetEase(Ease.Linear)
 | 
			
		||||
                ).Join(DOTween.To(() => target.position, target.MovePosition, new Vector3(0, 0, endValue.z), duration)
 | 
			
		||||
                    .SetOptions(AxisConstraint.Z, snapping).SetEase(Ease.Linear)
 | 
			
		||||
                ).Join(yTween)
 | 
			
		||||
                .SetTarget(target).SetEase(DOTween.defaultEaseType);
 | 
			
		||||
            yTween.OnUpdate(() => {
 | 
			
		||||
                if (!offsetYSet) {
 | 
			
		||||
                    offsetYSet = true;
 | 
			
		||||
                    offsetY = s.isRelative ? endValue.y : endValue.y - startPosY;
 | 
			
		||||
                }
 | 
			
		||||
                Vector3 pos = target.position;
 | 
			
		||||
                pos.y += DOVirtual.EasedValue(0, offsetY, yTween.ElapsedPercentage(), Ease.OutQuad);
 | 
			
		||||
                target.MovePosition(pos);
 | 
			
		||||
            });
 | 
			
		||||
            return s;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>Tweens a Rigidbody's position through the given path waypoints, using the chosen path algorithm.
 | 
			
		||||
        /// Also stores the Rigidbody as the tween's target so it can be used for filtered operations.
 | 
			
		||||
        /// <para>NOTE: to tween a rigidbody correctly it should be set to kinematic at least while being tweened.</para>
 | 
			
		||||
        /// <para>BEWARE: doesn't work on Windows Phone store (waiting for Unity to fix their own bug).
 | 
			
		||||
        /// If you plan to publish there you should use a regular transform.DOPath.</para></summary>
 | 
			
		||||
        /// <param name="path">The waypoints to go through</param>
 | 
			
		||||
        /// <param name="duration">The duration of the tween</param>
 | 
			
		||||
        /// <param name="pathType">The type of path: Linear (straight path), CatmullRom (curved CatmullRom path) or CubicBezier (curved with control points)</param>
 | 
			
		||||
        /// <param name="pathMode">The path mode: 3D, side-scroller 2D, top-down 2D</param>
 | 
			
		||||
        /// <param name="resolution">The resolution of the path (useless in case of Linear paths): higher resolutions make for more detailed curved paths but are more expensive.
 | 
			
		||||
        /// Defaults to 10, but a value of 5 is usually enough if you don't have dramatic long curves between waypoints</param>
 | 
			
		||||
        /// <param name="gizmoColor">The color of the path (shown when gizmos are active in the Play panel and the tween is running)</param>
 | 
			
		||||
        public static TweenerCore<Vector3, Path, PathOptions> DOPath(
 | 
			
		||||
            this Rigidbody target, Vector3[] path, float duration, PathType pathType = PathType.Linear,
 | 
			
		||||
            PathMode pathMode = PathMode.Full3D, int resolution = 10, Color? gizmoColor = null
 | 
			
		||||
        )
 | 
			
		||||
        {
 | 
			
		||||
            if (resolution < 1) resolution = 1;
 | 
			
		||||
            TweenerCore<Vector3, Path, PathOptions> t = DOTween.To(PathPlugin.Get(), () => target.position, target.MovePosition, new Path(pathType, path, resolution, gizmoColor), duration)
 | 
			
		||||
                .SetTarget(target).SetUpdate(UpdateType.Fixed);
 | 
			
		||||
 | 
			
		||||
            t.plugOptions.isRigidbody = true;
 | 
			
		||||
            t.plugOptions.mode = pathMode;
 | 
			
		||||
            return t;
 | 
			
		||||
        }
 | 
			
		||||
        /// <summary>Tweens a Rigidbody's localPosition through the given path waypoints, using the chosen path algorithm.
 | 
			
		||||
        /// Also stores the Rigidbody as the tween's target so it can be used for filtered operations
 | 
			
		||||
        /// <para>NOTE: to tween a rigidbody correctly it should be set to kinematic at least while being tweened.</para>
 | 
			
		||||
        /// <para>BEWARE: doesn't work on Windows Phone store (waiting for Unity to fix their own bug).
 | 
			
		||||
        /// If you plan to publish there you should use a regular transform.DOLocalPath.</para></summary>
 | 
			
		||||
        /// <param name="path">The waypoint to go through</param>
 | 
			
		||||
        /// <param name="duration">The duration of the tween</param>
 | 
			
		||||
        /// <param name="pathType">The type of path: Linear (straight path), CatmullRom (curved CatmullRom path) or CubicBezier (curved with control points)</param>
 | 
			
		||||
        /// <param name="pathMode">The path mode: 3D, side-scroller 2D, top-down 2D</param>
 | 
			
		||||
        /// <param name="resolution">The resolution of the path: higher resolutions make for more detailed curved paths but are more expensive.
 | 
			
		||||
        /// Defaults to 10, but a value of 5 is usually enough if you don't have dramatic long curves between waypoints</param>
 | 
			
		||||
        /// <param name="gizmoColor">The color of the path (shown when gizmos are active in the Play panel and the tween is running)</param>
 | 
			
		||||
        public static TweenerCore<Vector3, Path, PathOptions> DOLocalPath(
 | 
			
		||||
            this Rigidbody target, Vector3[] path, float duration, PathType pathType = PathType.Linear,
 | 
			
		||||
            PathMode pathMode = PathMode.Full3D, int resolution = 10, Color? gizmoColor = null
 | 
			
		||||
        )
 | 
			
		||||
        {
 | 
			
		||||
            if (resolution < 1) resolution = 1;
 | 
			
		||||
            Transform trans = target.transform;
 | 
			
		||||
            TweenerCore<Vector3, Path, PathOptions> t = DOTween.To(PathPlugin.Get(), () => trans.localPosition, x => target.MovePosition(trans.parent == null ? x : trans.parent.TransformPoint(x)), new Path(pathType, path, resolution, gizmoColor), duration)
 | 
			
		||||
                .SetTarget(target).SetUpdate(UpdateType.Fixed);
 | 
			
		||||
 | 
			
		||||
            t.plugOptions.isRigidbody = true;
 | 
			
		||||
            t.plugOptions.mode = pathMode;
 | 
			
		||||
            t.plugOptions.useLocalPosition = true;
 | 
			
		||||
            return t;
 | 
			
		||||
        }
 | 
			
		||||
        // Used by path editor when creating the actual tween, so it can pass a pre-compiled path
 | 
			
		||||
        internal static TweenerCore<Vector3, Path, PathOptions> DOPath(
 | 
			
		||||
            this Rigidbody target, Path path, float duration, PathMode pathMode = PathMode.Full3D
 | 
			
		||||
        )
 | 
			
		||||
        {
 | 
			
		||||
            TweenerCore<Vector3, Path, PathOptions> t = DOTween.To(PathPlugin.Get(), () => target.position, target.MovePosition, path, duration)
 | 
			
		||||
                .SetTarget(target);
 | 
			
		||||
 | 
			
		||||
            t.plugOptions.isRigidbody = true;
 | 
			
		||||
            t.plugOptions.mode = pathMode;
 | 
			
		||||
            return t;
 | 
			
		||||
        }
 | 
			
		||||
        internal static TweenerCore<Vector3, Path, PathOptions> DOLocalPath(
 | 
			
		||||
            this Rigidbody target, Path path, float duration, PathMode pathMode = PathMode.Full3D
 | 
			
		||||
        )
 | 
			
		||||
        {
 | 
			
		||||
            Transform trans = target.transform;
 | 
			
		||||
            TweenerCore<Vector3, Path, PathOptions> t = DOTween.To(PathPlugin.Get(), () => trans.localPosition, x => target.MovePosition(trans.parent == null ? x : trans.parent.TransformPoint(x)), path, duration)
 | 
			
		||||
                .SetTarget(target);
 | 
			
		||||
 | 
			
		||||
            t.plugOptions.isRigidbody = true;
 | 
			
		||||
            t.plugOptions.mode = pathMode;
 | 
			
		||||
            t.plugOptions.useLocalPosition = true;
 | 
			
		||||
            return t;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        #endregion
 | 
			
		||||
 | 
			
		||||
        #endregion
 | 
			
		||||
 | 
			
		||||
        #endregion
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,11 @@
 | 
			
		|||
fileFormatVersion: 2
 | 
			
		||||
guid: 6686ce3275e2cdd4abbd5d5557cb249b
 | 
			
		||||
MonoImporter:
 | 
			
		||||
  externalObjects: {}
 | 
			
		||||
  serializedVersion: 2
 | 
			
		||||
  defaultReferences: []
 | 
			
		||||
  executionOrder: 0
 | 
			
		||||
  icon: {instanceID: 0}
 | 
			
		||||
  userData: 
 | 
			
		||||
  assetBundleName: 
 | 
			
		||||
  assetBundleVariant: 
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,193 @@
 | 
			
		|||
// Author: Daniele Giardini - http://www.demigiant.com
 | 
			
		||||
// Created: 2018/07/13
 | 
			
		||||
 | 
			
		||||
#if true // MODULE_MARKER
 | 
			
		||||
using System;
 | 
			
		||||
using DG.Tweening.Core;
 | 
			
		||||
using DG.Tweening.Plugins;
 | 
			
		||||
using DG.Tweening.Plugins.Core.PathCore;
 | 
			
		||||
using DG.Tweening.Plugins.Options;
 | 
			
		||||
using UnityEngine;
 | 
			
		||||
 | 
			
		||||
#pragma warning disable 1591
 | 
			
		||||
namespace DG.Tweening
 | 
			
		||||
{
 | 
			
		||||
	public static class DOTweenModulePhysics2D
 | 
			
		||||
    {
 | 
			
		||||
        #region Shortcuts
 | 
			
		||||
 | 
			
		||||
        #region Rigidbody2D Shortcuts
 | 
			
		||||
 | 
			
		||||
        /// <summary>Tweens a Rigidbody2D's position to the given value.
 | 
			
		||||
        /// Also stores the Rigidbody2D as the tween's target so it can be used for filtered operations</summary>
 | 
			
		||||
        /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
 | 
			
		||||
        /// <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
 | 
			
		||||
        public static TweenerCore<Vector2, Vector2, VectorOptions> DOMove(this Rigidbody2D target, Vector2 endValue, float duration, bool snapping = false)
 | 
			
		||||
        {
 | 
			
		||||
            TweenerCore<Vector2, Vector2, VectorOptions> t = DOTween.To(() => target.position, target.MovePosition, endValue, duration);
 | 
			
		||||
            t.SetOptions(snapping).SetTarget(target);
 | 
			
		||||
            return t;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>Tweens a Rigidbody2D's X position to the given value.
 | 
			
		||||
        /// Also stores the Rigidbody2D as the tween's target so it can be used for filtered operations</summary>
 | 
			
		||||
        /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
 | 
			
		||||
        /// <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
 | 
			
		||||
        public static TweenerCore<Vector2, Vector2, VectorOptions> DOMoveX(this Rigidbody2D target, float endValue, float duration, bool snapping = false)
 | 
			
		||||
        {
 | 
			
		||||
            TweenerCore<Vector2, Vector2, VectorOptions> t = DOTween.To(() => target.position, target.MovePosition, new Vector2(endValue, 0), duration);
 | 
			
		||||
            t.SetOptions(AxisConstraint.X, snapping).SetTarget(target);
 | 
			
		||||
            return t;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>Tweens a Rigidbody2D's Y position to the given value.
 | 
			
		||||
        /// Also stores the Rigidbody2D as the tween's target so it can be used for filtered operations</summary>
 | 
			
		||||
        /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
 | 
			
		||||
        /// <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
 | 
			
		||||
        public static TweenerCore<Vector2, Vector2, VectorOptions> DOMoveY(this Rigidbody2D target, float endValue, float duration, bool snapping = false)
 | 
			
		||||
        {
 | 
			
		||||
            TweenerCore<Vector2, Vector2, VectorOptions> t = DOTween.To(() => target.position, target.MovePosition, new Vector2(0, endValue), duration);
 | 
			
		||||
            t.SetOptions(AxisConstraint.Y, snapping).SetTarget(target);
 | 
			
		||||
            return t;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>Tweens a Rigidbody2D's rotation to the given value.
 | 
			
		||||
        /// Also stores the Rigidbody2D as the tween's target so it can be used for filtered operations</summary>
 | 
			
		||||
        /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
 | 
			
		||||
        public static TweenerCore<float, float, FloatOptions> DORotate(this Rigidbody2D target, float endValue, float duration)
 | 
			
		||||
        {
 | 
			
		||||
            TweenerCore<float, float, FloatOptions> t = DOTween.To(() => target.rotation, target.MoveRotation, endValue, duration);
 | 
			
		||||
            t.SetTarget(target);
 | 
			
		||||
            return t;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        #region Special
 | 
			
		||||
 | 
			
		||||
        /// <summary>Tweens a Rigidbody2D's position to the given value, while also applying a jump effect along the Y axis.
 | 
			
		||||
        /// Returns a Sequence instead of a Tweener.
 | 
			
		||||
        /// Also stores the Rigidbody2D as the tween's target so it can be used for filtered operations.
 | 
			
		||||
        /// <para>IMPORTANT: a rigidbody2D can't be animated in a jump arc using MovePosition, so the tween will directly set the position</para></summary>
 | 
			
		||||
        /// <param name="endValue">The end value to reach</param>
 | 
			
		||||
        /// <param name="jumpPower">Power of the jump (the max height of the jump is represented by this plus the final Y offset)</param>
 | 
			
		||||
        /// <param name="numJumps">Total number of jumps</param>
 | 
			
		||||
        /// <param name="duration">The duration of the tween</param>
 | 
			
		||||
        /// <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
 | 
			
		||||
        public static Sequence DOJump(this Rigidbody2D target, Vector2 endValue, float jumpPower, int numJumps, float duration, bool snapping = false)
 | 
			
		||||
        {
 | 
			
		||||
            if (numJumps < 1) numJumps = 1;
 | 
			
		||||
            float startPosY = 0;
 | 
			
		||||
            float offsetY = -1;
 | 
			
		||||
            bool offsetYSet = false;
 | 
			
		||||
            Sequence s = DOTween.Sequence();
 | 
			
		||||
            Tween yTween = DOTween.To(() => target.position, x => target.position = x, new Vector2(0, jumpPower), duration / (numJumps * 2))
 | 
			
		||||
                .SetOptions(AxisConstraint.Y, snapping).SetEase(Ease.OutQuad).SetRelative()
 | 
			
		||||
                .SetLoops(numJumps * 2, LoopType.Yoyo)
 | 
			
		||||
                .OnStart(() => startPosY = target.position.y);
 | 
			
		||||
            s.Append(DOTween.To(() => target.position, x => target.position = x, new Vector2(endValue.x, 0), duration)
 | 
			
		||||
                    .SetOptions(AxisConstraint.X, snapping).SetEase(Ease.Linear)
 | 
			
		||||
                ).Join(yTween)
 | 
			
		||||
                .SetTarget(target).SetEase(DOTween.defaultEaseType);
 | 
			
		||||
            yTween.OnUpdate(() => {
 | 
			
		||||
                if (!offsetYSet) {
 | 
			
		||||
                    offsetYSet = true;
 | 
			
		||||
                    offsetY = s.isRelative ? endValue.y : endValue.y - startPosY;
 | 
			
		||||
                }
 | 
			
		||||
                Vector3 pos = target.position;
 | 
			
		||||
                pos.y += DOVirtual.EasedValue(0, offsetY, yTween.ElapsedPercentage(), Ease.OutQuad);
 | 
			
		||||
                target.MovePosition(pos);
 | 
			
		||||
            });
 | 
			
		||||
            return s;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>Tweens a Rigidbody2D's position through the given path waypoints, using the chosen path algorithm.
 | 
			
		||||
        /// Also stores the Rigidbody2D as the tween's target so it can be used for filtered operations.
 | 
			
		||||
        /// <para>NOTE: to tween a Rigidbody2D correctly it should be set to kinematic at least while being tweened.</para>
 | 
			
		||||
        /// <para>BEWARE: doesn't work on Windows Phone store (waiting for Unity to fix their own bug).
 | 
			
		||||
        /// If you plan to publish there you should use a regular transform.DOPath.</para></summary>
 | 
			
		||||
        /// <param name="path">The waypoints to go through</param>
 | 
			
		||||
        /// <param name="duration">The duration of the tween</param>
 | 
			
		||||
        /// <param name="pathType">The type of path: Linear (straight path), CatmullRom (curved CatmullRom path) or CubicBezier (curved with control points)</param>
 | 
			
		||||
        /// <param name="pathMode">The path mode: 3D, side-scroller 2D, top-down 2D</param>
 | 
			
		||||
        /// <param name="resolution">The resolution of the path (useless in case of Linear paths): higher resolutions make for more detailed curved paths but are more expensive.
 | 
			
		||||
        /// Defaults to 10, but a value of 5 is usually enough if you don't have dramatic long curves between waypoints</param>
 | 
			
		||||
        /// <param name="gizmoColor">The color of the path (shown when gizmos are active in the Play panel and the tween is running)</param>
 | 
			
		||||
        public static TweenerCore<Vector3, Path, PathOptions> DOPath(
 | 
			
		||||
            this Rigidbody2D target, Vector2[] path, float duration, PathType pathType = PathType.Linear,
 | 
			
		||||
            PathMode pathMode = PathMode.Full3D, int resolution = 10, Color? gizmoColor = null
 | 
			
		||||
        )
 | 
			
		||||
        {
 | 
			
		||||
            if (resolution < 1) resolution = 1;
 | 
			
		||||
            int len = path.Length;
 | 
			
		||||
            Vector3[] path3D = new Vector3[len];
 | 
			
		||||
            for (int i = 0; i < len; ++i) path3D[i] = path[i];
 | 
			
		||||
            TweenerCore<Vector3, Path, PathOptions> t = DOTween.To(PathPlugin.Get(), () => target.position, x => target.MovePosition(x), new Path(pathType, path3D, resolution, gizmoColor), duration)
 | 
			
		||||
                .SetTarget(target).SetUpdate(UpdateType.Fixed);
 | 
			
		||||
 | 
			
		||||
            t.plugOptions.isRigidbody2D = true;
 | 
			
		||||
            t.plugOptions.mode = pathMode;
 | 
			
		||||
            return t;
 | 
			
		||||
        }
 | 
			
		||||
        /// <summary>Tweens a Rigidbody2D's localPosition through the given path waypoints, using the chosen path algorithm.
 | 
			
		||||
        /// Also stores the Rigidbody2D as the tween's target so it can be used for filtered operations
 | 
			
		||||
        /// <para>NOTE: to tween a Rigidbody2D correctly it should be set to kinematic at least while being tweened.</para>
 | 
			
		||||
        /// <para>BEWARE: doesn't work on Windows Phone store (waiting for Unity to fix their own bug).
 | 
			
		||||
        /// If you plan to publish there you should use a regular transform.DOLocalPath.</para></summary>
 | 
			
		||||
        /// <param name="path">The waypoint to go through</param>
 | 
			
		||||
        /// <param name="duration">The duration of the tween</param>
 | 
			
		||||
        /// <param name="pathType">The type of path: Linear (straight path), CatmullRom (curved CatmullRom path) or CubicBezier (curved with control points)</param>
 | 
			
		||||
        /// <param name="pathMode">The path mode: 3D, side-scroller 2D, top-down 2D</param>
 | 
			
		||||
        /// <param name="resolution">The resolution of the path: higher resolutions make for more detailed curved paths but are more expensive.
 | 
			
		||||
        /// Defaults to 10, but a value of 5 is usually enough if you don't have dramatic long curves between waypoints</param>
 | 
			
		||||
        /// <param name="gizmoColor">The color of the path (shown when gizmos are active in the Play panel and the tween is running)</param>
 | 
			
		||||
        public static TweenerCore<Vector3, Path, PathOptions> DOLocalPath(
 | 
			
		||||
            this Rigidbody2D target, Vector2[] path, float duration, PathType pathType = PathType.Linear,
 | 
			
		||||
            PathMode pathMode = PathMode.Full3D, int resolution = 10, Color? gizmoColor = null
 | 
			
		||||
        )
 | 
			
		||||
        {
 | 
			
		||||
            if (resolution < 1) resolution = 1;
 | 
			
		||||
            int len = path.Length;
 | 
			
		||||
            Vector3[] path3D = new Vector3[len];
 | 
			
		||||
            for (int i = 0; i < len; ++i) path3D[i] = path[i];
 | 
			
		||||
            Transform trans = target.transform;
 | 
			
		||||
            TweenerCore<Vector3, Path, PathOptions> t = DOTween.To(PathPlugin.Get(), () => trans.localPosition, x => target.MovePosition(trans.parent == null ? x : trans.parent.TransformPoint(x)), new Path(pathType, path3D, resolution, gizmoColor), duration)
 | 
			
		||||
                .SetTarget(target).SetUpdate(UpdateType.Fixed);
 | 
			
		||||
 | 
			
		||||
            t.plugOptions.isRigidbody2D = true;
 | 
			
		||||
            t.plugOptions.mode = pathMode;
 | 
			
		||||
            t.plugOptions.useLocalPosition = true;
 | 
			
		||||
            return t;
 | 
			
		||||
        }
 | 
			
		||||
        // Used by path editor when creating the actual tween, so it can pass a pre-compiled path
 | 
			
		||||
        internal static TweenerCore<Vector3, Path, PathOptions> DOPath(
 | 
			
		||||
            this Rigidbody2D target, Path path, float duration, PathMode pathMode = PathMode.Full3D
 | 
			
		||||
        )
 | 
			
		||||
        {
 | 
			
		||||
            TweenerCore<Vector3, Path, PathOptions> t = DOTween.To(PathPlugin.Get(), () => target.position, x => target.MovePosition(x), path, duration)
 | 
			
		||||
                .SetTarget(target);
 | 
			
		||||
 | 
			
		||||
            t.plugOptions.isRigidbody2D = true;
 | 
			
		||||
            t.plugOptions.mode = pathMode;
 | 
			
		||||
            return t;
 | 
			
		||||
        }
 | 
			
		||||
        internal static TweenerCore<Vector3, Path, PathOptions> DOLocalPath(
 | 
			
		||||
            this Rigidbody2D target, Path path, float duration, PathMode pathMode = PathMode.Full3D
 | 
			
		||||
        )
 | 
			
		||||
        {
 | 
			
		||||
            Transform trans = target.transform;
 | 
			
		||||
            TweenerCore<Vector3, Path, PathOptions> t = DOTween.To(PathPlugin.Get(), () => trans.localPosition, x => target.MovePosition(trans.parent == null ? x : trans.parent.TransformPoint(x)), path, duration)
 | 
			
		||||
                .SetTarget(target);
 | 
			
		||||
 | 
			
		||||
            t.plugOptions.isRigidbody2D = true;
 | 
			
		||||
            t.plugOptions.mode = pathMode;
 | 
			
		||||
            t.plugOptions.useLocalPosition = true;
 | 
			
		||||
            return t;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        #endregion
 | 
			
		||||
 | 
			
		||||
        #endregion
 | 
			
		||||
 | 
			
		||||
        #endregion
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,11 @@
 | 
			
		|||
fileFormatVersion: 2
 | 
			
		||||
guid: 545da64eeffb52a498ad13f6390274e9
 | 
			
		||||
MonoImporter:
 | 
			
		||||
  externalObjects: {}
 | 
			
		||||
  serializedVersion: 2
 | 
			
		||||
  defaultReferences: []
 | 
			
		||||
  executionOrder: 0
 | 
			
		||||
  icon: {instanceID: 0}
 | 
			
		||||
  userData: 
 | 
			
		||||
  assetBundleName: 
 | 
			
		||||
  assetBundleVariant: 
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,93 @@
 | 
			
		|||
// Author: Daniele Giardini - http://www.demigiant.com
 | 
			
		||||
// Created: 2018/07/13
 | 
			
		||||
 | 
			
		||||
#if true // MODULE_MARKER
 | 
			
		||||
using System;
 | 
			
		||||
using UnityEngine;
 | 
			
		||||
using DG.Tweening.Core;
 | 
			
		||||
using DG.Tweening.Plugins.Options;
 | 
			
		||||
 | 
			
		||||
#pragma warning disable 1591
 | 
			
		||||
namespace DG.Tweening
 | 
			
		||||
{
 | 
			
		||||
	public static class DOTweenModuleSprite
 | 
			
		||||
    {
 | 
			
		||||
        #region Shortcuts
 | 
			
		||||
 | 
			
		||||
        #region SpriteRenderer
 | 
			
		||||
 | 
			
		||||
        /// <summary>Tweens a SpriteRenderer's color to the given value.
 | 
			
		||||
        /// Also stores the spriteRenderer as the tween's target so it can be used for filtered operations</summary>
 | 
			
		||||
        /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
 | 
			
		||||
        public static TweenerCore<Color, Color, ColorOptions> DOColor(this SpriteRenderer target, Color endValue, float duration)
 | 
			
		||||
        {
 | 
			
		||||
            TweenerCore<Color, Color, ColorOptions> t = DOTween.To(() => target.color, x => target.color = x, endValue, duration);
 | 
			
		||||
            t.SetTarget(target);
 | 
			
		||||
            return t;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>Tweens a Material's alpha color to the given value.
 | 
			
		||||
        /// Also stores the spriteRenderer as the tween's target so it can be used for filtered operations</summary>
 | 
			
		||||
        /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
 | 
			
		||||
        public static TweenerCore<Color, Color, ColorOptions> DOFade(this SpriteRenderer target, float endValue, float duration)
 | 
			
		||||
        {
 | 
			
		||||
            TweenerCore<Color, Color, ColorOptions> t = DOTween.ToAlpha(() => target.color, x => target.color = x, endValue, duration);
 | 
			
		||||
            t.SetTarget(target);
 | 
			
		||||
            return t;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>Tweens a SpriteRenderer's color using the given gradient
 | 
			
		||||
        /// (NOTE 1: only uses the colors of the gradient, not the alphas - NOTE 2: creates a Sequence, not a Tweener).
 | 
			
		||||
        /// Also stores the image as the tween's target so it can be used for filtered operations</summary>
 | 
			
		||||
        /// <param name="gradient">The gradient to use</param><param name="duration">The duration of the tween</param>
 | 
			
		||||
        public static Sequence DOGradientColor(this SpriteRenderer target, Gradient gradient, float duration)
 | 
			
		||||
        {
 | 
			
		||||
            Sequence s = DOTween.Sequence();
 | 
			
		||||
            GradientColorKey[] colors = gradient.colorKeys;
 | 
			
		||||
            int len = colors.Length;
 | 
			
		||||
            for (int i = 0; i < len; ++i) {
 | 
			
		||||
                GradientColorKey c = colors[i];
 | 
			
		||||
                if (i == 0 && c.time <= 0) {
 | 
			
		||||
                    target.color = c.color;
 | 
			
		||||
                    continue;
 | 
			
		||||
                }
 | 
			
		||||
                float colorDuration = i == len - 1
 | 
			
		||||
                    ? duration - s.Duration(false) // Verifies that total duration is correct
 | 
			
		||||
                    : duration * (i == 0 ? c.time : c.time - colors[i - 1].time);
 | 
			
		||||
                s.Append(target.DOColor(c.color, colorDuration).SetEase(Ease.Linear));
 | 
			
		||||
            }
 | 
			
		||||
            s.SetTarget(target);
 | 
			
		||||
            return s;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        #endregion
 | 
			
		||||
 | 
			
		||||
        #region Blendables
 | 
			
		||||
 | 
			
		||||
        #region SpriteRenderer
 | 
			
		||||
 | 
			
		||||
        /// <summary>Tweens a SpriteRenderer's color to the given value,
 | 
			
		||||
        /// in a way that allows other DOBlendableColor tweens to work together on the same target,
 | 
			
		||||
        /// instead than fight each other as multiple DOColor would do.
 | 
			
		||||
        /// Also stores the SpriteRenderer as the tween's target so it can be used for filtered operations</summary>
 | 
			
		||||
        /// <param name="endValue">The value to tween to</param><param name="duration">The duration of the tween</param>
 | 
			
		||||
        public static Tweener DOBlendableColor(this SpriteRenderer target, Color endValue, float duration)
 | 
			
		||||
        {
 | 
			
		||||
            endValue = endValue - target.color;
 | 
			
		||||
            Color to = new Color(0, 0, 0, 0);
 | 
			
		||||
            return DOTween.To(() => to, x => {
 | 
			
		||||
                    Color diff = x - to;
 | 
			
		||||
                    to = x;
 | 
			
		||||
                    target.color += diff;
 | 
			
		||||
                }, endValue, duration)
 | 
			
		||||
                .Blendable().SetTarget(target);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        #endregion
 | 
			
		||||
 | 
			
		||||
        #endregion
 | 
			
		||||
 | 
			
		||||
        #endregion
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,11 @@
 | 
			
		|||
fileFormatVersion: 2
 | 
			
		||||
guid: cc99c247524e74c46a2036e5bc0b8b42
 | 
			
		||||
MonoImporter:
 | 
			
		||||
  externalObjects: {}
 | 
			
		||||
  serializedVersion: 2
 | 
			
		||||
  defaultReferences: []
 | 
			
		||||
  executionOrder: 0
 | 
			
		||||
  icon: {instanceID: 0}
 | 
			
		||||
  userData: 
 | 
			
		||||
  assetBundleName: 
 | 
			
		||||
  assetBundleVariant: 
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,662 @@
 | 
			
		|||
// Author: Daniele Giardini - http://www.demigiant.com
 | 
			
		||||
// Created: 2018/07/13
 | 
			
		||||
 | 
			
		||||
#if true // MODULE_MARKER
 | 
			
		||||
 | 
			
		||||
using System;
 | 
			
		||||
using System.Globalization;
 | 
			
		||||
using UnityEngine;
 | 
			
		||||
using UnityEngine.UI;
 | 
			
		||||
using DG.Tweening.Core;
 | 
			
		||||
using DG.Tweening.Core.Enums;
 | 
			
		||||
using DG.Tweening.Plugins;
 | 
			
		||||
using DG.Tweening.Plugins.Options;
 | 
			
		||||
using Outline = UnityEngine.UI.Outline;
 | 
			
		||||
using Text = UnityEngine.UI.Text;
 | 
			
		||||
 | 
			
		||||
#pragma warning disable 1591
 | 
			
		||||
namespace DG.Tweening
 | 
			
		||||
{
 | 
			
		||||
	public static class DOTweenModuleUI
 | 
			
		||||
    {
 | 
			
		||||
        #region Shortcuts
 | 
			
		||||
 | 
			
		||||
        #region CanvasGroup
 | 
			
		||||
 | 
			
		||||
        /// <summary>Tweens a CanvasGroup's alpha color to the given value.
 | 
			
		||||
        /// Also stores the canvasGroup as the tween's target so it can be used for filtered operations</summary>
 | 
			
		||||
        /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
 | 
			
		||||
        public static TweenerCore<float, float, FloatOptions> DOFade(this CanvasGroup target, float endValue, float duration)
 | 
			
		||||
        {
 | 
			
		||||
            TweenerCore<float, float, FloatOptions> t = DOTween.To(() => target.alpha, x => target.alpha = x, endValue, duration);
 | 
			
		||||
            t.SetTarget(target);
 | 
			
		||||
            return t;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        #endregion
 | 
			
		||||
 | 
			
		||||
        #region Graphic
 | 
			
		||||
 | 
			
		||||
        /// <summary>Tweens an Graphic's color to the given value.
 | 
			
		||||
        /// Also stores the image as the tween's target so it can be used for filtered operations</summary>
 | 
			
		||||
        /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
 | 
			
		||||
        public static TweenerCore<Color, Color, ColorOptions> DOColor(this Graphic target, Color endValue, float duration)
 | 
			
		||||
        {
 | 
			
		||||
            TweenerCore<Color, Color, ColorOptions> t = DOTween.To(() => target.color, x => target.color = x, endValue, duration);
 | 
			
		||||
            t.SetTarget(target);
 | 
			
		||||
            return t;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>Tweens an Graphic's alpha color to the given value.
 | 
			
		||||
        /// Also stores the image as the tween's target so it can be used for filtered operations</summary>
 | 
			
		||||
        /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
 | 
			
		||||
        public static TweenerCore<Color, Color, ColorOptions> DOFade(this Graphic target, float endValue, float duration)
 | 
			
		||||
        {
 | 
			
		||||
            TweenerCore<Color, Color, ColorOptions> t = DOTween.ToAlpha(() => target.color, x => target.color = x, endValue, duration);
 | 
			
		||||
            t.SetTarget(target);
 | 
			
		||||
            return t;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        #endregion
 | 
			
		||||
 | 
			
		||||
        #region Image
 | 
			
		||||
 | 
			
		||||
        /// <summary>Tweens an Image's color to the given value.
 | 
			
		||||
        /// Also stores the image as the tween's target so it can be used for filtered operations</summary>
 | 
			
		||||
        /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
 | 
			
		||||
        public static TweenerCore<Color, Color, ColorOptions> DOColor(this Image target, Color endValue, float duration)
 | 
			
		||||
        {
 | 
			
		||||
            TweenerCore<Color, Color, ColorOptions> t = DOTween.To(() => target.color, x => target.color = x, endValue, duration);
 | 
			
		||||
            t.SetTarget(target);
 | 
			
		||||
            return t;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>Tweens an Image's alpha color to the given value.
 | 
			
		||||
        /// Also stores the image as the tween's target so it can be used for filtered operations</summary>
 | 
			
		||||
        /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
 | 
			
		||||
        public static TweenerCore<Color, Color, ColorOptions> DOFade(this Image target, float endValue, float duration)
 | 
			
		||||
        {
 | 
			
		||||
            TweenerCore<Color, Color, ColorOptions> t = DOTween.ToAlpha(() => target.color, x => target.color = x, endValue, duration);
 | 
			
		||||
            t.SetTarget(target);
 | 
			
		||||
            return t;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>Tweens an Image's fillAmount to the given value.
 | 
			
		||||
        /// Also stores the image as the tween's target so it can be used for filtered operations</summary>
 | 
			
		||||
        /// <param name="endValue">The end value to reach (0 to 1)</param><param name="duration">The duration of the tween</param>
 | 
			
		||||
        public static TweenerCore<float, float, FloatOptions> DOFillAmount(this Image target, float endValue, float duration)
 | 
			
		||||
        {
 | 
			
		||||
            if (endValue > 1) endValue = 1;
 | 
			
		||||
            else if (endValue < 0) endValue = 0;
 | 
			
		||||
            TweenerCore<float, float, FloatOptions> t = DOTween.To(() => target.fillAmount, x => target.fillAmount = x, endValue, duration);
 | 
			
		||||
            t.SetTarget(target);
 | 
			
		||||
            return t;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>Tweens an Image's colors using the given gradient
 | 
			
		||||
        /// (NOTE 1: only uses the colors of the gradient, not the alphas - NOTE 2: creates a Sequence, not a Tweener).
 | 
			
		||||
        /// Also stores the image as the tween's target so it can be used for filtered operations</summary>
 | 
			
		||||
        /// <param name="gradient">The gradient to use</param><param name="duration">The duration of the tween</param>
 | 
			
		||||
        public static Sequence DOGradientColor(this Image target, Gradient gradient, float duration)
 | 
			
		||||
        {
 | 
			
		||||
            Sequence s = DOTween.Sequence();
 | 
			
		||||
            GradientColorKey[] colors = gradient.colorKeys;
 | 
			
		||||
            int len = colors.Length;
 | 
			
		||||
            for (int i = 0; i < len; ++i) {
 | 
			
		||||
                GradientColorKey c = colors[i];
 | 
			
		||||
                if (i == 0 && c.time <= 0) {
 | 
			
		||||
                    target.color = c.color;
 | 
			
		||||
                    continue;
 | 
			
		||||
                }
 | 
			
		||||
                float colorDuration = i == len - 1
 | 
			
		||||
                    ? duration - s.Duration(false) // Verifies that total duration is correct
 | 
			
		||||
                    : duration * (i == 0 ? c.time : c.time - colors[i - 1].time);
 | 
			
		||||
                s.Append(target.DOColor(c.color, colorDuration).SetEase(Ease.Linear));
 | 
			
		||||
            }
 | 
			
		||||
            s.SetTarget(target);
 | 
			
		||||
            return s;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        #endregion
 | 
			
		||||
 | 
			
		||||
        #region LayoutElement
 | 
			
		||||
 | 
			
		||||
        /// <summary>Tweens an LayoutElement's flexibleWidth/Height to the given value.
 | 
			
		||||
        /// Also stores the LayoutElement as the tween's target so it can be used for filtered operations</summary>
 | 
			
		||||
        /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
 | 
			
		||||
        /// <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
 | 
			
		||||
        public static TweenerCore<Vector2, Vector2, VectorOptions> DOFlexibleSize(this LayoutElement target, Vector2 endValue, float duration, bool snapping = false)
 | 
			
		||||
        {
 | 
			
		||||
            TweenerCore<Vector2, Vector2, VectorOptions> t = DOTween.To(() => new Vector2(target.flexibleWidth, target.flexibleHeight), x => {
 | 
			
		||||
                    target.flexibleWidth = x.x;
 | 
			
		||||
                    target.flexibleHeight = x.y;
 | 
			
		||||
                }, endValue, duration);
 | 
			
		||||
            t.SetOptions(snapping).SetTarget(target);
 | 
			
		||||
            return t;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>Tweens an LayoutElement's minWidth/Height to the given value.
 | 
			
		||||
        /// Also stores the LayoutElement as the tween's target so it can be used for filtered operations</summary>
 | 
			
		||||
        /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
 | 
			
		||||
        /// <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
 | 
			
		||||
        public static TweenerCore<Vector2, Vector2, VectorOptions> DOMinSize(this LayoutElement target, Vector2 endValue, float duration, bool snapping = false)
 | 
			
		||||
        {
 | 
			
		||||
            TweenerCore<Vector2, Vector2, VectorOptions> t = DOTween.To(() => new Vector2(target.minWidth, target.minHeight), x => {
 | 
			
		||||
                target.minWidth = x.x;
 | 
			
		||||
                target.minHeight = x.y;
 | 
			
		||||
            }, endValue, duration);
 | 
			
		||||
            t.SetOptions(snapping).SetTarget(target);
 | 
			
		||||
            return t;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>Tweens an LayoutElement's preferredWidth/Height to the given value.
 | 
			
		||||
        /// Also stores the LayoutElement as the tween's target so it can be used for filtered operations</summary>
 | 
			
		||||
        /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
 | 
			
		||||
        /// <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
 | 
			
		||||
        public static TweenerCore<Vector2, Vector2, VectorOptions> DOPreferredSize(this LayoutElement target, Vector2 endValue, float duration, bool snapping = false)
 | 
			
		||||
        {
 | 
			
		||||
            TweenerCore<Vector2, Vector2, VectorOptions> t = DOTween.To(() => new Vector2(target.preferredWidth, target.preferredHeight), x => {
 | 
			
		||||
                target.preferredWidth = x.x;
 | 
			
		||||
                target.preferredHeight = x.y;
 | 
			
		||||
            }, endValue, duration);
 | 
			
		||||
            t.SetOptions(snapping).SetTarget(target);
 | 
			
		||||
            return t;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        #endregion
 | 
			
		||||
 | 
			
		||||
        #region Outline
 | 
			
		||||
 | 
			
		||||
        /// <summary>Tweens a Outline's effectColor to the given value.
 | 
			
		||||
        /// Also stores the Outline as the tween's target so it can be used for filtered operations</summary>
 | 
			
		||||
        /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
 | 
			
		||||
        public static TweenerCore<Color, Color, ColorOptions> DOColor(this Outline target, Color endValue, float duration)
 | 
			
		||||
        {
 | 
			
		||||
            TweenerCore<Color, Color, ColorOptions> t = DOTween.To(() => target.effectColor, x => target.effectColor = x, endValue, duration);
 | 
			
		||||
            t.SetTarget(target);
 | 
			
		||||
            return t;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>Tweens a Outline's effectColor alpha to the given value.
 | 
			
		||||
        /// Also stores the Outline as the tween's target so it can be used for filtered operations</summary>
 | 
			
		||||
        /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
 | 
			
		||||
        public static TweenerCore<Color, Color, ColorOptions> DOFade(this Outline target, float endValue, float duration)
 | 
			
		||||
        {
 | 
			
		||||
            TweenerCore<Color, Color, ColorOptions> t = DOTween.ToAlpha(() => target.effectColor, x => target.effectColor = x, endValue, duration);
 | 
			
		||||
            t.SetTarget(target);
 | 
			
		||||
            return t;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>Tweens a Outline's effectDistance to the given value.
 | 
			
		||||
        /// Also stores the Outline as the tween's target so it can be used for filtered operations</summary>
 | 
			
		||||
        /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
 | 
			
		||||
        public static TweenerCore<Vector2, Vector2, VectorOptions> DOScale(this Outline target, Vector2 endValue, float duration)
 | 
			
		||||
        {
 | 
			
		||||
            TweenerCore<Vector2, Vector2, VectorOptions> t = DOTween.To(() => target.effectDistance, x => target.effectDistance = x, endValue, duration);
 | 
			
		||||
            t.SetTarget(target);
 | 
			
		||||
            return t;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        #endregion
 | 
			
		||||
 | 
			
		||||
        #region RectTransform
 | 
			
		||||
 | 
			
		||||
        /// <summary>Tweens a RectTransform's anchoredPosition to the given value.
 | 
			
		||||
        /// Also stores the RectTransform as the tween's target so it can be used for filtered operations</summary>
 | 
			
		||||
        /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
 | 
			
		||||
        /// <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
 | 
			
		||||
        public static TweenerCore<Vector2, Vector2, VectorOptions> DOAnchorPos(this RectTransform target, Vector2 endValue, float duration, bool snapping = false)
 | 
			
		||||
        {
 | 
			
		||||
            TweenerCore<Vector2, Vector2, VectorOptions> t = DOTween.To(() => target.anchoredPosition, x => target.anchoredPosition = x, endValue, duration);
 | 
			
		||||
            t.SetOptions(snapping).SetTarget(target);
 | 
			
		||||
            return t;
 | 
			
		||||
        }
 | 
			
		||||
        /// <summary>Tweens a RectTransform's anchoredPosition X to the given value.
 | 
			
		||||
        /// Also stores the RectTransform as the tween's target so it can be used for filtered operations</summary>
 | 
			
		||||
        /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
 | 
			
		||||
        /// <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
 | 
			
		||||
        public static TweenerCore<Vector2, Vector2, VectorOptions> DOAnchorPosX(this RectTransform target, float endValue, float duration, bool snapping = false)
 | 
			
		||||
        {
 | 
			
		||||
            TweenerCore<Vector2, Vector2, VectorOptions> t = DOTween.To(() => target.anchoredPosition, x => target.anchoredPosition = x, new Vector2(endValue, 0), duration);
 | 
			
		||||
            t.SetOptions(AxisConstraint.X, snapping).SetTarget(target);
 | 
			
		||||
            return t;
 | 
			
		||||
        }
 | 
			
		||||
        /// <summary>Tweens a RectTransform's anchoredPosition Y to the given value.
 | 
			
		||||
        /// Also stores the RectTransform as the tween's target so it can be used for filtered operations</summary>
 | 
			
		||||
        /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
 | 
			
		||||
        /// <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
 | 
			
		||||
        public static TweenerCore<Vector2, Vector2, VectorOptions> DOAnchorPosY(this RectTransform target, float endValue, float duration, bool snapping = false)
 | 
			
		||||
        {
 | 
			
		||||
            TweenerCore<Vector2, Vector2, VectorOptions> t = DOTween.To(() => target.anchoredPosition, x => target.anchoredPosition = x, new Vector2(0, endValue), duration);
 | 
			
		||||
            t.SetOptions(AxisConstraint.Y, snapping).SetTarget(target);
 | 
			
		||||
            return t;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>Tweens a RectTransform's anchoredPosition3D to the given value.
 | 
			
		||||
        /// Also stores the RectTransform as the tween's target so it can be used for filtered operations</summary>
 | 
			
		||||
        /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
 | 
			
		||||
        /// <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
 | 
			
		||||
        public static TweenerCore<Vector3, Vector3, VectorOptions> DOAnchorPos3D(this RectTransform target, Vector3 endValue, float duration, bool snapping = false)
 | 
			
		||||
        {
 | 
			
		||||
            TweenerCore<Vector3, Vector3, VectorOptions> t = DOTween.To(() => target.anchoredPosition3D, x => target.anchoredPosition3D = x, endValue, duration);
 | 
			
		||||
            t.SetOptions(snapping).SetTarget(target);
 | 
			
		||||
            return t;
 | 
			
		||||
        }
 | 
			
		||||
        /// <summary>Tweens a RectTransform's anchoredPosition3D X to the given value.
 | 
			
		||||
        /// Also stores the RectTransform as the tween's target so it can be used for filtered operations</summary>
 | 
			
		||||
        /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
 | 
			
		||||
        /// <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
 | 
			
		||||
        public static TweenerCore<Vector3, Vector3, VectorOptions> DOAnchorPos3DX(this RectTransform target, float endValue, float duration, bool snapping = false)
 | 
			
		||||
        {
 | 
			
		||||
            TweenerCore<Vector3, Vector3, VectorOptions> t = DOTween.To(() => target.anchoredPosition3D, x => target.anchoredPosition3D = x, new Vector3(endValue, 0, 0), duration);
 | 
			
		||||
            t.SetOptions(AxisConstraint.X, snapping).SetTarget(target);
 | 
			
		||||
            return t;
 | 
			
		||||
        }
 | 
			
		||||
        /// <summary>Tweens a RectTransform's anchoredPosition3D Y to the given value.
 | 
			
		||||
        /// Also stores the RectTransform as the tween's target so it can be used for filtered operations</summary>
 | 
			
		||||
        /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
 | 
			
		||||
        /// <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
 | 
			
		||||
        public static TweenerCore<Vector3, Vector3, VectorOptions> DOAnchorPos3DY(this RectTransform target, float endValue, float duration, bool snapping = false)
 | 
			
		||||
        {
 | 
			
		||||
            TweenerCore<Vector3, Vector3, VectorOptions> t = DOTween.To(() => target.anchoredPosition3D, x => target.anchoredPosition3D = x, new Vector3(0, endValue, 0), duration);
 | 
			
		||||
            t.SetOptions(AxisConstraint.Y, snapping).SetTarget(target);
 | 
			
		||||
            return t;
 | 
			
		||||
        }
 | 
			
		||||
        /// <summary>Tweens a RectTransform's anchoredPosition3D Z to the given value.
 | 
			
		||||
        /// Also stores the RectTransform as the tween's target so it can be used for filtered operations</summary>
 | 
			
		||||
        /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
 | 
			
		||||
        /// <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
 | 
			
		||||
        public static TweenerCore<Vector3, Vector3, VectorOptions> DOAnchorPos3DZ(this RectTransform target, float endValue, float duration, bool snapping = false)
 | 
			
		||||
        {
 | 
			
		||||
            TweenerCore<Vector3, Vector3, VectorOptions> t = DOTween.To(() => target.anchoredPosition3D, x => target.anchoredPosition3D = x, new Vector3(0, 0, endValue), duration);
 | 
			
		||||
            t.SetOptions(AxisConstraint.Z, snapping).SetTarget(target);
 | 
			
		||||
            return t;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>Tweens a RectTransform's anchorMax to the given value.
 | 
			
		||||
        /// Also stores the RectTransform as the tween's target so it can be used for filtered operations</summary>
 | 
			
		||||
        /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
 | 
			
		||||
        /// <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
 | 
			
		||||
        public static TweenerCore<Vector2, Vector2, VectorOptions> DOAnchorMax(this RectTransform target, Vector2 endValue, float duration, bool snapping = false)
 | 
			
		||||
        {
 | 
			
		||||
            TweenerCore<Vector2, Vector2, VectorOptions> t = DOTween.To(() => target.anchorMax, x => target.anchorMax = x, endValue, duration);
 | 
			
		||||
            t.SetOptions(snapping).SetTarget(target);
 | 
			
		||||
            return t;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>Tweens a RectTransform's anchorMin to the given value.
 | 
			
		||||
        /// Also stores the RectTransform as the tween's target so it can be used for filtered operations</summary>
 | 
			
		||||
        /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
 | 
			
		||||
        /// <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
 | 
			
		||||
        public static TweenerCore<Vector2, Vector2, VectorOptions> DOAnchorMin(this RectTransform target, Vector2 endValue, float duration, bool snapping = false)
 | 
			
		||||
        {
 | 
			
		||||
            TweenerCore<Vector2, Vector2, VectorOptions> t = DOTween.To(() => target.anchorMin, x => target.anchorMin = x, endValue, duration);
 | 
			
		||||
            t.SetOptions(snapping).SetTarget(target);
 | 
			
		||||
            return t;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>Tweens a RectTransform's pivot to the given value.
 | 
			
		||||
        /// Also stores the RectTransform as the tween's target so it can be used for filtered operations</summary>
 | 
			
		||||
        /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
 | 
			
		||||
        public static TweenerCore<Vector2, Vector2, VectorOptions> DOPivot(this RectTransform target, Vector2 endValue, float duration)
 | 
			
		||||
        {
 | 
			
		||||
            TweenerCore<Vector2, Vector2, VectorOptions> t = DOTween.To(() => target.pivot, x => target.pivot = x, endValue, duration);
 | 
			
		||||
            t.SetTarget(target);
 | 
			
		||||
            return t;
 | 
			
		||||
        }
 | 
			
		||||
        /// <summary>Tweens a RectTransform's pivot X to the given value.
 | 
			
		||||
        /// Also stores the RectTransform as the tween's target so it can be used for filtered operations</summary>
 | 
			
		||||
        /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
 | 
			
		||||
        public static TweenerCore<Vector2, Vector2, VectorOptions> DOPivotX(this RectTransform target, float endValue, float duration)
 | 
			
		||||
        {
 | 
			
		||||
            TweenerCore<Vector2, Vector2, VectorOptions> t = DOTween.To(() => target.pivot, x => target.pivot = x, new Vector2(endValue, 0), duration);
 | 
			
		||||
            t.SetOptions(AxisConstraint.X).SetTarget(target);
 | 
			
		||||
            return t;
 | 
			
		||||
        }
 | 
			
		||||
        /// <summary>Tweens a RectTransform's pivot Y to the given value.
 | 
			
		||||
        /// Also stores the RectTransform as the tween's target so it can be used for filtered operations</summary>
 | 
			
		||||
        /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
 | 
			
		||||
        public static TweenerCore<Vector2, Vector2, VectorOptions> DOPivotY(this RectTransform target, float endValue, float duration)
 | 
			
		||||
        {
 | 
			
		||||
            TweenerCore<Vector2, Vector2, VectorOptions> t = DOTween.To(() => target.pivot, x => target.pivot = x, new Vector2(0, endValue), duration);
 | 
			
		||||
            t.SetOptions(AxisConstraint.Y).SetTarget(target);
 | 
			
		||||
            return t;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>Tweens a RectTransform's sizeDelta to the given value.
 | 
			
		||||
        /// Also stores the RectTransform as the tween's target so it can be used for filtered operations</summary>
 | 
			
		||||
        /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
 | 
			
		||||
        /// <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
 | 
			
		||||
        public static TweenerCore<Vector2, Vector2, VectorOptions> DOSizeDelta(this RectTransform target, Vector2 endValue, float duration, bool snapping = false)
 | 
			
		||||
        {
 | 
			
		||||
            TweenerCore<Vector2, Vector2, VectorOptions> t = DOTween.To(() => target.sizeDelta, x => target.sizeDelta = x, endValue, duration);
 | 
			
		||||
            t.SetOptions(snapping).SetTarget(target);
 | 
			
		||||
            return t;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>Punches a RectTransform's anchoredPosition towards the given direction and then back to the starting one
 | 
			
		||||
        /// as if it was connected to the starting position via an elastic.
 | 
			
		||||
        /// Also stores the RectTransform as the tween's target so it can be used for filtered operations</summary>
 | 
			
		||||
        /// <param name="punch">The direction and strength of the punch (added to the RectTransform's current position)</param>
 | 
			
		||||
        /// <param name="duration">The duration of the tween</param>
 | 
			
		||||
        /// <param name="vibrato">Indicates how much will the punch vibrate</param>
 | 
			
		||||
        /// <param name="elasticity">Represents how much (0 to 1) the vector will go beyond the starting position when bouncing backwards.
 | 
			
		||||
        /// 1 creates a full oscillation between the punch direction and the opposite direction,
 | 
			
		||||
        /// while 0 oscillates only between the punch and the start position</param>
 | 
			
		||||
        /// <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
 | 
			
		||||
        public static Tweener DOPunchAnchorPos(this RectTransform target, Vector2 punch, float duration, int vibrato = 10, float elasticity = 1, bool snapping = false)
 | 
			
		||||
        {
 | 
			
		||||
            return DOTween.Punch(() => target.anchoredPosition, x => target.anchoredPosition = x, punch, duration, vibrato, elasticity)
 | 
			
		||||
                .SetTarget(target).SetOptions(snapping);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>Shakes a RectTransform's anchoredPosition with the given values.
 | 
			
		||||
        /// Also stores the RectTransform as the tween's target so it can be used for filtered operations</summary>
 | 
			
		||||
        /// <param name="duration">The duration of the tween</param>
 | 
			
		||||
        /// <param name="strength">The shake strength</param>
 | 
			
		||||
        /// <param name="vibrato">Indicates how much will the shake vibrate</param>
 | 
			
		||||
        /// <param name="randomness">Indicates how much the shake will be random (0 to 180 - values higher than 90 kind of suck, so beware). 
 | 
			
		||||
        /// Setting it to 0 will shake along a single direction.</param>
 | 
			
		||||
        /// <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
 | 
			
		||||
        /// <param name="fadeOut">If TRUE the shake will automatically fadeOut smoothly within the tween's duration, otherwise it will not</param>
 | 
			
		||||
        /// <param name="randomnessMode">Randomness mode</param>
 | 
			
		||||
        public static Tweener DOShakeAnchorPos(this RectTransform target, float duration, float strength = 100, int vibrato = 10, float randomness = 90, bool snapping = false, bool fadeOut = true, ShakeRandomnessMode randomnessMode = ShakeRandomnessMode.Full)
 | 
			
		||||
        {
 | 
			
		||||
            return DOTween.Shake(() => target.anchoredPosition, x => target.anchoredPosition = x, duration, strength, vibrato, randomness, true, fadeOut, randomnessMode)
 | 
			
		||||
                .SetTarget(target).SetSpecialStartupMode(SpecialStartupMode.SetShake).SetOptions(snapping);
 | 
			
		||||
        }
 | 
			
		||||
        /// <summary>Shakes a RectTransform's anchoredPosition with the given values.
 | 
			
		||||
        /// Also stores the RectTransform as the tween's target so it can be used for filtered operations</summary>
 | 
			
		||||
        /// <param name="duration">The duration of the tween</param>
 | 
			
		||||
        /// <param name="strength">The shake strength on each axis</param>
 | 
			
		||||
        /// <param name="vibrato">Indicates how much will the shake vibrate</param>
 | 
			
		||||
        /// <param name="randomness">Indicates how much the shake will be random (0 to 180 - values higher than 90 kind of suck, so beware). 
 | 
			
		||||
        /// Setting it to 0 will shake along a single direction.</param>
 | 
			
		||||
        /// <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
 | 
			
		||||
        /// <param name="fadeOut">If TRUE the shake will automatically fadeOut smoothly within the tween's duration, otherwise it will not</param>
 | 
			
		||||
        /// <param name="randomnessMode">Randomness mode</param>
 | 
			
		||||
        public static Tweener DOShakeAnchorPos(this RectTransform target, float duration, Vector2 strength, int vibrato = 10, float randomness = 90, bool snapping = false, bool fadeOut = true, ShakeRandomnessMode randomnessMode = ShakeRandomnessMode.Full)
 | 
			
		||||
        {
 | 
			
		||||
            return DOTween.Shake(() => target.anchoredPosition, x => target.anchoredPosition = x, duration, strength, vibrato, randomness, fadeOut, randomnessMode)
 | 
			
		||||
                .SetTarget(target).SetSpecialStartupMode(SpecialStartupMode.SetShake).SetOptions(snapping);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        #region Special
 | 
			
		||||
 | 
			
		||||
        /// <summary>Tweens a RectTransform's anchoredPosition to the given value, while also applying a jump effect along the Y axis.
 | 
			
		||||
        /// Returns a Sequence instead of a Tweener.
 | 
			
		||||
        /// Also stores the RectTransform as the tween's target so it can be used for filtered operations</summary>
 | 
			
		||||
        /// <param name="endValue">The end value to reach</param>
 | 
			
		||||
        /// <param name="jumpPower">Power of the jump (the max height of the jump is represented by this plus the final Y offset)</param>
 | 
			
		||||
        /// <param name="numJumps">Total number of jumps</param>
 | 
			
		||||
        /// <param name="duration">The duration of the tween</param>
 | 
			
		||||
        /// <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
 | 
			
		||||
        public static Sequence DOJumpAnchorPos(this RectTransform target, Vector2 endValue, float jumpPower, int numJumps, float duration, bool snapping = false)
 | 
			
		||||
        {
 | 
			
		||||
            if (numJumps < 1) numJumps = 1;
 | 
			
		||||
            float startPosY = 0;
 | 
			
		||||
            float offsetY = -1;
 | 
			
		||||
            bool offsetYSet = false;
 | 
			
		||||
 | 
			
		||||
            // Separate Y Tween so we can elaborate elapsedPercentage on that insted of on the Sequence
 | 
			
		||||
            // (in case users add a delay or other elements to the Sequence)
 | 
			
		||||
            Sequence s = DOTween.Sequence();
 | 
			
		||||
            Tween yTween = DOTween.To(() => target.anchoredPosition, x => target.anchoredPosition = x, new Vector2(0, jumpPower), duration / (numJumps * 2))
 | 
			
		||||
                .SetOptions(AxisConstraint.Y, snapping).SetEase(Ease.OutQuad).SetRelative()
 | 
			
		||||
                .SetLoops(numJumps * 2, LoopType.Yoyo)
 | 
			
		||||
                .OnStart(()=> startPosY = target.anchoredPosition.y);
 | 
			
		||||
            s.Append(DOTween.To(() => target.anchoredPosition, x => target.anchoredPosition = x, new Vector2(endValue.x, 0), duration)
 | 
			
		||||
                    .SetOptions(AxisConstraint.X, snapping).SetEase(Ease.Linear)
 | 
			
		||||
                ).Join(yTween)
 | 
			
		||||
                .SetTarget(target).SetEase(DOTween.defaultEaseType);
 | 
			
		||||
            s.OnUpdate(() => {
 | 
			
		||||
                if (!offsetYSet) {
 | 
			
		||||
                    offsetYSet = true;
 | 
			
		||||
                    offsetY = s.isRelative ? endValue.y : endValue.y - startPosY;
 | 
			
		||||
                }
 | 
			
		||||
                Vector2 pos = target.anchoredPosition;
 | 
			
		||||
                pos.y += DOVirtual.EasedValue(0, offsetY, s.ElapsedDirectionalPercentage(), Ease.OutQuad);
 | 
			
		||||
                target.anchoredPosition = pos;
 | 
			
		||||
            });
 | 
			
		||||
            return s;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        #endregion
 | 
			
		||||
 | 
			
		||||
        #endregion
 | 
			
		||||
 | 
			
		||||
        #region ScrollRect
 | 
			
		||||
 | 
			
		||||
        /// <summary>Tweens a ScrollRect's horizontal/verticalNormalizedPosition to the given value.
 | 
			
		||||
        /// Also stores the ScrollRect as the tween's target so it can be used for filtered operations</summary>
 | 
			
		||||
        /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
 | 
			
		||||
        /// <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
 | 
			
		||||
        public static Tweener DONormalizedPos(this ScrollRect target, Vector2 endValue, float duration, bool snapping = false)
 | 
			
		||||
        {
 | 
			
		||||
            return DOTween.To(() => new Vector2(target.horizontalNormalizedPosition, target.verticalNormalizedPosition),
 | 
			
		||||
                x => {
 | 
			
		||||
                    target.horizontalNormalizedPosition = x.x;
 | 
			
		||||
                    target.verticalNormalizedPosition = x.y;
 | 
			
		||||
                }, endValue, duration)
 | 
			
		||||
                .SetOptions(snapping).SetTarget(target);
 | 
			
		||||
        }
 | 
			
		||||
        /// <summary>Tweens a ScrollRect's horizontalNormalizedPosition to the given value.
 | 
			
		||||
        /// Also stores the ScrollRect as the tween's target so it can be used for filtered operations</summary>
 | 
			
		||||
        /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
 | 
			
		||||
        /// <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
 | 
			
		||||
        public static Tweener DOHorizontalNormalizedPos(this ScrollRect target, float endValue, float duration, bool snapping = false)
 | 
			
		||||
        {
 | 
			
		||||
            return DOTween.To(() => target.horizontalNormalizedPosition, x => target.horizontalNormalizedPosition = x, endValue, duration)
 | 
			
		||||
                .SetOptions(snapping).SetTarget(target);
 | 
			
		||||
        }
 | 
			
		||||
        /// <summary>Tweens a ScrollRect's verticalNormalizedPosition to the given value.
 | 
			
		||||
        /// Also stores the ScrollRect as the tween's target so it can be used for filtered operations</summary>
 | 
			
		||||
        /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
 | 
			
		||||
        /// <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
 | 
			
		||||
        public static Tweener DOVerticalNormalizedPos(this ScrollRect target, float endValue, float duration, bool snapping = false)
 | 
			
		||||
        {
 | 
			
		||||
            return DOTween.To(() => target.verticalNormalizedPosition, x => target.verticalNormalizedPosition = x, endValue, duration)
 | 
			
		||||
                .SetOptions(snapping).SetTarget(target);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        #endregion
 | 
			
		||||
 | 
			
		||||
        #region Slider
 | 
			
		||||
 | 
			
		||||
        /// <summary>Tweens a Slider's value to the given value.
 | 
			
		||||
        /// Also stores the Slider as the tween's target so it can be used for filtered operations</summary>
 | 
			
		||||
        /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
 | 
			
		||||
        /// <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
 | 
			
		||||
        public static TweenerCore<float, float, FloatOptions> DOValue(this Slider target, float endValue, float duration, bool snapping = false)
 | 
			
		||||
        {
 | 
			
		||||
            TweenerCore<float, float, FloatOptions> t = DOTween.To(() => target.value, x => target.value = x, endValue, duration);
 | 
			
		||||
            t.SetOptions(snapping).SetTarget(target);
 | 
			
		||||
            return t;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        #endregion
 | 
			
		||||
 | 
			
		||||
        #region Text
 | 
			
		||||
 | 
			
		||||
        /// <summary>Tweens a Text's color to the given value.
 | 
			
		||||
        /// Also stores the Text as the tween's target so it can be used for filtered operations</summary>
 | 
			
		||||
        /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
 | 
			
		||||
        public static TweenerCore<Color, Color, ColorOptions> DOColor(this Text target, Color endValue, float duration)
 | 
			
		||||
        {
 | 
			
		||||
            TweenerCore<Color, Color, ColorOptions> t = DOTween.To(() => target.color, x => target.color = x, endValue, duration);
 | 
			
		||||
            t.SetTarget(target);
 | 
			
		||||
            return t;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Tweens a Text's text from one integer to another, with options for thousands separators
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        /// <param name="fromValue">The value to start from</param>
 | 
			
		||||
        /// <param name="endValue">The end value to reach</param>
 | 
			
		||||
        /// <param name="duration">The duration of the tween</param>
 | 
			
		||||
        /// <param name="addThousandsSeparator">If TRUE (default) also adds thousands separators</param>
 | 
			
		||||
        /// <param name="culture">The <see cref="CultureInfo"/> to use (InvariantCulture if NULL)</param>
 | 
			
		||||
        public static TweenerCore<int, int, NoOptions> DOCounter(
 | 
			
		||||
            this Text target, int fromValue, int endValue, float duration, bool addThousandsSeparator = true, CultureInfo culture = null
 | 
			
		||||
        ){
 | 
			
		||||
            int v = fromValue;
 | 
			
		||||
            CultureInfo cInfo = !addThousandsSeparator ? null : culture ?? CultureInfo.InvariantCulture;
 | 
			
		||||
            TweenerCore<int, int, NoOptions> t = DOTween.To(() => v, x => {
 | 
			
		||||
                v = x;
 | 
			
		||||
                target.text = addThousandsSeparator
 | 
			
		||||
                    ? v.ToString("N0", cInfo)
 | 
			
		||||
                    : v.ToString();
 | 
			
		||||
            }, endValue, duration);
 | 
			
		||||
            t.SetTarget(target);
 | 
			
		||||
            return t;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>Tweens a Text's alpha color to the given value.
 | 
			
		||||
        /// Also stores the Text as the tween's target so it can be used for filtered operations</summary>
 | 
			
		||||
        /// <param name="endValue">The end value to reach</param><param name="duration">The duration of the tween</param>
 | 
			
		||||
        public static TweenerCore<Color, Color, ColorOptions> DOFade(this Text target, float endValue, float duration)
 | 
			
		||||
        {
 | 
			
		||||
            TweenerCore<Color, Color, ColorOptions> t = DOTween.ToAlpha(() => target.color, x => target.color = x, endValue, duration);
 | 
			
		||||
            t.SetTarget(target);
 | 
			
		||||
            return t;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>Tweens a Text's text to the given value.
 | 
			
		||||
        /// Also stores the Text as the tween's target so it can be used for filtered operations</summary>
 | 
			
		||||
        /// <param name="endValue">The end string to tween to</param><param name="duration">The duration of the tween</param>
 | 
			
		||||
        /// <param name="richTextEnabled">If TRUE (default), rich text will be interpreted correctly while animated,
 | 
			
		||||
        /// otherwise all tags will be considered as normal text</param>
 | 
			
		||||
        /// <param name="scrambleMode">The type of scramble mode to use, if any</param>
 | 
			
		||||
        /// <param name="scrambleChars">A string containing the characters to use for scrambling.
 | 
			
		||||
        /// Use as many characters as possible (minimum 10) because DOTween uses a fast scramble mode which gives better results with more characters.
 | 
			
		||||
        /// Leave it to NULL (default) to use default ones</param>
 | 
			
		||||
        public static TweenerCore<string, string, StringOptions> DOText(this Text target, string endValue, float duration, bool richTextEnabled = true, ScrambleMode scrambleMode = ScrambleMode.None, string scrambleChars = null)
 | 
			
		||||
        {
 | 
			
		||||
            if (endValue == null) {
 | 
			
		||||
                if (Debugger.logPriority > 0) Debugger.LogWarning("You can't pass a NULL string to DOText: an empty string will be used instead to avoid errors");
 | 
			
		||||
                endValue = "";
 | 
			
		||||
            }
 | 
			
		||||
            TweenerCore<string, string, StringOptions> t = DOTween.To(() => target.text, x => target.text = x, endValue, duration);
 | 
			
		||||
            t.SetOptions(richTextEnabled, scrambleMode, scrambleChars)
 | 
			
		||||
                .SetTarget(target);
 | 
			
		||||
            return t;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        #endregion
 | 
			
		||||
 | 
			
		||||
        #region Blendables
 | 
			
		||||
 | 
			
		||||
        #region Graphic
 | 
			
		||||
 | 
			
		||||
        /// <summary>Tweens a Graphic's color to the given value,
 | 
			
		||||
        /// in a way that allows other DOBlendableColor tweens to work together on the same target,
 | 
			
		||||
        /// instead than fight each other as multiple DOColor would do.
 | 
			
		||||
        /// Also stores the Graphic as the tween's target so it can be used for filtered operations</summary>
 | 
			
		||||
        /// <param name="endValue">The value to tween to</param><param name="duration">The duration of the tween</param>
 | 
			
		||||
        public static Tweener DOBlendableColor(this Graphic target, Color endValue, float duration)
 | 
			
		||||
        {
 | 
			
		||||
            endValue = endValue - target.color;
 | 
			
		||||
            Color to = new Color(0, 0, 0, 0);
 | 
			
		||||
            return DOTween.To(() => to, x => {
 | 
			
		||||
                Color diff = x - to;
 | 
			
		||||
                to = x;
 | 
			
		||||
                target.color += diff;
 | 
			
		||||
            }, endValue, duration)
 | 
			
		||||
                .Blendable().SetTarget(target);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        #endregion
 | 
			
		||||
 | 
			
		||||
        #region Image
 | 
			
		||||
 | 
			
		||||
        /// <summary>Tweens a Image's color to the given value,
 | 
			
		||||
        /// in a way that allows other DOBlendableColor tweens to work together on the same target,
 | 
			
		||||
        /// instead than fight each other as multiple DOColor would do.
 | 
			
		||||
        /// Also stores the Image as the tween's target so it can be used for filtered operations</summary>
 | 
			
		||||
        /// <param name="endValue">The value to tween to</param><param name="duration">The duration of the tween</param>
 | 
			
		||||
        public static Tweener DOBlendableColor(this Image target, Color endValue, float duration)
 | 
			
		||||
        {
 | 
			
		||||
            endValue = endValue - target.color;
 | 
			
		||||
            Color to = new Color(0, 0, 0, 0);
 | 
			
		||||
            return DOTween.To(() => to, x => {
 | 
			
		||||
                Color diff = x - to;
 | 
			
		||||
                to = x;
 | 
			
		||||
                target.color += diff;
 | 
			
		||||
            }, endValue, duration)
 | 
			
		||||
                .Blendable().SetTarget(target);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        #endregion
 | 
			
		||||
 | 
			
		||||
        #region Text
 | 
			
		||||
 | 
			
		||||
        /// <summary>Tweens a Text's color BY the given value,
 | 
			
		||||
        /// in a way that allows other DOBlendableColor tweens to work together on the same target,
 | 
			
		||||
        /// instead than fight each other as multiple DOColor would do.
 | 
			
		||||
        /// Also stores the Text as the tween's target so it can be used for filtered operations</summary>
 | 
			
		||||
        /// <param name="endValue">The value to tween to</param><param name="duration">The duration of the tween</param>
 | 
			
		||||
        public static Tweener DOBlendableColor(this Text target, Color endValue, float duration)
 | 
			
		||||
        {
 | 
			
		||||
            endValue = endValue - target.color;
 | 
			
		||||
            Color to = new Color(0, 0, 0, 0);
 | 
			
		||||
            return DOTween.To(() => to, x => {
 | 
			
		||||
                Color diff = x - to;
 | 
			
		||||
                to = x;
 | 
			
		||||
                target.color += diff;
 | 
			
		||||
            }, endValue, duration)
 | 
			
		||||
                .Blendable().SetTarget(target);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        #endregion
 | 
			
		||||
 | 
			
		||||
        #endregion
 | 
			
		||||
 | 
			
		||||
        #region Shapes
 | 
			
		||||
 | 
			
		||||
        /// <summary>Tweens a RectTransform's anchoredPosition so that it draws a circle around the given center.
 | 
			
		||||
        /// Also stores the RectTransform as the tween's target so it can be used for filtered operations.<para/>
 | 
			
		||||
        /// IMPORTANT: SetFrom(value) requires a <see cref="Vector2"/> instead of a float, where the X property represents the "from degrees value"</summary>
 | 
			
		||||
        /// <param name="center">Circle-center/pivot around which to rotate (in UI anchoredPosition coordinates)</param>
 | 
			
		||||
        /// <param name="endValueDegrees">The end value degrees to reach (to rotate counter-clockwise pass a negative value)</param>
 | 
			
		||||
        /// <param name="duration">The duration of the tween</param>
 | 
			
		||||
        /// <param name="relativeCenter">If TRUE the <see cref="center"/> coordinates will be considered as relative to the target's current anchoredPosition</param>
 | 
			
		||||
        /// <param name="snapping">If TRUE the tween will smoothly snap all values to integers</param>
 | 
			
		||||
        public static TweenerCore<Vector2, Vector2, CircleOptions> DOShapeCircle(
 | 
			
		||||
            this RectTransform target, Vector2 center, float endValueDegrees, float duration, bool relativeCenter = false, bool snapping = false
 | 
			
		||||
        )
 | 
			
		||||
        {
 | 
			
		||||
            TweenerCore<Vector2, Vector2, CircleOptions> t = DOTween.To(
 | 
			
		||||
                CirclePlugin.Get(), () => target.anchoredPosition, x => target.anchoredPosition = x, center, duration
 | 
			
		||||
            );
 | 
			
		||||
            t.SetOptions(endValueDegrees, relativeCenter, snapping).SetTarget(target);
 | 
			
		||||
            return t;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        #endregion
 | 
			
		||||
 | 
			
		||||
        #endregion
 | 
			
		||||
 | 
			
		||||
        // █████████████████████████████████████████████████████████████████████████████████████████████████████████████████████
 | 
			
		||||
        // ███ INTERNAL CLASSES ████████████████████████████████████████████████████████████████████████████████████████████████
 | 
			
		||||
        // █████████████████████████████████████████████████████████████████████████████████████████████████████████████████████
 | 
			
		||||
 | 
			
		||||
        public static class Utils
 | 
			
		||||
        {
 | 
			
		||||
            /// <summary>
 | 
			
		||||
            /// Converts the anchoredPosition of the first RectTransform to the second RectTransform,
 | 
			
		||||
            /// taking into consideration offset, anchors and pivot, and returns the new anchoredPosition
 | 
			
		||||
            /// </summary>
 | 
			
		||||
            public static Vector2 SwitchToRectTransform(RectTransform from, RectTransform to)
 | 
			
		||||
            {
 | 
			
		||||
                Vector2 localPoint;
 | 
			
		||||
                Vector2 fromPivotDerivedOffset = new Vector2(from.rect.width * 0.5f + from.rect.xMin, from.rect.height * 0.5f + from.rect.yMin);
 | 
			
		||||
                Vector2 screenP = RectTransformUtility.WorldToScreenPoint(null, from.position);
 | 
			
		||||
                screenP += fromPivotDerivedOffset;
 | 
			
		||||
                RectTransformUtility.ScreenPointToLocalPointInRectangle(to, screenP, null, out localPoint);
 | 
			
		||||
                Vector2 pivotDerivedOffset = new Vector2(to.rect.width * 0.5f + to.rect.xMin, to.rect.height * 0.5f + to.rect.yMin);
 | 
			
		||||
                return to.anchoredPosition + localPoint - pivotDerivedOffset;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,11 @@
 | 
			
		|||
fileFormatVersion: 2
 | 
			
		||||
guid: b3b53ff0082fc3e489adf16ee160d4f2
 | 
			
		||||
MonoImporter:
 | 
			
		||||
  externalObjects: {}
 | 
			
		||||
  serializedVersion: 2
 | 
			
		||||
  defaultReferences: []
 | 
			
		||||
  executionOrder: 0
 | 
			
		||||
  icon: {instanceID: 0}
 | 
			
		||||
  userData: 
 | 
			
		||||
  assetBundleName: 
 | 
			
		||||
  assetBundleVariant: 
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,389 @@
 | 
			
		|||
// Author: Daniele Giardini - http://www.demigiant.com
 | 
			
		||||
// Created: 2018/07/13
 | 
			
		||||
 | 
			
		||||
using System;
 | 
			
		||||
using UnityEngine;
 | 
			
		||||
using DG.Tweening.Core;
 | 
			
		||||
using DG.Tweening.Plugins.Options;
 | 
			
		||||
//#if UNITY_2018_1_OR_NEWER && (NET_4_6 || NET_STANDARD_2_0)
 | 
			
		||||
//using Task = System.Threading.Tasks.Task;
 | 
			
		||||
//#endif
 | 
			
		||||
 | 
			
		||||
#pragma warning disable 1591
 | 
			
		||||
namespace DG.Tweening
 | 
			
		||||
{
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    /// Shortcuts/functions that are not strictly related to specific Modules
 | 
			
		||||
    /// but are available only on some Unity versions
 | 
			
		||||
    /// </summary>
 | 
			
		||||
	public static class DOTweenModuleUnityVersion
 | 
			
		||||
    {
 | 
			
		||||
        #region Material
 | 
			
		||||
 | 
			
		||||
        /// <summary>Tweens a Material's color using the given gradient
 | 
			
		||||
        /// (NOTE 1: only uses the colors of the gradient, not the alphas - NOTE 2: creates a Sequence, not a Tweener).
 | 
			
		||||
        /// Also stores the image as the tween's target so it can be used for filtered operations</summary>
 | 
			
		||||
        /// <param name="gradient">The gradient to use</param><param name="duration">The duration of the tween</param>
 | 
			
		||||
        public static Sequence DOGradientColor(this Material target, Gradient gradient, float duration)
 | 
			
		||||
        {
 | 
			
		||||
            Sequence s = DOTween.Sequence();
 | 
			
		||||
            GradientColorKey[] colors = gradient.colorKeys;
 | 
			
		||||
            int len = colors.Length;
 | 
			
		||||
            for (int i = 0; i < len; ++i) {
 | 
			
		||||
                GradientColorKey c = colors[i];
 | 
			
		||||
                if (i == 0 && c.time <= 0) {
 | 
			
		||||
                    target.color = c.color;
 | 
			
		||||
                    continue;
 | 
			
		||||
                }
 | 
			
		||||
                float colorDuration = i == len - 1
 | 
			
		||||
                    ? duration - s.Duration(false) // Verifies that total duration is correct
 | 
			
		||||
                    : duration * (i == 0 ? c.time : c.time - colors[i - 1].time);
 | 
			
		||||
                s.Append(target.DOColor(c.color, colorDuration).SetEase(Ease.Linear));
 | 
			
		||||
            }
 | 
			
		||||
            s.SetTarget(target);
 | 
			
		||||
            return s;
 | 
			
		||||
        }
 | 
			
		||||
        /// <summary>Tweens a Material's named color property using the given gradient
 | 
			
		||||
        /// (NOTE 1: only uses the colors of the gradient, not the alphas - NOTE 2: creates a Sequence, not a Tweener).
 | 
			
		||||
        /// Also stores the image as the tween's target so it can be used for filtered operations</summary>
 | 
			
		||||
        /// <param name="gradient">The gradient to use</param>
 | 
			
		||||
        /// <param name="property">The name of the material property to tween (like _Tint or _SpecColor)</param>
 | 
			
		||||
        /// <param name="duration">The duration of the tween</param>
 | 
			
		||||
        public static Sequence DOGradientColor(this Material target, Gradient gradient, string property, float duration)
 | 
			
		||||
        {
 | 
			
		||||
            Sequence s = DOTween.Sequence();
 | 
			
		||||
            GradientColorKey[] colors = gradient.colorKeys;
 | 
			
		||||
            int len = colors.Length;
 | 
			
		||||
            for (int i = 0; i < len; ++i) {
 | 
			
		||||
                GradientColorKey c = colors[i];
 | 
			
		||||
                if (i == 0 && c.time <= 0) {
 | 
			
		||||
                    target.SetColor(property, c.color);
 | 
			
		||||
                    continue;
 | 
			
		||||
                }
 | 
			
		||||
                float colorDuration = i == len - 1
 | 
			
		||||
                    ? duration - s.Duration(false) // Verifies that total duration is correct
 | 
			
		||||
                    : duration * (i == 0 ? c.time : c.time - colors[i - 1].time);
 | 
			
		||||
                s.Append(target.DOColor(c.color, property, colorDuration).SetEase(Ease.Linear));
 | 
			
		||||
            }
 | 
			
		||||
            s.SetTarget(target);
 | 
			
		||||
            return s;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        #endregion
 | 
			
		||||
 | 
			
		||||
        #region CustomYieldInstructions
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Returns a <see cref="CustomYieldInstruction"/> that waits until the tween is killed or complete.
 | 
			
		||||
        /// It can be used inside a coroutine as a yield.
 | 
			
		||||
        /// <para>Example usage:</para><code>yield return myTween.WaitForCompletion(true);</code>
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public static CustomYieldInstruction WaitForCompletion(this Tween t, bool returnCustomYieldInstruction)
 | 
			
		||||
        {
 | 
			
		||||
            if (!t.active) {
 | 
			
		||||
                if (Debugger.logPriority > 0) Debugger.LogInvalidTween(t);
 | 
			
		||||
                return null;
 | 
			
		||||
            }
 | 
			
		||||
            return new DOTweenCYInstruction.WaitForCompletion(t);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Returns a <see cref="CustomYieldInstruction"/> that waits until the tween is killed or rewinded.
 | 
			
		||||
        /// It can be used inside a coroutine as a yield.
 | 
			
		||||
        /// <para>Example usage:</para><code>yield return myTween.WaitForRewind();</code>
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public static CustomYieldInstruction WaitForRewind(this Tween t, bool returnCustomYieldInstruction)
 | 
			
		||||
        {
 | 
			
		||||
            if (!t.active) {
 | 
			
		||||
                if (Debugger.logPriority > 0) Debugger.LogInvalidTween(t);
 | 
			
		||||
                return null;
 | 
			
		||||
            }
 | 
			
		||||
            return new DOTweenCYInstruction.WaitForRewind(t);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Returns a <see cref="CustomYieldInstruction"/> that waits until the tween is killed.
 | 
			
		||||
        /// It can be used inside a coroutine as a yield.
 | 
			
		||||
        /// <para>Example usage:</para><code>yield return myTween.WaitForKill();</code>
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public static CustomYieldInstruction WaitForKill(this Tween t, bool returnCustomYieldInstruction)
 | 
			
		||||
        {
 | 
			
		||||
            if (!t.active) {
 | 
			
		||||
                if (Debugger.logPriority > 0) Debugger.LogInvalidTween(t);
 | 
			
		||||
                return null;
 | 
			
		||||
            }
 | 
			
		||||
            return new DOTweenCYInstruction.WaitForKill(t);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Returns a <see cref="CustomYieldInstruction"/> that waits until the tween is killed or has gone through the given amount of loops.
 | 
			
		||||
        /// It can be used inside a coroutine as a yield.
 | 
			
		||||
        /// <para>Example usage:</para><code>yield return myTween.WaitForElapsedLoops(2);</code>
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        /// <param name="elapsedLoops">Elapsed loops to wait for</param>
 | 
			
		||||
        public static CustomYieldInstruction WaitForElapsedLoops(this Tween t, int elapsedLoops, bool returnCustomYieldInstruction)
 | 
			
		||||
        {
 | 
			
		||||
            if (!t.active) {
 | 
			
		||||
                if (Debugger.logPriority > 0) Debugger.LogInvalidTween(t);
 | 
			
		||||
                return null;
 | 
			
		||||
            }
 | 
			
		||||
            return new DOTweenCYInstruction.WaitForElapsedLoops(t, elapsedLoops);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Returns a <see cref="CustomYieldInstruction"/> that waits until the tween is killed
 | 
			
		||||
        /// or has reached the given time position (loops included, delays excluded).
 | 
			
		||||
        /// It can be used inside a coroutine as a yield.
 | 
			
		||||
        /// <para>Example usage:</para><code>yield return myTween.WaitForPosition(2.5f);</code>
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        /// <param name="position">Position (loops included, delays excluded) to wait for</param>
 | 
			
		||||
        public static CustomYieldInstruction WaitForPosition(this Tween t, float position, bool returnCustomYieldInstruction)
 | 
			
		||||
        {
 | 
			
		||||
            if (!t.active) {
 | 
			
		||||
                if (Debugger.logPriority > 0) Debugger.LogInvalidTween(t);
 | 
			
		||||
                return null;
 | 
			
		||||
            }
 | 
			
		||||
            return new DOTweenCYInstruction.WaitForPosition(t, position);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Returns a <see cref="CustomYieldInstruction"/> that waits until the tween is killed or started
 | 
			
		||||
        /// (meaning when the tween is set in a playing state the first time, after any eventual delay).
 | 
			
		||||
        /// It can be used inside a coroutine as a yield.
 | 
			
		||||
        /// <para>Example usage:</para><code>yield return myTween.WaitForStart();</code>
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public static CustomYieldInstruction WaitForStart(this Tween t, bool returnCustomYieldInstruction)
 | 
			
		||||
        {
 | 
			
		||||
            if (!t.active) {
 | 
			
		||||
                if (Debugger.logPriority > 0) Debugger.LogInvalidTween(t);
 | 
			
		||||
                return null;
 | 
			
		||||
            }
 | 
			
		||||
            return new DOTweenCYInstruction.WaitForStart(t);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        #endregion
 | 
			
		||||
 | 
			
		||||
#if UNITY_2018_1_OR_NEWER
 | 
			
		||||
        #region Unity 2018.1 or Newer
 | 
			
		||||
 | 
			
		||||
        #region Material
 | 
			
		||||
 | 
			
		||||
        /// <summary>Tweens a Material's named texture offset property with the given ID to the given value.
 | 
			
		||||
        /// Also stores the material as the tween's target so it can be used for filtered operations</summary>
 | 
			
		||||
        /// <param name="endValue">The end value to reach</param>
 | 
			
		||||
        /// <param name="propertyID">The ID of the material property to tween (also called nameID in Unity's manual)</param>
 | 
			
		||||
        /// <param name="duration">The duration of the tween</param>
 | 
			
		||||
        public static TweenerCore<Vector2, Vector2, VectorOptions> DOOffset(this Material target, Vector2 endValue, int propertyID, float duration)
 | 
			
		||||
        {
 | 
			
		||||
            if (!target.HasProperty(propertyID)) {
 | 
			
		||||
                if (Debugger.logPriority > 0) Debugger.LogMissingMaterialProperty(propertyID);
 | 
			
		||||
                return null;
 | 
			
		||||
            }
 | 
			
		||||
            TweenerCore<Vector2, Vector2, VectorOptions> t = DOTween.To(() => target.GetTextureOffset(propertyID), x => target.SetTextureOffset(propertyID, x), endValue, duration);
 | 
			
		||||
            t.SetTarget(target);
 | 
			
		||||
            return t;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>Tweens a Material's named texture scale property with the given ID to the given value.
 | 
			
		||||
        /// Also stores the material as the tween's target so it can be used for filtered operations</summary>
 | 
			
		||||
        /// <param name="endValue">The end value to reach</param>
 | 
			
		||||
        /// <param name="propertyID">The ID of the material property to tween (also called nameID in Unity's manual)</param>
 | 
			
		||||
        /// <param name="duration">The duration of the tween</param>
 | 
			
		||||
        public static TweenerCore<Vector2, Vector2, VectorOptions> DOTiling(this Material target, Vector2 endValue, int propertyID, float duration)
 | 
			
		||||
        {
 | 
			
		||||
            if (!target.HasProperty(propertyID)) {
 | 
			
		||||
                if (Debugger.logPriority > 0) Debugger.LogMissingMaterialProperty(propertyID);
 | 
			
		||||
                return null;
 | 
			
		||||
            }
 | 
			
		||||
            TweenerCore<Vector2, Vector2, VectorOptions> t = DOTween.To(() => target.GetTextureScale(propertyID), x => target.SetTextureScale(propertyID, x), endValue, duration);
 | 
			
		||||
            t.SetTarget(target);
 | 
			
		||||
            return t;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        #endregion
 | 
			
		||||
 | 
			
		||||
        #region .NET 4.6 or Newer
 | 
			
		||||
 | 
			
		||||
#if UNITY_2018_1_OR_NEWER && (NET_4_6 || NET_STANDARD_2_0)
 | 
			
		||||
 | 
			
		||||
        #region Async Instructions
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Returns an async <see cref="System.Threading.Tasks.Task"/> that waits until the tween is killed or complete.
 | 
			
		||||
        /// It can be used inside an async operation.
 | 
			
		||||
        /// <para>Example usage:</para><code>await myTween.WaitForCompletion();</code>
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public static async System.Threading.Tasks.Task AsyncWaitForCompletion(this Tween t)
 | 
			
		||||
        {
 | 
			
		||||
            if (!t.active) {
 | 
			
		||||
                if (Debugger.logPriority > 0) Debugger.LogInvalidTween(t);
 | 
			
		||||
                return;
 | 
			
		||||
            }
 | 
			
		||||
            while (t.active && !t.IsComplete()) await System.Threading.Tasks.Task.Yield();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Returns an async <see cref="System.Threading.Tasks.Task"/> that waits until the tween is killed or rewinded.
 | 
			
		||||
        /// It can be used inside an async operation.
 | 
			
		||||
        /// <para>Example usage:</para><code>await myTween.AsyncWaitForRewind();</code>
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public static async System.Threading.Tasks.Task AsyncWaitForRewind(this Tween t)
 | 
			
		||||
        {
 | 
			
		||||
            if (!t.active) {
 | 
			
		||||
                if (Debugger.logPriority > 0) Debugger.LogInvalidTween(t);
 | 
			
		||||
                return;
 | 
			
		||||
            }
 | 
			
		||||
            while (t.active && (!t.playedOnce || t.position * (t.CompletedLoops() + 1) > 0)) await System.Threading.Tasks.Task.Yield();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Returns an async <see cref="System.Threading.Tasks.Task"/> that waits until the tween is killed.
 | 
			
		||||
        /// It can be used inside an async operation.
 | 
			
		||||
        /// <para>Example usage:</para><code>await myTween.AsyncWaitForKill();</code>
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public static async System.Threading.Tasks.Task AsyncWaitForKill(this Tween t)
 | 
			
		||||
        {
 | 
			
		||||
            if (!t.active) {
 | 
			
		||||
                if (Debugger.logPriority > 0) Debugger.LogInvalidTween(t);
 | 
			
		||||
                return;
 | 
			
		||||
            }
 | 
			
		||||
            while (t.active) await System.Threading.Tasks.Task.Yield();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Returns an async <see cref="System.Threading.Tasks.Task"/> that waits until the tween is killed or has gone through the given amount of loops.
 | 
			
		||||
        /// It can be used inside an async operation.
 | 
			
		||||
        /// <para>Example usage:</para><code>await myTween.AsyncWaitForElapsedLoops();</code>
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        /// <param name="elapsedLoops">Elapsed loops to wait for</param>
 | 
			
		||||
        public static async System.Threading.Tasks.Task AsyncWaitForElapsedLoops(this Tween t, int elapsedLoops)
 | 
			
		||||
        {
 | 
			
		||||
            if (!t.active) {
 | 
			
		||||
                if (Debugger.logPriority > 0) Debugger.LogInvalidTween(t);
 | 
			
		||||
                return;
 | 
			
		||||
            }
 | 
			
		||||
            while (t.active && t.CompletedLoops() < elapsedLoops) await System.Threading.Tasks.Task.Yield();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Returns an async <see cref="System.Threading.Tasks.Task"/> that waits until the tween is killed or started
 | 
			
		||||
        /// (meaning when the tween is set in a playing state the first time, after any eventual delay).
 | 
			
		||||
        /// It can be used inside an async operation.
 | 
			
		||||
        /// <para>Example usage:</para><code>await myTween.AsyncWaitForPosition();</code>
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        /// <param name="position">Position (loops included, delays excluded) to wait for</param>
 | 
			
		||||
        public static async System.Threading.Tasks.Task AsyncWaitForPosition(this Tween t, float position)
 | 
			
		||||
        {
 | 
			
		||||
            if (!t.active) {
 | 
			
		||||
                if (Debugger.logPriority > 0) Debugger.LogInvalidTween(t);
 | 
			
		||||
                return;
 | 
			
		||||
            }
 | 
			
		||||
            while (t.active && t.position * (t.CompletedLoops() + 1) < position) await System.Threading.Tasks.Task.Yield();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Returns an async <see cref="System.Threading.Tasks.Task"/> that waits until the tween is killed.
 | 
			
		||||
        /// It can be used inside an async operation.
 | 
			
		||||
        /// <para>Example usage:</para><code>await myTween.AsyncWaitForKill();</code>
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public static async System.Threading.Tasks.Task AsyncWaitForStart(this Tween t)
 | 
			
		||||
        {
 | 
			
		||||
            if (!t.active) {
 | 
			
		||||
                if (Debugger.logPriority > 0) Debugger.LogInvalidTween(t);
 | 
			
		||||
                return;
 | 
			
		||||
            }
 | 
			
		||||
            while (t.active && !t.playedOnce) await System.Threading.Tasks.Task.Yield();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        #endregion
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
        #endregion
 | 
			
		||||
 | 
			
		||||
        #endregion
 | 
			
		||||
#endif
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    // █████████████████████████████████████████████████████████████████████████████████████████████████████████████████████
 | 
			
		||||
    // ███ CLASSES █████████████████████████████████████████████████████████████████████████████████████████████████████████
 | 
			
		||||
    // █████████████████████████████████████████████████████████████████████████████████████████████████████████████████████
 | 
			
		||||
 | 
			
		||||
    public static class DOTweenCYInstruction
 | 
			
		||||
    {
 | 
			
		||||
        public class WaitForCompletion : CustomYieldInstruction
 | 
			
		||||
        {
 | 
			
		||||
            public override bool keepWaiting { get {
 | 
			
		||||
                return t.active && !t.IsComplete();
 | 
			
		||||
            }}
 | 
			
		||||
            readonly Tween t;
 | 
			
		||||
            public WaitForCompletion(Tween tween)
 | 
			
		||||
            {
 | 
			
		||||
                t = tween;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public class WaitForRewind : CustomYieldInstruction
 | 
			
		||||
        {
 | 
			
		||||
            public override bool keepWaiting { get {
 | 
			
		||||
                return t.active && (!t.playedOnce || t.position * (t.CompletedLoops() + 1) > 0);
 | 
			
		||||
            }}
 | 
			
		||||
            readonly Tween t;
 | 
			
		||||
            public WaitForRewind(Tween tween)
 | 
			
		||||
            {
 | 
			
		||||
                t = tween;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public class WaitForKill : CustomYieldInstruction
 | 
			
		||||
        {
 | 
			
		||||
            public override bool keepWaiting { get {
 | 
			
		||||
                return t.active;
 | 
			
		||||
            }}
 | 
			
		||||
            readonly Tween t;
 | 
			
		||||
            public WaitForKill(Tween tween)
 | 
			
		||||
            {
 | 
			
		||||
                t = tween;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public class WaitForElapsedLoops : CustomYieldInstruction
 | 
			
		||||
        {
 | 
			
		||||
            public override bool keepWaiting { get {
 | 
			
		||||
                return t.active && t.CompletedLoops() < elapsedLoops;
 | 
			
		||||
            }}
 | 
			
		||||
            readonly Tween t;
 | 
			
		||||
            readonly int elapsedLoops;
 | 
			
		||||
            public WaitForElapsedLoops(Tween tween, int elapsedLoops)
 | 
			
		||||
            {
 | 
			
		||||
                t = tween;
 | 
			
		||||
                this.elapsedLoops = elapsedLoops;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public class WaitForPosition : CustomYieldInstruction
 | 
			
		||||
        {
 | 
			
		||||
            public override bool keepWaiting { get {
 | 
			
		||||
                return t.active && t.position * (t.CompletedLoops() + 1) < position;
 | 
			
		||||
            }}
 | 
			
		||||
            readonly Tween t;
 | 
			
		||||
            readonly float position;
 | 
			
		||||
            public WaitForPosition(Tween tween, float position)
 | 
			
		||||
            {
 | 
			
		||||
                t = tween;
 | 
			
		||||
                this.position = position;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public class WaitForStart : CustomYieldInstruction
 | 
			
		||||
        {
 | 
			
		||||
            public override bool keepWaiting { get {
 | 
			
		||||
                return t.active && !t.playedOnce;
 | 
			
		||||
            }}
 | 
			
		||||
            readonly Tween t;
 | 
			
		||||
            public WaitForStart(Tween tween)
 | 
			
		||||
            {
 | 
			
		||||
                t = tween;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,11 @@
 | 
			
		|||
fileFormatVersion: 2
 | 
			
		||||
guid: 18d9445fb6655ae47ba1f4ea558de307
 | 
			
		||||
MonoImporter:
 | 
			
		||||
  externalObjects: {}
 | 
			
		||||
  serializedVersion: 2
 | 
			
		||||
  defaultReferences: []
 | 
			
		||||
  executionOrder: 0
 | 
			
		||||
  icon: {instanceID: 0}
 | 
			
		||||
  userData: 
 | 
			
		||||
  assetBundleName: 
 | 
			
		||||
  assetBundleVariant: 
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,167 @@
 | 
			
		|||
// Author: Daniele Giardini - http://www.demigiant.com
 | 
			
		||||
// Created: 2018/07/13
 | 
			
		||||
 | 
			
		||||
using System;
 | 
			
		||||
using System.Reflection;
 | 
			
		||||
using UnityEngine;
 | 
			
		||||
using DG.Tweening.Core;
 | 
			
		||||
using DG.Tweening.Plugins.Core.PathCore;
 | 
			
		||||
using DG.Tweening.Plugins.Options;
 | 
			
		||||
 | 
			
		||||
#pragma warning disable 1591
 | 
			
		||||
namespace DG.Tweening
 | 
			
		||||
{
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    /// Utility functions that deal with available Modules.
 | 
			
		||||
    /// Modules defines:
 | 
			
		||||
    /// - DOTAUDIO
 | 
			
		||||
    /// - DOTPHYSICS
 | 
			
		||||
    /// - DOTPHYSICS2D
 | 
			
		||||
    /// - DOTSPRITE
 | 
			
		||||
    /// - DOTUI
 | 
			
		||||
    /// Extra defines set and used for implementation of external assets:
 | 
			
		||||
    /// - DOTWEEN_TMP ► TextMesh Pro
 | 
			
		||||
    /// - DOTWEEN_TK2D ► 2D Toolkit
 | 
			
		||||
    /// </summary>
 | 
			
		||||
	public static class DOTweenModuleUtils
 | 
			
		||||
    {
 | 
			
		||||
        static bool _initialized;
 | 
			
		||||
 | 
			
		||||
        #region Reflection
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Called via Reflection by DOTweenComponent on Awake
 | 
			
		||||
        /// </summary>
 | 
			
		||||
#if UNITY_2018_1_OR_NEWER
 | 
			
		||||
        [UnityEngine.Scripting.Preserve]
 | 
			
		||||
#endif
 | 
			
		||||
        public static void Init()
 | 
			
		||||
        {
 | 
			
		||||
            if (_initialized) return;
 | 
			
		||||
 | 
			
		||||
            _initialized = true;
 | 
			
		||||
            DOTweenExternalCommand.SetOrientationOnPath += Physics.SetOrientationOnPath;
 | 
			
		||||
 | 
			
		||||
#if UNITY_EDITOR
 | 
			
		||||
#if UNITY_4_3 || UNITY_4_4 || UNITY_4_5 || UNITY_4_6 || UNITY_5 || UNITY_2017_1
 | 
			
		||||
            UnityEditor.EditorApplication.playmodeStateChanged += PlaymodeStateChanged;
 | 
			
		||||
#else
 | 
			
		||||
            UnityEditor.EditorApplication.playModeStateChanged += PlaymodeStateChanged;
 | 
			
		||||
#endif
 | 
			
		||||
#endif
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
#if UNITY_2018_1_OR_NEWER
 | 
			
		||||
#pragma warning disable
 | 
			
		||||
        [UnityEngine.Scripting.Preserve]
 | 
			
		||||
        // Just used to preserve methods when building, never called
 | 
			
		||||
        static void Preserver()
 | 
			
		||||
        {
 | 
			
		||||
            Assembly[] loadedAssemblies = AppDomain.CurrentDomain.GetAssemblies();
 | 
			
		||||
            MethodInfo mi = typeof(MonoBehaviour).GetMethod("Stub");
 | 
			
		||||
        }
 | 
			
		||||
#pragma warning restore
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
        #endregion
 | 
			
		||||
 | 
			
		||||
#if UNITY_EDITOR
 | 
			
		||||
        // Fires OnApplicationPause in DOTweenComponent even when Editor is paused (otherwise it's only fired at runtime)
 | 
			
		||||
#if UNITY_4_3 || UNITY_4_4 || UNITY_4_5 || UNITY_4_6 || UNITY_5 || UNITY_2017_1
 | 
			
		||||
        static void PlaymodeStateChanged()
 | 
			
		||||
        #else
 | 
			
		||||
        static void PlaymodeStateChanged(UnityEditor.PlayModeStateChange state)
 | 
			
		||||
#endif
 | 
			
		||||
        {
 | 
			
		||||
            if (DOTween.instance == null) return;
 | 
			
		||||
            DOTween.instance.OnApplicationPause(UnityEditor.EditorApplication.isPaused);
 | 
			
		||||
        }
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
        // █████████████████████████████████████████████████████████████████████████████████████████████████████████████████████
 | 
			
		||||
        // ███ INTERNAL CLASSES ████████████████████████████████████████████████████████████████████████████████████████████████
 | 
			
		||||
        // █████████████████████████████████████████████████████████████████████████████████████████████████████████████████████
 | 
			
		||||
 | 
			
		||||
        public static class Physics
 | 
			
		||||
        {
 | 
			
		||||
            // Called via DOTweenExternalCommand callback
 | 
			
		||||
            public static void SetOrientationOnPath(PathOptions options, Tween t, Quaternion newRot, Transform trans)
 | 
			
		||||
            {
 | 
			
		||||
#if true // PHYSICS_MARKER
 | 
			
		||||
                if (options.isRigidbody) ((Rigidbody)t.target).rotation = newRot;
 | 
			
		||||
                else trans.rotation = newRot;
 | 
			
		||||
#else
 | 
			
		||||
                trans.rotation = newRot;
 | 
			
		||||
#endif
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            // Returns FALSE if the DOTween's Physics2D Module is disabled, or if there's no Rigidbody2D attached
 | 
			
		||||
            public static bool HasRigidbody2D(Component target)
 | 
			
		||||
            {
 | 
			
		||||
#if true // PHYSICS2D_MARKER
 | 
			
		||||
                return target.GetComponent<Rigidbody2D>() != null;
 | 
			
		||||
#else
 | 
			
		||||
                return false;
 | 
			
		||||
#endif
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            #region Called via Reflection
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
            // Called via Reflection by DOTweenPathInspector
 | 
			
		||||
            // Returns FALSE if the DOTween's Physics Module is disabled, or if there's no rigidbody attached
 | 
			
		||||
#if UNITY_2018_1_OR_NEWER
 | 
			
		||||
            [UnityEngine.Scripting.Preserve]
 | 
			
		||||
#endif
 | 
			
		||||
            public static bool HasRigidbody(Component target)
 | 
			
		||||
            {
 | 
			
		||||
#if true // PHYSICS_MARKER
 | 
			
		||||
                return target.GetComponent<Rigidbody>() != null;
 | 
			
		||||
#else
 | 
			
		||||
                return false;
 | 
			
		||||
#endif
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            // Called via Reflection by DOTweenPath
 | 
			
		||||
#if UNITY_2018_1_OR_NEWER
 | 
			
		||||
            [UnityEngine.Scripting.Preserve]
 | 
			
		||||
#endif
 | 
			
		||||
            public static TweenerCore<Vector3, Path, PathOptions> CreateDOTweenPathTween(
 | 
			
		||||
                MonoBehaviour target, bool tweenRigidbody, bool isLocal, Path path, float duration, PathMode pathMode
 | 
			
		||||
            ){
 | 
			
		||||
                TweenerCore<Vector3, Path, PathOptions> t = null;
 | 
			
		||||
                bool rBodyFoundAndTweened = false;
 | 
			
		||||
#if true // PHYSICS_MARKER
 | 
			
		||||
                if (tweenRigidbody) {
 | 
			
		||||
                    Rigidbody rBody = target.GetComponent<Rigidbody>();
 | 
			
		||||
                    if (rBody != null) {
 | 
			
		||||
                        rBodyFoundAndTweened = true;
 | 
			
		||||
                        t = isLocal
 | 
			
		||||
                            ? rBody.DOLocalPath(path, duration, pathMode)
 | 
			
		||||
                            : rBody.DOPath(path, duration, pathMode);
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
#endif
 | 
			
		||||
#if true // PHYSICS2D_MARKER
 | 
			
		||||
                if (!rBodyFoundAndTweened && tweenRigidbody) {
 | 
			
		||||
                    Rigidbody2D rBody2D = target.GetComponent<Rigidbody2D>();
 | 
			
		||||
                    if (rBody2D != null) {
 | 
			
		||||
                        rBodyFoundAndTweened = true;
 | 
			
		||||
                        t = isLocal
 | 
			
		||||
                            ? rBody2D.DOLocalPath(path, duration, pathMode)
 | 
			
		||||
                            : rBody2D.DOPath(path, duration, pathMode);
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
#endif
 | 
			
		||||
                if (!rBodyFoundAndTweened) {
 | 
			
		||||
                    t = isLocal
 | 
			
		||||
                        ? target.transform.DOLocalPath(path, duration, pathMode)
 | 
			
		||||
                        : target.transform.DOPath(path, duration, pathMode);
 | 
			
		||||
                }
 | 
			
		||||
                return t;
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            #endregion
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,11 @@
 | 
			
		|||
fileFormatVersion: 2
 | 
			
		||||
guid: 3bdc077a2bdb5324dafe472d24497d33
 | 
			
		||||
MonoImporter:
 | 
			
		||||
  externalObjects: {}
 | 
			
		||||
  serializedVersion: 2
 | 
			
		||||
  defaultReferences: []
 | 
			
		||||
  executionOrder: 0
 | 
			
		||||
  icon: {instanceID: 0}
 | 
			
		||||
  userData: 
 | 
			
		||||
  assetBundleName: 
 | 
			
		||||
  assetBundleVariant: 
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,29 @@
 | 
			
		|||
DOTween and DOTween Pro are copyright (c) 2014-2018 Daniele Giardini - Demigiant
 | 
			
		||||
 | 
			
		||||
// IMPORTANT!!! /////////////////////////////////////////////
 | 
			
		||||
// Upgrading DOTween from versions older than 1.2.000 ///////
 | 
			
		||||
// (or DOTween Pro older than 1.0.000) //////////////////////
 | 
			
		||||
-------------------------------------------------------------
 | 
			
		||||
If you're upgrading your project from a version of DOTween older than 1.2.000 (or DOTween Pro older than 1.0.000) please follow these instructions carefully.
 | 
			
		||||
1) Import the new version in the same folder as the previous one, overwriting old files. A lot of errors will appear but don't worry
 | 
			
		||||
2) Close and reopen Unity (and your project). This is fundamental: skipping this step will cause a bloodbath
 | 
			
		||||
3) Open DOTween's Utility Panel (Tools > Demigiant > DOTween Utility Panel) if it doesn't open automatically, then press "Setup DOTween...": this will run the upgrade setup
 | 
			
		||||
4) From the Add/Remove Modules panel that opens, activate/deactivate Modules for Unity systems and for external assets (Pro version only)
 | 
			
		||||
 | 
			
		||||
// GET STARTED //////////////////////////////////////////////
 | 
			
		||||
 | 
			
		||||
- After importing a new DOTween update, select DOTween's Utility Panel from the "Tools/Demigiant" menu (if it doesn't open automatically) and press the "Setup DOTween..." button to activate/deactivate Modules. You can also access a Preferences Tab from there to choose default settings for DOTween.
 | 
			
		||||
- In your code, add "using DG.Tweening" to each class where you want to use DOTween.
 | 
			
		||||
- You're ready to tween. Check out the links below for full documentation and license info.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// LINKS ///////////////////////////////////////////////////////
 | 
			
		||||
 | 
			
		||||
DOTween website (documentation, examples, etc): http://dotween.demigiant.com
 | 
			
		||||
DOTween license: http://dotween.demigiant.com/license.php
 | 
			
		||||
DOTween repository (Google Code): https://code.google.com/p/dotween/
 | 
			
		||||
Demigiant website (documentation, examples, etc): http://www.demigiant.com
 | 
			
		||||
 | 
			
		||||
// NOTES //////////////////////////////////////////////////////
 | 
			
		||||
 | 
			
		||||
- DOTween's Utility Panel can be found under "Tools > Demigiant > DOTween Utility Panel" and also contains other useful options, plus a tab to set DOTween's preferences
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,7 @@
 | 
			
		|||
fileFormatVersion: 2
 | 
			
		||||
guid: 26cb44389b6669e479fed562495bc607
 | 
			
		||||
TextScriptImporter:
 | 
			
		||||
  externalObjects: {}
 | 
			
		||||
  userData: 
 | 
			
		||||
  assetBundleName: 
 | 
			
		||||
  assetBundleVariant: 
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,8 @@
 | 
			
		|||
fileFormatVersion: 2
 | 
			
		||||
guid: 243f80a5c0d856847861f959dddedf92
 | 
			
		||||
folderAsset: yes
 | 
			
		||||
DefaultImporter:
 | 
			
		||||
  externalObjects: {}
 | 
			
		||||
  userData: 
 | 
			
		||||
  assetBundleName: 
 | 
			
		||||
  assetBundleVariant: 
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,8 @@
 | 
			
		|||
fileFormatVersion: 2
 | 
			
		||||
guid: 40014b2f2f03fa64c9a7e8d03c8307f4
 | 
			
		||||
folderAsset: yes
 | 
			
		||||
DefaultImporter:
 | 
			
		||||
  externalObjects: {}
 | 
			
		||||
  userData: 
 | 
			
		||||
  assetBundleName: 
 | 
			
		||||
  assetBundleVariant: 
 | 
			
		||||
		Loading…
	
		Reference in New Issue