From f32507af9557c67b503f76d9ecde7c4119a7b338 Mon Sep 17 00:00:00 2001 From: Demigiant Date: Mon, 16 Jul 2018 12:13:20 +0200 Subject: [PATCH] Completed Module System usability (upgrade testing required) --- .../DOTween/Core/DOTweenComponent.cs | 8 +- _DOTween.Assembly/DOTween/Core/Utils.cs | 28 ++ .../DOTweenEditor/Core/EditorGUIUtils.cs | 12 +- .../DOTweenEditor/Core/EditorUtils.cs | 45 ++- .../DOTweenEditor/DOTweenEditor.csproj | 2 +- .../DOTweenEditor/DOTweenModulesSetupGUI.cs | 43 +-- .../DOTweenEditor/DOTweenSetup.cs | 224 ++++++++++++++ .../DOTweenEditor/DOTweenSetupMenuItem.cs | 195 ------------ .../DOTweenEditor/DOTweenUtilityWindow.cs | 113 ++++--- _DOTween.Assembly/bin/DOTween43.dll | Bin 9728 -> 0 bytes _DOTween.Assembly/bin/DOTween43.dll.mdb | Bin 1830 -> 0 bytes _DOTween.Assembly/bin/DOTween43.xml | 85 ------ _DOTween.Assembly/bin/DOTween46.dll | Bin 21504 -> 0 bytes _DOTween.Assembly/bin/DOTween46.dll.mdb | Bin 6364 -> 0 bytes _DOTween.Assembly/bin/DOTween46.xml | 279 ------------------ _DOTween.Assembly/bin/DOTween50.dll | Bin 7680 -> 0 bytes _DOTween.Assembly/bin/DOTween50.dll.mdb | Bin 1780 -> 0 bytes _DOTween.Assembly/bin/DOTween50.xml | 163 ---------- .../bin/Modules/DOTweenModuleAudio.cs | 2 +- .../bin/Modules/DOTweenModulePhysics2D.cs | 2 +- .../bin/Modules/DOTweenModuleSprite.cs | 2 +- .../bin/Modules/DOTweenModuleUI.cs | 2 +- .../bin/Modules/DOTweenModuleUnityVersion.cs | 6 +- 23 files changed, 409 insertions(+), 802 deletions(-) create mode 100644 _DOTween.Assembly/DOTweenEditor/DOTweenSetup.cs delete mode 100644 _DOTween.Assembly/DOTweenEditor/DOTweenSetupMenuItem.cs delete mode 100644 _DOTween.Assembly/bin/DOTween43.dll delete mode 100644 _DOTween.Assembly/bin/DOTween43.dll.mdb delete mode 100644 _DOTween.Assembly/bin/DOTween43.xml delete mode 100644 _DOTween.Assembly/bin/DOTween46.dll delete mode 100644 _DOTween.Assembly/bin/DOTween46.dll.mdb delete mode 100644 _DOTween.Assembly/bin/DOTween46.xml delete mode 100644 _DOTween.Assembly/bin/DOTween50.dll delete mode 100644 _DOTween.Assembly/bin/DOTween50.dll.mdb delete mode 100644 _DOTween.Assembly/bin/DOTween50.xml diff --git a/_DOTween.Assembly/DOTween/Core/DOTweenComponent.cs b/_DOTween.Assembly/DOTween/Core/DOTweenComponent.cs index 9665a2e..7d83471 100644 --- a/_DOTween.Assembly/DOTween/Core/DOTweenComponent.cs +++ b/_DOTween.Assembly/DOTween/Core/DOTweenComponent.cs @@ -35,8 +35,12 @@ namespace DG.Tweening.Core _unscaledTime = Time.realtimeSinceStartup; // Initialize DOTweenModuleUtils via Reflection - // TODO DOTweenModuleUtils.Init > verify that this works - MethodInfo mi = Type.GetType("DG.Tweening.DOTweenModuleUtils").GetMethod("Init", BindingFlags.Static | BindingFlags.Public); + Type modules = Utils.GetLooseScriptType("DG.Tweening.DOTweenModuleUtils"); + if (modules == null) { + Debug.LogError("DOTween ► Couldn't load Modules system"); + return; + } + MethodInfo mi = modules.GetMethod("Init", BindingFlags.Static | BindingFlags.Public); mi.Invoke(null, null); } diff --git a/_DOTween.Assembly/DOTween/Core/Utils.cs b/_DOTween.Assembly/DOTween/Core/Utils.cs index 1bc94db..e225613 100644 --- a/_DOTween.Assembly/DOTween/Core/Utils.cs +++ b/_DOTween.Assembly/DOTween/Core/Utils.cs @@ -4,12 +4,19 @@ // License Copyright (c) Daniele Giardini. // This work is subject to the terms at http://dotween.demigiant.com/license.php +using System; +using System.Reflection; using UnityEngine; namespace DG.Tweening.Core { internal static class Utils { + static Assembly[] _loadedAssemblies; + static readonly string[] _defAssembliesToQuery = new[] { // First assemblies to look into before checking all of them + "Assembly-CSharp", "Assembly-CSharp-firstpass" + }; + /// /// Returns a Vector3 with z = 0 /// @@ -44,6 +51,27 @@ namespace DG.Tweening.Core && Mathf.Approximately(a.z, b.z); } + /// + /// Looks for the type withing all possible project assembly names + /// + internal static Type GetLooseScriptType(string typeName) + { + // Check in default assemblies (Unity 2017 and later) + for (int i = 0; i < _defAssembliesToQuery.Length; ++i) { + Type result = Type.GetType(string.Format("{0}, {1}", typeName, _defAssembliesToQuery[i])); + if (result == null) continue; + return result; + } + // Check in all assemblies + if (_loadedAssemblies == null) _loadedAssemblies = AppDomain.CurrentDomain.GetAssemblies(); + for (int i = 0; i < _loadedAssemblies.Length; ++i) { + Type result = Type.GetType(string.Format("{0}, {1}", typeName, _loadedAssemblies[i].GetName())); + if (result == null) continue; + return result; + } + return null; + } + // █████████████████████████████████████████████████████████████████████████████████████████████████████████████████████ // ███ INTERNAL CLASSES ████████████████████████████████████████████████████████████████████████████████████████████████ // █████████████████████████████████████████████████████████████████████████████████████████████████████████████████████ diff --git a/_DOTween.Assembly/DOTweenEditor/Core/EditorGUIUtils.cs b/_DOTween.Assembly/DOTweenEditor/Core/EditorGUIUtils.cs index 679da62..60e1790 100644 --- a/_DOTween.Assembly/DOTweenEditor/Core/EditorGUIUtils.cs +++ b/_DOTween.Assembly/DOTweenEditor/Core/EditorGUIUtils.cs @@ -14,7 +14,8 @@ namespace DG.DOTweenEditor.Core public static GUIStyle boldLabelStyle, setupLabelStyle, redLabelStyle, - btStyle, + btBigStyle, + btSetup, btImgStyle, wrapCenterLabelStyle; public static GUIStyle handlelabelStyle, @@ -141,8 +142,13 @@ namespace DG.DOTweenEditor.Core wrapCenterLabelStyle.wordWrap = true; wrapCenterLabelStyle.alignment = TextAnchor.MiddleCenter; - btStyle = new GUIStyle(GUI.skin.button); - btStyle.padding = new RectOffset(0, 0, 10, 10); + btBigStyle = new GUIStyle(GUI.skin.button); + btBigStyle.padding = new RectOffset(0, 0, 10, 10); + + btSetup = new GUIStyle(btBigStyle); + btSetup.padding = new RectOffset(36, 36, 6, 6); + btSetup.wordWrap = true; + btSetup.richText = true; // diff --git a/_DOTween.Assembly/DOTweenEditor/Core/EditorUtils.cs b/_DOTween.Assembly/DOTweenEditor/Core/EditorUtils.cs index 0dd9f66..94a1948 100644 --- a/_DOTween.Assembly/DOTweenEditor/Core/EditorUtils.cs +++ b/_DOTween.Assembly/DOTweenEditor/Core/EditorUtils.cs @@ -81,12 +81,14 @@ namespace DG.DOTweenEditor.Core } /// - /// Returns TRUE if addons setup is required. + /// Returns TRUE if addons setup is required (legacy: now it always returns TRUE). /// public static bool DOTweenSetupRequired() { - if (!Directory.Exists(dotweenDir)) return false; // Can happen if we were deleting DOTween - return Directory.GetFiles(dotweenDir, "*.addon").Length > 0 || hasPro && Directory.GetFiles(dotweenProDir, "*.addon").Length > 0; + return false; + // Legacy method +// if (!Directory.Exists(dotweenDir)) return false; // Can happen if we were deleting DOTween +// return Directory.GetFiles(dotweenDir, "*.addon").Length > 0 || hasPro && Directory.GetFiles(dotweenProDir, "*.addon").Length > 0; } // Deletes the files used in older versions of DOTween where Modules still didn't exist @@ -246,17 +248,19 @@ namespace DG.DOTweenEditor.Core public static void AddGlobalDefine(string id) { bool added = false; + int totGroupsModified = 0; BuildTargetGroup[] targetGroups = (BuildTargetGroup[])Enum.GetValues(typeof(BuildTargetGroup)); foreach(BuildTargetGroup btg in targetGroups) { - if (btg == BuildTargetGroup.Unknown) continue; + if (!IsValidBuildTargetGroup(btg)) continue; string defs = PlayerSettings.GetScriptingDefineSymbolsForGroup(btg); string[] singleDefs = defs.Split(';'); if (Array.IndexOf(singleDefs, id) != -1) continue; // Already present added = true; + totGroupsModified++; defs += defs.Length > 0 ? ";" + id : id; PlayerSettings.SetScriptingDefineSymbolsForGroup(btg, defs); } - if (added) Debug.Log("DOTween : added global define " + id); + if (added) Debug.Log(string.Format("DOTween : added global define \"{0}\" to {1} BuildTargetGroups", id, totGroupsModified)); } /// @@ -265,13 +269,15 @@ namespace DG.DOTweenEditor.Core public static void RemoveGlobalDefine(string id) { bool removed = false; + int totGroupsModified = 0; BuildTargetGroup[] targetGroups = (BuildTargetGroup[])Enum.GetValues(typeof(BuildTargetGroup)); foreach(BuildTargetGroup btg in targetGroups) { - if (btg == BuildTargetGroup.Unknown) continue; + if (!IsValidBuildTargetGroup(btg)) continue; string defs = PlayerSettings.GetScriptingDefineSymbolsForGroup(btg); string[] singleDefs = defs.Split(';'); if (Array.IndexOf(singleDefs, id) == -1) continue; // Not present removed = true; + totGroupsModified++; _Strb.Length = 0; for (int i = 0; i < singleDefs.Length; ++i) { if (singleDefs[i] == id) continue; @@ -281,7 +287,7 @@ namespace DG.DOTweenEditor.Core PlayerSettings.SetScriptingDefineSymbolsForGroup(btg, _Strb.ToString()); } _Strb.Length = 0; - if (removed) Debug.Log("DOTween : removed global define " + id); + if (removed) Debug.Log(string.Format("DOTween : removed global define \"{0}\" from {1} BuildTargetGroups", id, totGroupsModified)); } /// @@ -296,7 +302,7 @@ namespace DG.DOTweenEditor.Core ? (BuildTargetGroup[])Enum.GetValues(typeof(BuildTargetGroup)) : new[] {(BuildTargetGroup)buildTargetGroup}; foreach(BuildTargetGroup btg in targetGroups) { - if (btg == BuildTargetGroup.Unknown) continue; + if (!IsValidBuildTargetGroup(btg)) continue; string defs = PlayerSettings.GetScriptingDefineSymbolsForGroup(btg); string[] singleDefs = defs.Split(';'); if (Array.IndexOf(singleDefs, id) != -1) return true; @@ -358,5 +364,28 @@ namespace DG.DOTweenEditor.Core T data = ScriptableObject.CreateInstance(); AssetDatabase.CreateAsset(data, adbFilePath); } + + static bool IsValidBuildTargetGroup(BuildTargetGroup group) + { + if (group == BuildTargetGroup.Unknown) return false; + Type moduleManager = Type.GetType("UnityEditor.Modules.ModuleManager, UnityEditor.dll"); +// MethodInfo miIsPlatformSupportLoaded = moduleManager.GetMethod("IsPlatformSupportLoaded", BindingFlags.Static | BindingFlags.NonPublic); + MethodInfo miGetTargetStringFromBuildTargetGroup = moduleManager.GetMethod( + "GetTargetStringFromBuildTargetGroup", BindingFlags.Static | BindingFlags.NonPublic + ); + MethodInfo miGetPlatformName = typeof(PlayerSettings).GetMethod( + "GetPlatformName", BindingFlags.Static | BindingFlags.NonPublic + ); + string targetString = (string)miGetTargetStringFromBuildTargetGroup.Invoke(null, new object[] {group}); + string platformName = (string)miGetPlatformName.Invoke(null, new object[] {group}); + + // Group is valid if at least one betweeen targetString and platformName is not empty. + // This seems to me the safest and more reliant way to check, + // since ModuleManager.IsPlatformSupportLoaded dosn't work well with BuildTargetGroup (only BuildTarget) + bool isValid = !string.IsNullOrEmpty(targetString) || !string.IsNullOrEmpty(platformName); + +// Debug.Log((isValid ? "" : "") + group + " > " + targetString + " / " + platformName + " > " + isValid + "/" + miIsPlatformSupportLoaded.Invoke(null, new object[] {group.ToString()}) + ""); + return isValid; + } } } \ No newline at end of file diff --git a/_DOTween.Assembly/DOTweenEditor/DOTweenEditor.csproj b/_DOTween.Assembly/DOTweenEditor/DOTweenEditor.csproj index b3deed7..89c81d7 100644 --- a/_DOTween.Assembly/DOTweenEditor/DOTweenEditor.csproj +++ b/_DOTween.Assembly/DOTweenEditor/DOTweenEditor.csproj @@ -79,7 +79,7 @@ - + diff --git a/_DOTween.Assembly/DOTweenEditor/DOTweenModulesSetupGUI.cs b/_DOTween.Assembly/DOTweenEditor/DOTweenModulesSetupGUI.cs index 365d995..3632423 100644 --- a/_DOTween.Assembly/DOTweenEditor/DOTweenModulesSetupGUI.cs +++ b/_DOTween.Assembly/DOTweenEditor/DOTweenModulesSetupGUI.cs @@ -23,14 +23,14 @@ namespace DG.DOTweenEditor public static void Refresh() { - _hasAudioModule = EditorUtils.HasGlobalDefine(DOTweenSetupMenuItem.GlobalDefine_AudioModule); - _hasPhysicsModule = EditorUtils.HasGlobalDefine(DOTweenSetupMenuItem.GlobalDefine_PhysicsModule); - _hasPhysics2DModule = EditorUtils.HasGlobalDefine(DOTweenSetupMenuItem.GlobalDefine_Physics2DModule); - _hasSpriteModule = EditorUtils.HasGlobalDefine(DOTweenSetupMenuItem.GlobalDefine_SpriteModule); - _hasUIModule = EditorUtils.HasGlobalDefine(DOTweenSetupMenuItem.GlobalDefine_UIModule); + _hasAudioModule = EditorUtils.HasGlobalDefine(DOTweenSetup.GlobalDefine_AudioModule); + _hasPhysicsModule = EditorUtils.HasGlobalDefine(DOTweenSetup.GlobalDefine_PhysicsModule); + _hasPhysics2DModule = EditorUtils.HasGlobalDefine(DOTweenSetup.GlobalDefine_Physics2DModule); + _hasSpriteModule = EditorUtils.HasGlobalDefine(DOTweenSetup.GlobalDefine_SpriteModule); + _hasUIModule = EditorUtils.HasGlobalDefine(DOTweenSetup.GlobalDefine_UIModule); - _hasTextMeshProModule = EditorUtils.HasGlobalDefine(DOTweenSetupMenuItem.GlobalDefine_TextMeshPro); - _hasTk2DModule = EditorUtils.HasGlobalDefine(DOTweenSetupMenuItem.GlobalDefine_TK2D); + _hasTextMeshProModule = EditorUtils.HasGlobalDefine(DOTweenSetup.GlobalDefine_TextMeshPro); + _hasTk2DModule = EditorUtils.HasGlobalDefine(DOTweenSetup.GlobalDefine_TK2D); } // Returns TRUE if it should be closed @@ -56,29 +56,32 @@ namespace DG.DOTweenEditor GUILayout.Space(2); GUILayout.BeginHorizontal(); - if (GUILayout.Button("Apply")) Apply(); + if (GUILayout.Button("Apply")) { + Apply(); + return true; + } if (GUILayout.Button("Cancel")) return true; GUILayout.EndHorizontal(); - EditorGUILayout.HelpBox( - "NOTE: if you get \"PlayerSettings Validation\" or [CS0618] errors when you press apply don't worry:" + - " it's ok and it allows the setup to work on all possible Unity versions", - MessageType.Warning - ); +// EditorGUILayout.HelpBox( +// "NOTE: if you get \"PlayerSettings Validation\" or [CS0618] errors when you press apply don't worry:" + +// " it's ok and it allows the setup to work on all possible Unity versions", +// MessageType.Warning +// ); return false; } static void Apply() { - ModifyDefineIfChanged(_hasAudioModule, DOTweenSetupMenuItem.GlobalDefine_AudioModule); - ModifyDefineIfChanged(_hasPhysicsModule, DOTweenSetupMenuItem.GlobalDefine_PhysicsModule); - ModifyDefineIfChanged(_hasPhysics2DModule, DOTweenSetupMenuItem.GlobalDefine_Physics2DModule); - ModifyDefineIfChanged(_hasSpriteModule, DOTweenSetupMenuItem.GlobalDefine_SpriteModule); - ModifyDefineIfChanged(_hasUIModule, DOTweenSetupMenuItem.GlobalDefine_UIModule); + ModifyDefineIfChanged(_hasAudioModule, DOTweenSetup.GlobalDefine_AudioModule); + ModifyDefineIfChanged(_hasPhysicsModule, DOTweenSetup.GlobalDefine_PhysicsModule); + ModifyDefineIfChanged(_hasPhysics2DModule, DOTweenSetup.GlobalDefine_Physics2DModule); + ModifyDefineIfChanged(_hasSpriteModule, DOTweenSetup.GlobalDefine_SpriteModule); + ModifyDefineIfChanged(_hasUIModule, DOTweenSetup.GlobalDefine_UIModule); if (EditorUtils.hasPro) { - ModifyDefineIfChanged(_hasTextMeshProModule, DOTweenSetupMenuItem.GlobalDefine_TextMeshPro); - ModifyDefineIfChanged(_hasTk2DModule, DOTweenSetupMenuItem.GlobalDefine_TK2D); + ModifyDefineIfChanged(_hasTextMeshProModule, DOTweenSetup.GlobalDefine_TextMeshPro); + ModifyDefineIfChanged(_hasTk2DModule, DOTweenSetup.GlobalDefine_TK2D); } } diff --git a/_DOTween.Assembly/DOTweenEditor/DOTweenSetup.cs b/_DOTween.Assembly/DOTweenEditor/DOTweenSetup.cs new file mode 100644 index 0000000..123b83c --- /dev/null +++ b/_DOTween.Assembly/DOTweenEditor/DOTweenSetup.cs @@ -0,0 +1,224 @@ +// Author: Daniele Giardini - http://www.demigiant.com +// Created: 2014/09/30 11:59 +// +// License Copyright (c) Daniele Giardini. +// This work is subject to the terms at http://dotween.demigiant.com/license.php + +using System; +using System.IO; +using DG.DOTweenEditor.Core; +using UnityEditor; +using UnityEngine; + +namespace DG.DOTweenEditor +{ + /// + /// Not used as menu item anymore, but as a utiity function + /// + static class DOTweenSetup + { + // Modules + public const string GlobalDefine_AudioModule = "DOTAUDIO"; + public const string GlobalDefine_PhysicsModule = "DOTPHYSICS"; + public const string GlobalDefine_Physics2DModule = "DOTPHYSICS2D"; + public const string GlobalDefine_SpriteModule = "DOTSPRITE"; + public const string GlobalDefine_UIModule = "DOTUI"; + // External assets defines + public const string GlobalDefine_TK2D = "DOTWEEN_TK2D"; + public const string GlobalDefine_TextMeshPro = "DOTWEEN_TMP"; + // Legacy (in versions older than 1.2.000) + public const string GlobalDefine_Legacy_NoRigidbody = "DOTWEEN_NORBODY"; + + // Removes all DOTween defines including the ones for external assets + public static void RemoveAllDefines() + { + EditorUtils.RemoveGlobalDefine(GlobalDefine_AudioModule); + EditorUtils.RemoveGlobalDefine(GlobalDefine_PhysicsModule); + EditorUtils.RemoveGlobalDefine(GlobalDefine_Physics2DModule); + EditorUtils.RemoveGlobalDefine(GlobalDefine_SpriteModule); + EditorUtils.RemoveGlobalDefine(GlobalDefine_UIModule); + + EditorUtils.RemoveGlobalDefine(GlobalDefine_Legacy_NoRigidbody); + + EditorUtils.RemoveGlobalDefine(GlobalDefine_TK2D); + EditorUtils.RemoveGlobalDefine(GlobalDefine_TextMeshPro); + } + + // Adds all Unity Modules defines but not the ones for external assets + public static void AddAllUnityDefines() + { + EditorUtils.AddGlobalDefine(GlobalDefine_AudioModule); + EditorUtils.AddGlobalDefine(GlobalDefine_PhysicsModule); + EditorUtils.AddGlobalDefine(GlobalDefine_Physics2DModule); + EditorUtils.AddGlobalDefine(GlobalDefine_SpriteModule); + EditorUtils.AddGlobalDefine(GlobalDefine_UIModule); + } + + + +// // █████████████████████████████████████████████████████████████████████████████████████████████████████████████████████ +// // ███ LEGACY (before Modules) █████████████████████████████████████████████████████████████████████████████████████████ +// +// const string _Title = "DOTween Setup"; +// +// /// +// /// Setups DOTween +// /// +// /// If TRUE, no warning window appears in case there is no need for setup +// public static void Setup(bool partiallySilent = false) +// { +// bool setupRequired = EditorUtils.DOTweenSetupRequired(); +// if (setupRequired) { +// string msg = "Based on your Unity version (" + Application.unityVersion + ") and eventual plugins, DOTween will now activate additional tween elements, if available."; +// if (!EditorUtility.DisplayDialog(_Title, msg, "Ok", "Cancel")) return; +// } else { +// if (!partiallySilent) { +// string msg = "This project has already been setup for your version of DOTween.\nReimport DOTween if you added new compatible external assets or upgraded your Unity version."; +// if (!EditorUtility.DisplayDialog(_Title, msg, "Force Setup", "Cancel")) return; +// } else return; +// } +// +// string addonsDir = EditorUtils.dotweenDir; +// string proAddonsDir = EditorUtils.dotweenProDir; +// +// EditorUtility.DisplayProgressBar(_Title, "Please wait...", 0.25f); +// +// int totImported = 0; +// // Unity version-based files +// string[] vs = Application.unityVersion.Split("."[0]); +// int majorVersion = Convert.ToInt32(vs[0]); +// int minorVersion = Convert.ToInt32(vs[1]); +// if (majorVersion < 4) { +// SetupComplete(addonsDir, proAddonsDir, totImported); +// return; +// } +// if (majorVersion == 4) { +// if (minorVersion < 3) { +// SetupComplete(addonsDir, proAddonsDir, totImported); +// return; +// } +// totImported += ImportAddons("43", addonsDir); +// if (minorVersion >= 6) totImported += ImportAddons("46", addonsDir); +// } else { +// // 5.x +// totImported += ImportAddons("43", addonsDir); +// totImported += ImportAddons("46", addonsDir); +// totImported += ImportAddons("50", addonsDir); +// } +// // Additional plugin files +// // Pro plugins +// if (EditorUtils.hasPro) { +// // PRO > 2DToolkit shortcuts +// if (Has2DToolkit()) { +// totImported += ImportAddons("Tk2d", proAddonsDir); +// EditorUtils.AddGlobalDefine(GlobalDefine_TK2D); +// } else EditorUtils.RemoveGlobalDefine(GlobalDefine_TK2D); +// // PRO > TextMeshPro shortcuts +// if (HasTextMeshPro()) { +// totImported += ImportAddons("TextMeshPro", proAddonsDir); +// EditorUtils.AddGlobalDefine(GlobalDefine_TextMeshPro); +// } else EditorUtils.RemoveGlobalDefine(GlobalDefine_TextMeshPro); +// } +// +// SetupComplete(addonsDir, proAddonsDir, totImported); +// } +// +// static void SetupComplete(string addonsDir, string proAddonsDir, int totImported) +// { +// int totRemoved = 0; +// +// // Delete all remaining addon files +// string[] leftoverAddonFiles = Directory.GetFiles(addonsDir, "*.addon"); +// if (leftoverAddonFiles.Length > 0) { +// EditorUtility.DisplayProgressBar(_Title, "Removing " + leftoverAddonFiles.Length + " unused additional files...", 0.5f); +// foreach (string leftoverAddonFile in leftoverAddonFiles) { +// totRemoved++; +// File.Delete(leftoverAddonFile); +// } +// } +// if (EditorUtils.hasPro) { +// leftoverAddonFiles = Directory.GetFiles(proAddonsDir, "*.addon"); +// if (leftoverAddonFiles.Length > 0) { +// EditorUtility.DisplayProgressBar(_Title, "Removing " + leftoverAddonFiles.Length + " unused additional files...", 0.5f); +// foreach (string leftoverAddonFile in leftoverAddonFiles) { +// totRemoved++; +// File.Delete(leftoverAddonFile); +// } +// } +// } +// // Delete all remaining addon meta files +// leftoverAddonFiles = Directory.GetFiles(addonsDir, "*.addon.meta"); +// if (leftoverAddonFiles.Length > 0) { +// EditorUtility.DisplayProgressBar(_Title, "Removing " + leftoverAddonFiles.Length + " unused additional meta files...", 0.75f); +// foreach (string leftoverAddonFile in leftoverAddonFiles) { +// File.Delete(leftoverAddonFile); +// } +// } +// if (EditorUtils.hasPro) { +// leftoverAddonFiles = Directory.GetFiles(proAddonsDir, "*.addon.meta"); +// if (leftoverAddonFiles.Length > 0) { +// EditorUtility.DisplayProgressBar(_Title, "Removing " + leftoverAddonFiles.Length + " unused additional meta files...", 0.75f); +// foreach (string leftoverAddonFile in leftoverAddonFiles) { +// File.Delete(leftoverAddonFile); +// } +// } +// } +// +// EditorUtility.DisplayProgressBar(_Title, "Refreshing...", 0.9f); +// AssetDatabase.Refresh(); +// +// EditorUtility.ClearProgressBar(); +// EditorUtility.DisplayDialog(_Title, "DOTween setup is now complete." + +// (totImported == 0 ? "" : "\n" + totImported + " additional libraries were imported or updated.") + +// (totRemoved == 0 ? "" : "\n" + totRemoved + " extra files were removed."), +// "Ok" +// ); +// } +// +// // Removes relative .addon extension thus activating files +// static int ImportAddons(string version, string addonsDir) +// { +// bool imported = false; +// string[] filenames = new[] { +// "DOTween" + version + ".dll", +// "DOTween" + version + ".xml", +// "DOTween" + version + ".dll.mdb", +// "DOTween" + version + ".cs" +// }; +// +// foreach (string filename in filenames) { +// string addonFilepath = addonsDir + filename + ".addon"; +// string finalFilepath = addonsDir + filename; +// if (File.Exists(addonFilepath)) { +// // Delete eventual existing final file +// if (File.Exists(finalFilepath)) File.Delete(finalFilepath); +// // Rename addon file to final +// File.Move(addonFilepath, finalFilepath); +// imported = true; +// } +// } +// +// return imported ? 1 : 0; +// } +// +// static bool Has2DToolkit() +// { +// string[] rootDirs = Directory.GetDirectories(EditorUtils.projectPath, "TK2DROOT", SearchOption.AllDirectories); +// if (rootDirs.Length == 0) return false; +// foreach (string rootDir in rootDirs) { +// if (Directory.GetFiles(rootDir, "tk2dSprite.cs", SearchOption.AllDirectories).Length > 0) return true; +// } +// return false; +// } +// static bool HasTextMeshPro() +// { +// string[] rootDirs = Directory.GetDirectories(EditorUtils.projectPath, "TextMesh Pro", SearchOption.AllDirectories); +// if (rootDirs.Length == 0) return false; +// foreach (string rootDir in rootDirs) { +// if (Directory.GetFiles(rootDir, "TextMeshPro.cs", SearchOption.AllDirectories).Length > 0) return true; // Old payed version +// if (Directory.GetFiles(rootDir, "TextMeshPro*.dll", SearchOption.AllDirectories).Length > 0) return true; // New free version +// } +// return false; +// } + } +} \ No newline at end of file diff --git a/_DOTween.Assembly/DOTweenEditor/DOTweenSetupMenuItem.cs b/_DOTween.Assembly/DOTweenEditor/DOTweenSetupMenuItem.cs deleted file mode 100644 index bb930b2..0000000 --- a/_DOTween.Assembly/DOTweenEditor/DOTweenSetupMenuItem.cs +++ /dev/null @@ -1,195 +0,0 @@ -// Author: Daniele Giardini - http://www.demigiant.com -// Created: 2014/09/30 11:59 -// -// License Copyright (c) Daniele Giardini. -// This work is subject to the terms at http://dotween.demigiant.com/license.php - -using System; -using System.IO; -using DG.DOTweenEditor.Core; -using UnityEditor; -using UnityEngine; - -namespace DG.DOTweenEditor -{ - /// - /// Not used as menu item anymore, but as a utiity function - /// - static class DOTweenSetupMenuItem - { - // TODO Remove old defines and add new ones - // Modules - public const string GlobalDefine_AudioModule = "DOTAUDIO"; - public const string GlobalDefine_PhysicsModule = "DOTPHYSICS"; - public const string GlobalDefine_Physics2DModule = "DOTPHYSICS2D"; - public const string GlobalDefine_SpriteModule = "DOTSPRITE"; - public const string GlobalDefine_UIModule = "DOTUI"; - // External assets defines - public const string GlobalDefine_TK2D = "DOTWEEN_TK2D"; - public const string GlobalDefine_TextMeshPro = "DOTWEEN_TMP"; - // Legacy (in versions older than 1.2.000) - public const string GlobalDefine_Legacy_NoRigidbody = "DOTWEEN_NORBODY"; - - const string _Title = "DOTween Setup"; - - /// - /// Setups DOTween - /// - /// If TRUE, no warning window appears in case there is no need for setup - public static void Setup(bool partiallySilent = false) - { - bool setupRequired = EditorUtils.DOTweenSetupRequired(); - if (setupRequired) { - string msg = "Based on your Unity version (" + Application.unityVersion + ") and eventual plugins, DOTween will now activate additional tween elements, if available."; - if (!EditorUtility.DisplayDialog(_Title, msg, "Ok", "Cancel")) return; - } else { - if (!partiallySilent) { - string msg = "This project has already been setup for your version of DOTween.\nReimport DOTween if you added new compatible external assets or upgraded your Unity version."; - if (!EditorUtility.DisplayDialog(_Title, msg, "Force Setup", "Cancel")) return; - } else return; - } - - string addonsDir = EditorUtils.dotweenDir; - string proAddonsDir = EditorUtils.dotweenProDir; - - EditorUtility.DisplayProgressBar(_Title, "Please wait...", 0.25f); - - int totImported = 0; - // Unity version-based files - string[] vs = Application.unityVersion.Split("."[0]); - int majorVersion = Convert.ToInt32(vs[0]); - int minorVersion = Convert.ToInt32(vs[1]); - if (majorVersion < 4) { - SetupComplete(addonsDir, proAddonsDir, totImported); - return; - } - if (majorVersion == 4) { - if (minorVersion < 3) { - SetupComplete(addonsDir, proAddonsDir, totImported); - return; - } - totImported += ImportAddons("43", addonsDir); - if (minorVersion >= 6) totImported += ImportAddons("46", addonsDir); - } else { - // 5.x - totImported += ImportAddons("43", addonsDir); - totImported += ImportAddons("46", addonsDir); - totImported += ImportAddons("50", addonsDir); - } - // Additional plugin files - // Pro plugins - if (EditorUtils.hasPro) { - // PRO > 2DToolkit shortcuts - if (Has2DToolkit()) { - totImported += ImportAddons("Tk2d", proAddonsDir); - EditorUtils.AddGlobalDefine(GlobalDefine_TK2D); - } else EditorUtils.RemoveGlobalDefine(GlobalDefine_TK2D); - // PRO > TextMeshPro shortcuts - if (HasTextMeshPro()) { - totImported += ImportAddons("TextMeshPro", proAddonsDir); - EditorUtils.AddGlobalDefine(GlobalDefine_TextMeshPro); - } else EditorUtils.RemoveGlobalDefine(GlobalDefine_TextMeshPro); - } - - SetupComplete(addonsDir, proAddonsDir, totImported); - } - - static void SetupComplete(string addonsDir, string proAddonsDir, int totImported) - { - int totRemoved = 0; - - // Delete all remaining addon files - string[] leftoverAddonFiles = Directory.GetFiles(addonsDir, "*.addon"); - if (leftoverAddonFiles.Length > 0) { - EditorUtility.DisplayProgressBar(_Title, "Removing " + leftoverAddonFiles.Length + " unused additional files...", 0.5f); - foreach (string leftoverAddonFile in leftoverAddonFiles) { - totRemoved++; - File.Delete(leftoverAddonFile); - } - } - if (EditorUtils.hasPro) { - leftoverAddonFiles = Directory.GetFiles(proAddonsDir, "*.addon"); - if (leftoverAddonFiles.Length > 0) { - EditorUtility.DisplayProgressBar(_Title, "Removing " + leftoverAddonFiles.Length + " unused additional files...", 0.5f); - foreach (string leftoverAddonFile in leftoverAddonFiles) { - totRemoved++; - File.Delete(leftoverAddonFile); - } - } - } - // Delete all remaining addon meta files - leftoverAddonFiles = Directory.GetFiles(addonsDir, "*.addon.meta"); - if (leftoverAddonFiles.Length > 0) { - EditorUtility.DisplayProgressBar(_Title, "Removing " + leftoverAddonFiles.Length + " unused additional meta files...", 0.75f); - foreach (string leftoverAddonFile in leftoverAddonFiles) { - File.Delete(leftoverAddonFile); - } - } - if (EditorUtils.hasPro) { - leftoverAddonFiles = Directory.GetFiles(proAddonsDir, "*.addon.meta"); - if (leftoverAddonFiles.Length > 0) { - EditorUtility.DisplayProgressBar(_Title, "Removing " + leftoverAddonFiles.Length + " unused additional meta files...", 0.75f); - foreach (string leftoverAddonFile in leftoverAddonFiles) { - File.Delete(leftoverAddonFile); - } - } - } - - EditorUtility.DisplayProgressBar(_Title, "Refreshing...", 0.9f); - AssetDatabase.Refresh(); - - EditorUtility.ClearProgressBar(); - EditorUtility.DisplayDialog(_Title, "DOTween setup is now complete." + - (totImported == 0 ? "" : "\n" + totImported + " additional libraries were imported or updated.") + - (totRemoved == 0 ? "" : "\n" + totRemoved + " extra files were removed."), - "Ok" - ); - } - - // Removes relative .addon extension thus activating files - static int ImportAddons(string version, string addonsDir) - { - bool imported = false; - string[] filenames = new[] { - "DOTween" + version + ".dll", - "DOTween" + version + ".xml", - "DOTween" + version + ".dll.mdb", - "DOTween" + version + ".cs" - }; - - foreach (string filename in filenames) { - string addonFilepath = addonsDir + filename + ".addon"; - string finalFilepath = addonsDir + filename; - if (File.Exists(addonFilepath)) { - // Delete eventual existing final file - if (File.Exists(finalFilepath)) File.Delete(finalFilepath); - // Rename addon file to final - File.Move(addonFilepath, finalFilepath); - imported = true; - } - } - - return imported ? 1 : 0; - } - - static bool Has2DToolkit() - { - string[] rootDirs = Directory.GetDirectories(EditorUtils.projectPath, "TK2DROOT", SearchOption.AllDirectories); - if (rootDirs.Length == 0) return false; - foreach (string rootDir in rootDirs) { - if (Directory.GetFiles(rootDir, "tk2dSprite.cs", SearchOption.AllDirectories).Length > 0) return true; - } - return false; - } - static bool HasTextMeshPro() - { - string[] rootDirs = Directory.GetDirectories(EditorUtils.projectPath, "TextMesh Pro", SearchOption.AllDirectories); - if (rootDirs.Length == 0) return false; - foreach (string rootDir in rootDirs) { - if (Directory.GetFiles(rootDir, "TextMeshPro.cs", SearchOption.AllDirectories).Length > 0) return true; // Old payed version - if (Directory.GetFiles(rootDir, "TextMeshPro*.dll", SearchOption.AllDirectories).Length > 0) return true; // New free version - } - return false; - } - } -} \ No newline at end of file diff --git a/_DOTween.Assembly/DOTweenEditor/DOTweenUtilityWindow.cs b/_DOTween.Assembly/DOTweenEditor/DOTweenUtilityWindow.cs index 4241875..b05291e 100644 --- a/_DOTween.Assembly/DOTweenEditor/DOTweenUtilityWindow.cs +++ b/_DOTween.Assembly/DOTweenEditor/DOTweenUtilityWindow.cs @@ -30,20 +30,19 @@ namespace DG.DOTweenEditor break; } if (!containsDOTween) return AssetDeleteResult.DidNotDelete; - // DOTween found: remove scripting define symbols - EditorUtils.RemoveGlobalDefine(DOTweenSetupMenuItem.GlobalDefine_AudioModule); - EditorUtils.RemoveGlobalDefine(DOTweenSetupMenuItem.GlobalDefine_PhysicsModule); - EditorUtils.RemoveGlobalDefine(DOTweenSetupMenuItem.GlobalDefine_Physics2DModule); - EditorUtils.RemoveGlobalDefine(DOTweenSetupMenuItem.GlobalDefine_SpriteModule); - EditorUtils.RemoveGlobalDefine(DOTweenSetupMenuItem.GlobalDefine_UIModule); - EditorUtils.RemoveGlobalDefine(DOTweenSetupMenuItem.GlobalDefine_TK2D); - EditorUtils.RemoveGlobalDefine(DOTweenSetupMenuItem.GlobalDefine_TextMeshPro); - EditorUtils.RemoveGlobalDefine(DOTweenSetupMenuItem.GlobalDefine_Legacy_NoRigidbody); + // DOTween is being deleted: deal with it // Remove EditorPrefs EditorPrefs.DeleteKey(Application.dataPath + DOTweenUtilityWindow.Id); EditorPrefs.DeleteKey(Application.dataPath + DOTweenUtilityWindow.IdPro); + // Remove scripting define symbols + DOTweenSetup.RemoveAllDefines(); // - EditorUtility.DisplayDialog("DOTween Deleted", "DOTween was deleted and all of its scripting define symbols removed.\nThis might show an error depending on your previous setup. If this happens, please close and reopen Unity or reimport DOTween.", "Ok"); + EditorUtility.DisplayDialog("DOTween Deleted", + "DOTween was deleted and all of its scripting define symbols removed." + + "\n\nThis might show an error depending on your previous setup." + + " If this happens, please close and reopen Unity or reimport DOTween.", + "Ok" + ); return AssetDeleteResult.DidNotDelete; } } @@ -64,22 +63,30 @@ namespace DG.DOTweenEditor // Delete old DemiLib configuration EditorUtils.DeleteOldDemiLibCore(); // Remove old NoRigidbody define - EditorUtils.RemoveGlobalDefine(DOTweenSetupMenuItem.GlobalDefine_Legacy_NoRigidbody); + EditorUtils.RemoveGlobalDefine(DOTweenSetup.GlobalDefine_Legacy_NoRigidbody); // - bool openSetupDialog = EditorPrefs.GetString(Application.dataPath + DOTweenUtilityWindow.Id) != Application.dataPath + DOTween.Version - || EditorPrefs.GetString(Application.dataPath + DOTweenUtilityWindow.IdPro) != Application.dataPath + EditorUtils.proVersion; - if (openSetupDialog) { - Debug.Log("Should open setup dialogue"); + bool differentCoreVersion = EditorPrefs.GetString(Application.dataPath + DOTweenUtilityWindow.Id) != Application.dataPath + DOTween.Version; + bool differentProVersion = EditorUtils.hasPro && EditorPrefs.GetString(Application.dataPath + DOTweenUtilityWindow.IdPro) != Application.dataPath + EditorUtils.proVersion; + bool setupRequired = differentCoreVersion || differentProVersion; + if (setupRequired) { _setupDialogRequested = true; EditorPrefs.SetString(Application.dataPath + DOTweenUtilityWindow.Id, Application.dataPath + DOTween.Version); - EditorPrefs.SetString(Application.dataPath + DOTweenUtilityWindow.IdPro, Application.dataPath + EditorUtils.proVersion); - EditorUtility.DisplayDialog("DOTween", "New version of DOTween imported.\n\nSelect \"Tools > Demigiant > DOTween Utility Panel\" and press \"Setup DOTween...\" in the window that opens to set it up.", "Ok"); -// EditorUtility.DisplayDialog("DOTween", "New version of DOTween imported.\n\nUse the Setup Panel to add/remove its Modules.", "Ok"); + if (EditorUtils.hasPro) EditorPrefs.SetString(Application.dataPath + DOTweenUtilityWindow.IdPro, Application.dataPath + EditorUtils.proVersion); +// DOTweenSetup.AddAllUnityDefines(); + EditorUtility.DisplayDialog("DOTween", + differentCoreVersion + ? "New version of DOTween imported." + + "\n\nSelect \"Setup DOTween...\" in DOTween's Utility Panel to add/remove Modules." + : "New version of DOTween Pro imported." + + " \n\nSelect \"Setup DOTween...\" in DOTween's Utility Panel to add/remove external Modules (TextMesh Pro/2DToolkit/etc).", + "Ok" + ); + DOTweenUtilityWindow.Open(); // Opening window after a postProcess doesn't work on Unity 3 so check that - string[] vs = Application.unityVersion.Split("."[0]); - int majorVersion = System.Convert.ToInt32(vs[0]); - if (majorVersion >= 4) EditorUtils.DelayedCall(0.5f, DOTweenUtilityWindow.Open); - EditorUtils.DelayedCall(8, ()=> _setupDialogRequested = false); +// string[] vs = Application.unityVersion.Split("."[0]); +// int majorVersion = System.Convert.ToInt32(vs[0]); +// if (majorVersion >= 4) EditorUtils.DelayedCall(0.5f, DOTweenUtilityWindow.Open); +// EditorUtils.DelayedCall(8, ()=> _setupDialogRequested = false); } } } @@ -96,6 +103,7 @@ namespace DG.DOTweenEditor public const string IdPro = "DOTweenProVersion"; static readonly float _HalfBtSize = _WinSize.x * 0.5f - 6; + bool _initialized; DOTweenSettings _src; Texture2D _headerImg, _footerImg; Vector2 _headerSize, _footerSize; @@ -119,6 +127,26 @@ namespace DG.DOTweenEditor EditorPrefs.SetString(IdPro, EditorUtils.proVersion); } + // Returns TRUE if DOTween is initialized + bool Init() + { + if (_initialized) return true; + + if (_headerImg == null) { + _headerImg = AssetDatabase.LoadAssetAtPath("Assets/" + EditorUtils.editorADBDir + "Imgs/Header.jpg", typeof(Texture2D)) as Texture2D; + if (_headerImg == null) return false; // DOTween imported for the first time and images not yet imported + EditorUtils.SetEditorTexture(_headerImg, FilterMode.Bilinear, 512); + _headerSize.x = _WinSize.x; + _headerSize.y = (int)((_WinSize.x * _headerImg.height) / _headerImg.width); + _footerImg = AssetDatabase.LoadAssetAtPath("Assets/" + EditorUtils.editorADBDir + (EditorGUIUtility.isProSkin ? "Imgs/Footer.png" : "Imgs/Footer_dark.png"), typeof(Texture2D)) as Texture2D; + EditorUtils.SetEditorTexture(_footerImg, FilterMode.Bilinear, 256); + _footerSize.x = _WinSize.x; + _footerSize.y = (int)((_WinSize.x * _footerImg.height) / _footerImg.width); + } + _initialized = true; + return true; + } + // =================================================================================== // UNITY METHODS --------------------------------------------------------------------- @@ -135,16 +163,7 @@ namespace DG.DOTweenEditor if (EditorUtils.hasPro) _innerTitle += "\nDOTweenPro v" + EditorUtils.proVersion; else _innerTitle += "\nDOTweenPro not installed"; - if (_headerImg == null) { - _headerImg = AssetDatabase.LoadAssetAtPath("Assets/" + EditorUtils.editorADBDir + "Imgs/Header.jpg", typeof(Texture2D)) as Texture2D; - EditorUtils.SetEditorTexture(_headerImg, FilterMode.Bilinear, 512); - _headerSize.x = _WinSize.x; - _headerSize.y = (int)((_WinSize.x * _headerImg.height) / _headerImg.width); - _footerImg = AssetDatabase.LoadAssetAtPath("Assets/" + EditorUtils.editorADBDir + (EditorGUIUtility.isProSkin ? "Imgs/Footer.png" : "Imgs/Footer_dark.png"), typeof(Texture2D)) as Texture2D; - EditorUtils.SetEditorTexture(_footerImg, FilterMode.Bilinear, 256); - _footerSize.x = _WinSize.x; - _footerSize.y = (int)((_WinSize.x * _footerImg.height) / _footerImg.width); - } + Init(); _setupRequired = EditorUtils.DOTweenSetupRequired(); } @@ -156,6 +175,11 @@ namespace DG.DOTweenEditor void OnGUI() { + if (!Init()) { + GUILayout.Space(8); + GUILayout.Label("Completing import process..."); + return; + } Connect(); EditorGUIUtils.SetGUIStyles(_footerSize); @@ -202,12 +226,19 @@ namespace DG.DOTweenEditor GUILayout.EndVertical(); GUI.backgroundColor = Color.white; } else GUILayout.Space(8); - if (GUILayout.Button("Setup DOTween...", EditorGUIUtils.btStyle)) { -// DOTweenSetupMenuItem.Setup(); + GUI.color = Color.green; + GUILayout.BeginHorizontal(); + GUILayout.FlexibleSpace(); + if (GUILayout.Button("Setup DOTween...\n(add/remove Modules)", EditorGUIUtils.btSetup)) { +// DOTweenSetup.Setup(); // _setupRequired = EditorUtils.DOTweenSetupRequired(); DOTweenModulesSetupGUI.Refresh(); _isModulesMode = true; } + GUILayout.FlexibleSpace(); + GUI.color = Color.white; + GUILayout.EndHorizontal(); + GUILayout.Space(8); // EditorGUILayout.HelpBox( // "NOTE: if you get \"Requested build target group (N) doesn't exist\" or [CS0618] errors during the setup don't worry: it's ok and allows the setup to work on all possible Unity versions", @@ -215,12 +246,16 @@ namespace DG.DOTweenEditor // ); GUILayout.BeginHorizontal(); - if (GUILayout.Button("Documentation", EditorGUIUtils.btStyle, GUILayout.Width(_HalfBtSize))) Application.OpenURL("http://dotween.demigiant.com/documentation.php"); - if (GUILayout.Button("Support", EditorGUIUtils.btStyle, GUILayout.Width(_HalfBtSize))) Application.OpenURL("http://dotween.demigiant.com/support.php"); + if (GUILayout.Button("Website", EditorGUIUtils.btBigStyle, GUILayout.Width(_HalfBtSize))) Application.OpenURL("http://dotween.demigiant.com/index.php"); + if (GUILayout.Button("Get Started", EditorGUIUtils.btBigStyle, GUILayout.Width(_HalfBtSize))) Application.OpenURL("http://dotween.demigiant.com/getstarted.php"); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); - if (GUILayout.Button("Changelog", EditorGUIUtils.btStyle, GUILayout.Width(_HalfBtSize))) Application.OpenURL("http://dotween.demigiant.com/download.php"); - if (GUILayout.Button("Check Updates", EditorGUIUtils.btStyle, GUILayout.Width(_HalfBtSize))) Application.OpenURL("http://dotween.demigiant.com/download.php?v=" + DOTween.Version); + if (GUILayout.Button("Documentation", EditorGUIUtils.btBigStyle, GUILayout.Width(_HalfBtSize))) Application.OpenURL("http://dotween.demigiant.com/documentation.php"); + if (GUILayout.Button("Support", EditorGUIUtils.btBigStyle, GUILayout.Width(_HalfBtSize))) Application.OpenURL("http://dotween.demigiant.com/support.php"); + GUILayout.EndHorizontal(); + GUILayout.BeginHorizontal(); + if (GUILayout.Button("Changelog", EditorGUIUtils.btBigStyle, GUILayout.Width(_HalfBtSize))) Application.OpenURL("http://dotween.demigiant.com/download.php"); + if (GUILayout.Button("Check Updates", EditorGUIUtils.btBigStyle, GUILayout.Width(_HalfBtSize))) Application.OpenURL("http://dotween.demigiant.com/download.php?v=" + DOTween.Version); GUILayout.EndHorizontal(); GUILayout.Space(14); if (GUILayout.Button(_footerImg, EditorGUIUtils.btImgStyle)) Application.OpenURL("http://www.demigiant.com/"); @@ -229,7 +264,7 @@ namespace DG.DOTweenEditor void DrawPreferencesGUI() { GUILayout.Space(40); - if (GUILayout.Button("Reset", EditorGUIUtils.btStyle)) { + if (GUILayout.Button("Reset", EditorGUIUtils.btBigStyle)) { // Reset to original defaults _src.useSafeMode = true; _src.showUnityEditorReport = false; diff --git a/_DOTween.Assembly/bin/DOTween43.dll b/_DOTween.Assembly/bin/DOTween43.dll deleted file mode 100644 index 590ab8e4d337ddf6277e6f564457986d7ef0ffd0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9728 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 Mk^L6=e_w(B1Y7P-zW@LL diff --git a/_DOTween.Assembly/bin/DOTween43.dll.mdb b/_DOTween.Assembly/bin/DOTween43.dll.mdb deleted file mode 100644 index eb000af284ddd351d74945d8498e8639d37d3dd0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1830 zcmbVNZDrhJd50C?|bbZJlLlc)p<7G>3z89dcK#a8n4PdL<~F?zjd(C z6Qs_8zJ&JyVaiA3iDw9ph&KQQSRa@h3M>wV1JMo9m{lDLhu>ZLcG=3pu)nk@7%UEk z!b_}}wV^T=i{f2iS=q*DG>&jr%qX($XjOUa!;my)7lwlCt(runHc`AO5sllGR@|Ol zI3r@$<_50zcl^AhY3SEdHF@I9j_;eV4gAxX*i$plx|_-gi5Y0bY{s+*My#=!!eh}m zCBbCuTt96=6ug1PTHR_>8-N)0T1og8nD-+EY{MDyib`-Y}M#T?c%d1riK&$ z)@Zx;W1OT>Mx389VtP2S$xElb9iu0fcpOc~D#@*)vG*A*XA%Eu`2Y;GtMo$bEi zr9SV#=;f@8YQKp-()u{@oj2>$u6KzmfQXkk<$87cQ~&ERYfz{EbmyW#RM3gqW6)>D z=i=UYWTg!{YJ4TFEl$*T2AwocN$V5lc;^l3GJcX?gX{fb&~@X6^l*GcYj+LmGyauc zo9lgK(k`>kbVrq5%A|wlA?bCvao?KMY#x_hr|Y$w)M0i$?sc1V#q5E{h*w*CnA!54s+pl^e30+XO0g6{$N$I-IUxDMn(=LrU;K)(r|2~3490SADWp~K)6z%=N3 b@K)dz=tgh~$b&uy{sF*pIsbZs`+@%fLzRLR diff --git a/_DOTween.Assembly/bin/DOTween43.xml b/_DOTween.Assembly/bin/DOTween43.xml deleted file mode 100644 index f0efe2b..0000000 --- a/_DOTween.Assembly/bin/DOTween43.xml +++ /dev/null @@ -1,85 +0,0 @@ - - - - DOTween43 - - - - - Methods that extend known Unity objects and allow to directly create and control tweens from their instances. - These, as all DOTween43 methods, require Unity 4.3 or later. - - - - Tweens a Material's color using the given gradient - (NOTE 1: only uses the colors of the gradient, not the alphas - NOTE 2: creates a Sequence, not a Tweener). - Also stores the image as the tween's target so it can be used for filtered operations - The gradient to useThe duration of the tween - - - Tweens a Material's named color property using the given gradient - (NOTE 1: only uses the colors of the gradient, not the alphas - NOTE 2: creates a Sequence, not a Tweener). - Also stores the image as the tween's target so it can be used for filtered operations - The gradient to use - The name of the material property to tween (like _Tint or _SpecColor) - The duration of the tween - - - Tweens a SpriteRenderer's color to the given value. - Also stores the spriteRenderer as the tween's target so it can be used for filtered operations - The end value to reachThe duration of the tween - - - Tweens a Material's alpha color to the given value. - Also stores the spriteRenderer as the tween's target so it can be used for filtered operations - The end value to reachThe duration of the tween - - - Tweens a SpriteRenderer's color using the given gradient - (NOTE 1: only uses the colors of the gradient, not the alphas - NOTE 2: creates a Sequence, not a Tweener). - Also stores the image as the tween's target so it can be used for filtered operations - The gradient to useThe duration of the tween - - - Tweens a Rigidbody2D's position to the given value. - Also stores the Rigidbody2D as the tween's target so it can be used for filtered operations - The end value to reachThe duration of the tween - If TRUE the tween will smoothly snap all values to integers - - - Tweens a Rigidbody2D's X position to the given value. - Also stores the Rigidbody2D as the tween's target so it can be used for filtered operations - The end value to reachThe duration of the tween - If TRUE the tween will smoothly snap all values to integers - - - Tweens a Rigidbody2D's Y position to the given value. - Also stores the Rigidbody2D as the tween's target so it can be used for filtered operations - The end value to reachThe duration of the tween - If TRUE the tween will smoothly snap all values to integers - - - Tweens a Rigidbody2D's rotation to the given value. - Also stores the Rigidbody2D as the tween's target so it can be used for filtered operations - The end value to reachThe duration of the tween - - - Tweens a Rigidbody2D's position to the given value, while also applying a jump effect along the Y axis. - Returns a Sequence instead of a Tweener. - Also stores the Rigidbody2D as the tween's target so it can be used for filtered operations. - IMPORTANT: a rigidbody2D can't be animated in a jump arc using MovePosition, so the tween will directly set the position - The end value to reach - Power of the jump (the max height of the jump is represented by this plus the final Y offset) - Total number of jumps - The duration of the tween - If TRUE the tween will smoothly snap all values to integers - - - Tweens a SpriteRenderer's color to the given value, - in a way that allows other DOBlendableColor tweens to work together on the same target, - instead than fight each other as multiple DOColor would do. - Also stores the SpriteRenderer as the tween's target so it can be used for filtered operations - The value to tween toThe duration of the tween - - - diff --git a/_DOTween.Assembly/bin/DOTween46.dll b/_DOTween.Assembly/bin/DOTween46.dll deleted file mode 100644 index 79daf788f55c9929e95fc08205fc313d0c403ddf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21504 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 diff --git a/_DOTween.Assembly/bin/DOTween46.dll.mdb b/_DOTween.Assembly/bin/DOTween46.dll.mdb deleted file mode 100644 index 07e780077ab5392a30b682de78bb5de429b76bd4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6364 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 diff --git a/_DOTween.Assembly/bin/DOTween46.xml b/_DOTween.Assembly/bin/DOTween46.xml deleted file mode 100644 index 4c0ff32..0000000 --- a/_DOTween.Assembly/bin/DOTween46.xml +++ /dev/null @@ -1,279 +0,0 @@ - - - - DOTween46 - - - - - Various utils that require Unity 4.6 or later - - - - - Converts the anchoredPosition of the first RectTransform to the second RectTransform, - taking into consideration offset, anchors and pivot, and returns the new anchoredPosition - - - - - Methods that extend known Unity objects and allow to directly create and control tweens from their instances. - These, as all DOTween46 methods, require Unity 4.6 or later. - - - - Tweens a CanvasGroup's alpha color to the given value. - Also stores the canvasGroup as the tween's target so it can be used for filtered operations - The end value to reachThe duration of the tween - - - Tweens an Graphic's color to the given value. - Also stores the image as the tween's target so it can be used for filtered operations - The end value to reachThe duration of the tween - - - Tweens an Graphic's alpha color to the given value. - Also stores the image as the tween's target so it can be used for filtered operations - The end value to reachThe duration of the tween - - - Tweens an Image's color to the given value. - Also stores the image as the tween's target so it can be used for filtered operations - The end value to reachThe duration of the tween - - - Tweens an Image's alpha color to the given value. - Also stores the image as the tween's target so it can be used for filtered operations - The end value to reachThe duration of the tween - - - Tweens an Image's fillAmount to the given value. - Also stores the image as the tween's target so it can be used for filtered operations - The end value to reach (0 to 1)The duration of the tween - - - Tweens an Image's colors using the given gradient - (NOTE 1: only uses the colors of the gradient, not the alphas - NOTE 2: creates a Sequence, not a Tweener). - Also stores the image as the tween's target so it can be used for filtered operations - The gradient to useThe duration of the tween - - - Tweens an LayoutElement's flexibleWidth/Height to the given value. - Also stores the LayoutElement as the tween's target so it can be used for filtered operations - The end value to reachThe duration of the tween - If TRUE the tween will smoothly snap all values to integers - - - Tweens an LayoutElement's minWidth/Height to the given value. - Also stores the LayoutElement as the tween's target so it can be used for filtered operations - The end value to reachThe duration of the tween - If TRUE the tween will smoothly snap all values to integers - - - Tweens an LayoutElement's preferredWidth/Height to the given value. - Also stores the LayoutElement as the tween's target so it can be used for filtered operations - The end value to reachThe duration of the tween - If TRUE the tween will smoothly snap all values to integers - - - Tweens a Outline's effectColor to the given value. - Also stores the Outline as the tween's target so it can be used for filtered operations - The end value to reachThe duration of the tween - - - Tweens a Outline's effectColor alpha to the given value. - Also stores the Outline as the tween's target so it can be used for filtered operations - The end value to reachThe duration of the tween - - - Tweens a Outline's effectDistance to the given value. - Also stores the Outline as the tween's target so it can be used for filtered operations - The end value to reachThe duration of the tween - - - Tweens a RectTransform's anchoredPosition to the given value. - Also stores the RectTransform as the tween's target so it can be used for filtered operations - The end value to reachThe duration of the tween - If TRUE the tween will smoothly snap all values to integers - - - Tweens a RectTransform's anchoredPosition X to the given value. - Also stores the RectTransform as the tween's target so it can be used for filtered operations - The end value to reachThe duration of the tween - If TRUE the tween will smoothly snap all values to integers - - - Tweens a RectTransform's anchoredPosition Y to the given value. - Also stores the RectTransform as the tween's target so it can be used for filtered operations - The end value to reachThe duration of the tween - If TRUE the tween will smoothly snap all values to integers - - - Tweens a RectTransform's anchoredPosition3D to the given value. - Also stores the RectTransform as the tween's target so it can be used for filtered operations - The end value to reachThe duration of the tween - If TRUE the tween will smoothly snap all values to integers - - - Tweens a RectTransform's anchoredPosition3D X to the given value. - Also stores the RectTransform as the tween's target so it can be used for filtered operations - The end value to reachThe duration of the tween - If TRUE the tween will smoothly snap all values to integers - - - Tweens a RectTransform's anchoredPosition3D Y to the given value. - Also stores the RectTransform as the tween's target so it can be used for filtered operations - The end value to reachThe duration of the tween - If TRUE the tween will smoothly snap all values to integers - - - Tweens a RectTransform's anchoredPosition3D Z to the given value. - Also stores the RectTransform as the tween's target so it can be used for filtered operations - The end value to reachThe duration of the tween - If TRUE the tween will smoothly snap all values to integers - - - Tweens a RectTransform's anchorMax to the given value. - Also stores the RectTransform as the tween's target so it can be used for filtered operations - The end value to reachThe duration of the tween - If TRUE the tween will smoothly snap all values to integers - - - Tweens a RectTransform's anchorMin to the given value. - Also stores the RectTransform as the tween's target so it can be used for filtered operations - The end value to reachThe duration of the tween - If TRUE the tween will smoothly snap all values to integers - - - Tweens a RectTransform's pivot to the given value. - Also stores the RectTransform as the tween's target so it can be used for filtered operations - The end value to reachThe duration of the tween - - - Tweens a RectTransform's pivot X to the given value. - Also stores the RectTransform as the tween's target so it can be used for filtered operations - The end value to reachThe duration of the tween - - - Tweens a RectTransform's pivot Y to the given value. - Also stores the RectTransform as the tween's target so it can be used for filtered operations - The end value to reachThe duration of the tween - - - Tweens a RectTransform's sizeDelta to the given value. - Also stores the RectTransform as the tween's target so it can be used for filtered operations - The end value to reachThe duration of the tween - If TRUE the tween will smoothly snap all values to integers - - - Punches a RectTransform's anchoredPosition towards the given direction and then back to the starting one - as if it was connected to the starting position via an elastic. - Also stores the RectTransform as the tween's target so it can be used for filtered operations - The direction and strength of the punch (added to the RectTransform's current position) - The duration of the tween - Indicates how much will the punch vibrate - Represents how much (0 to 1) the vector will go beyond the starting position when bouncing backwards. - 1 creates a full oscillation between the punch direction and the opposite direction, - while 0 oscillates only between the punch and the start position - If TRUE the tween will smoothly snap all values to integers - - - Shakes a RectTransform's anchoredPosition with the given values. - Also stores the RectTransform as the tween's target so it can be used for filtered operations - The duration of the tween - The shake strength - Indicates how much will the shake vibrate - Indicates how much the shake will be random (0 to 180 - values higher than 90 kind of suck, so beware). - Setting it to 0 will shake along a single direction. - If TRUE the tween will smoothly snap all values to integers - If TRUE the shake will automatically fadeOut smoothly within the tween's duration, otherwise it will not - - - Shakes a RectTransform's anchoredPosition with the given values. - Also stores the RectTransform as the tween's target so it can be used for filtered operations - The duration of the tween - The shake strength on each axis - Indicates how much will the shake vibrate - Indicates how much the shake will be random (0 to 180 - values higher than 90 kind of suck, so beware). - Setting it to 0 will shake along a single direction. - If TRUE the tween will smoothly snap all values to integers - If TRUE the shake will automatically fadeOut smoothly within the tween's duration, otherwise it will not - - - Tweens a RectTransform's anchoredPosition to the given value, while also applying a jump effect along the Y axis. - Returns a Sequence instead of a Tweener. - Also stores the RectTransform as the tween's target so it can be used for filtered operations - The end value to reach - Power of the jump (the max height of the jump is represented by this plus the final Y offset) - Total number of jumps - The duration of the tween - If TRUE the tween will smoothly snap all values to integers - - - Tweens a ScrollRect's horizontal/verticalNormalizedPosition to the given value. - Also stores the ScrollRect as the tween's target so it can be used for filtered operations - The end value to reachThe duration of the tween - If TRUE the tween will smoothly snap all values to integers - - - Tweens a ScrollRect's horizontalNormalizedPosition to the given value. - Also stores the ScrollRect as the tween's target so it can be used for filtered operations - The end value to reachThe duration of the tween - If TRUE the tween will smoothly snap all values to integers - - - Tweens a ScrollRect's verticalNormalizedPosition to the given value. - Also stores the ScrollRect as the tween's target so it can be used for filtered operations - The end value to reachThe duration of the tween - If TRUE the tween will smoothly snap all values to integers - - - Tweens a Slider's value to the given value. - Also stores the Slider as the tween's target so it can be used for filtered operations - The end value to reachThe duration of the tween - If TRUE the tween will smoothly snap all values to integers - - - Tweens a Text's color to the given value. - Also stores the Text as the tween's target so it can be used for filtered operations - The end value to reachThe duration of the tween - - - Tweens a Text's alpha color to the given value. - Also stores the Text as the tween's target so it can be used for filtered operations - The end value to reachThe duration of the tween - - - Tweens a Text's text to the given value. - Also stores the Text as the tween's target so it can be used for filtered operations - The end string to tween toThe duration of the tween - If TRUE (default), rich text will be interpreted correctly while animated, - otherwise all tags will be considered as normal text - The type of scramble mode to use, if any - A string containing the characters to use for scrambling. - Use as many characters as possible (minimum 10) because DOTween uses a fast scramble mode which gives better results with more characters. - Leave it to NULL (default) to use default ones - - - Tweens a Graphic's color to the given value, - in a way that allows other DOBlendableColor tweens to work together on the same target, - instead than fight each other as multiple DOColor would do. - Also stores the Graphic as the tween's target so it can be used for filtered operations - The value to tween toThe duration of the tween - - - Tweens a Image's color to the given value, - in a way that allows other DOBlendableColor tweens to work together on the same target, - instead than fight each other as multiple DOColor would do. - Also stores the Image as the tween's target so it can be used for filtered operations - The value to tween toThe duration of the tween - - - Tweens a Text's color BY the given value, - in a way that allows other DOBlendableColor tweens to work together on the same target, - instead than fight each other as multiple DOColor would do. - Also stores the Text as the tween's target so it can be used for filtered operations - The value to tween toThe duration of the tween - - - diff --git a/_DOTween.Assembly/bin/DOTween50.dll b/_DOTween.Assembly/bin/DOTween50.dll deleted file mode 100644 index d8acdcd51f9826ae3497791f3ab671de348477d7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7680 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 diff --git a/_DOTween.Assembly/bin/DOTween50.dll.mdb b/_DOTween.Assembly/bin/DOTween50.dll.mdb deleted file mode 100644 index 47d825a71f6178a169cb146ca5c59c63109888d9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1780 zcmb`Ik580!9LGP;-96vuc}@x|0#Xspi_8_G=mv(RyF^!|SDxo7?Xe#iUXZ(g78 zb9|of_xn7gwXMH9E$4FaY)TBhYv+ahUxyd%_4K_IZ5dZP%7|8@)axL!!!P3ZOgPWo zW}b>%AQQzT1at7~_!z@b;TmLvsy*|3p2a@DN3Yk7&}yIG|MJq(@``-FyKJG?TkQ4u zOF~AdzQ!D+2N^<2KqIabG-iNy`5)G}YsL_q8(qJSSt_wu@ zvLx5cU2zXZi-(R&a~2Q8mwYmM;#}>S*v|D?{U2Pt{Kxd18Q0dF_00|wwiR249hWH8 z?R6DBSK#*>p+Kb($&)0B?{F$T&-Y$hph5NwTbe|u9Cpx2M;{IjhW%-QE;;Bo$L}U8 z6zCrZ{p+}6BDX->WQxh#aiaKz%LHnY>44m9qE`j_T&52Bh>5BM>XxZT{>nr_fd*vy zLB3$3wE|s{X+-|hL>nc+?#lF^JZ7?3g6(3on>8d3vb{0EK4jF!+D+D+V4aNOtc$bc zYGjkcW}hIvu;ke+Fk3&Puh~H2A{3so3fCB2XE&@ufmPV7&=zH@B31xblvsskg<6zW ztFXc0`cIBMRMC#u8tE-Z^Se zX^;9oe|(cSHkllD`*>cox2e>we#VQ$;iFQKo8vE4>Q;L!oGs=Ks`R6J(Sj~>?sb)J zs5dQ~E9P#}XtTD3zc0l1=9_c(YP3(=Z{hi3Zihxkw4)YuW3Fi8lt#T;pT(Do$vn(C&JU9 z6y%xk>CgknZg>&&AaWIa1(b^XHhc{<9=Q?z9`q3Mr|^T&!^pkxFQ7+|hvDa;bYu-T zVS_S|C&AMpy#HAtd=~T=@-p}$Xacehe;t~L{1!Y6O+wxU-wI_Re*|xWCL^DKAA_=y z&%;kcQ;@H~e}SeV+pu_lBR`Iuft(6WL(YY}Anb+sABCl&JBekY4S<}x06BjWAGjr& G0skLprD4 - - - DOTween50 - - - - - Methods that extend known Unity objects and allow to directly create and control tweens from their instances. - These, as all DOTween50 methods, require Unity 5.0 or later. - - - - Tweens an AudioMixer's exposed float to the given value. - Also stores the AudioMixer as the tween's target so it can be used for filtered operations. - Note that you need to manually expose a float in an AudioMixerGroup in order to be able to tween it from an AudioMixer. - Name given to the exposed float to set - The end value to reachThe duration of the tween - - - - Completes all tweens that have this target as a reference - (meaning tweens that were started from this target, or that had this target added as an Id) - and returns the total number of tweens completed - (meaning the tweens that don't have infinite loops and were not already complete) - - For Sequences only: if TRUE also internal Sequence callbacks will be fired, - otherwise they will be ignored - - - - Kills all tweens that have this target as a reference - (meaning tweens that were started from this target, or that had this target added as an Id) - and returns the total number of tweens killed. - - If TRUE completes the tween before killing it - - - - Flips the direction (backwards if it was going forward or viceversa) of all tweens that have this target as a reference - (meaning tweens that were started from this target, or that had this target added as an Id) - and returns the total number of tweens flipped. - - - - - Sends to the given position all tweens that have this target as a reference - (meaning tweens that were started from this target, or that had this target added as an Id) - and returns the total number of tweens involved. - - Time position to reach - (if higher than the whole tween duration the tween will simply reach its end) - If TRUE will play the tween after reaching the given position, otherwise it will pause it - - - - Pauses all tweens that have this target as a reference - (meaning tweens that were started from this target, or that had this target added as an Id) - and returns the total number of tweens paused. - - - - - Plays all tweens that have this target as a reference - (meaning tweens that were started from this target, or that had this target added as an Id) - and returns the total number of tweens played. - - - - - Plays backwards all tweens that have this target as a reference - (meaning tweens that were started from this target, or that had this target added as an Id) - and returns the total number of tweens played. - - - - - Plays forward all tweens that have this target as a reference - (meaning tweens that were started from this target, or that had this target added as an Id) - and returns the total number of tweens played. - - - - - Restarts all tweens that have this target as a reference - (meaning tweens that were started from this target, or that had this target added as an Id) - and returns the total number of tweens restarted. - - - - - Rewinds all tweens that have this target as a reference - (meaning tweens that were started from this target, or that had this target added as an Id) - and returns the total number of tweens rewinded. - - - - - Smoothly rewinds all tweens that have this target as a reference - (meaning tweens that were started from this target, or that had this target added as an Id) - and returns the total number of tweens rewinded. - - - - - Toggles the paused state (plays if it was paused, pauses if it was playing) of all tweens that have this target as a reference - (meaning tweens that were started from this target, or that had this target added as an Id) - and returns the total number of tweens involved. - - - - - Methods that extend Tween objects and allow to control or get data from them. - These require at least Unity 5.3 - - - - - Returns a that waits until the tween is killed or complete. - It can be used inside a coroutine as a yield. - Example usage:yield return myTween.WaitForCompletion(true); - - - - - Returns a that waits until the tween is killed or rewinded. - It can be used inside a coroutine as a yield. - Example usage:yield return myTween.WaitForRewind(); - - - - - Returns a that waits until the tween is killed. - It can be used inside a coroutine as a yield. - Example usage:yield return myTween.WaitForKill(); - - - - - Returns a that waits until the tween is killed or has gone through the given amount of loops. - It can be used inside a coroutine as a yield. - Example usage:yield return myTween.WaitForElapsedLoops(2); - - Elapsed loops to wait for - - - - Returns a that waits until the tween is killed or has reached the given position (loops included, delays excluded). - It can be used inside a coroutine as a yield. - Example usage:yield return myTween.WaitForPosition(2.5f); - - Position (loops included, delays excluded) to wait for - - - - Returns a that waits until the tween is killed or started - (meaning when the tween is set in a playing state the first time, after any eventual delay). - It can be used inside a coroutine as a yield. - Example usage:yield return myTween.WaitForStart(); - - - - diff --git a/_DOTween.Assembly/bin/Modules/DOTweenModuleAudio.cs b/_DOTween.Assembly/bin/Modules/DOTweenModuleAudio.cs index ec2be84..c9b77af 100644 --- a/_DOTween.Assembly/bin/Modules/DOTweenModuleAudio.cs +++ b/_DOTween.Assembly/bin/Modules/DOTweenModuleAudio.cs @@ -35,7 +35,7 @@ namespace DG.Tweening #endregion -#if UNITY_5 || UNITY_2017_0_OR_NEWER +#if UNITY_5 || UNITY_2017_1_OR_NEWER #region AudioMixer (Unity 5 or Newer) /// Tweens an AudioMixer's exposed float to the given value. diff --git a/_DOTween.Assembly/bin/Modules/DOTweenModulePhysics2D.cs b/_DOTween.Assembly/bin/Modules/DOTweenModulePhysics2D.cs index b99b8ab..ba8625f 100644 --- a/_DOTween.Assembly/bin/Modules/DOTweenModulePhysics2D.cs +++ b/_DOTween.Assembly/bin/Modules/DOTweenModulePhysics2D.cs @@ -1,7 +1,7 @@ // Author: Daniele Giardini - http://www.demigiant.com // Created: 2018/07/13 -#if DOTPHYSICS2D && (UNITY_4_3 || UNITY_4_4 || UNITY_4_5 || UNITY_4_6 || UNITY_5 || UNITY_2017_0_OR_NEWER) +#if DOTPHYSICS2D && (UNITY_4_3 || UNITY_4_4 || UNITY_4_5 || UNITY_4_6 || UNITY_5 || UNITY_2017_1_OR_NEWER) using System; using UnityEngine; diff --git a/_DOTween.Assembly/bin/Modules/DOTweenModuleSprite.cs b/_DOTween.Assembly/bin/Modules/DOTweenModuleSprite.cs index 91505c9..21f5d60 100644 --- a/_DOTween.Assembly/bin/Modules/DOTweenModuleSprite.cs +++ b/_DOTween.Assembly/bin/Modules/DOTweenModuleSprite.cs @@ -1,7 +1,7 @@ // Author: Daniele Giardini - http://www.demigiant.com // Created: 2018/07/13 -#if DOTSPRITE && (UNITY_4_3 || UNITY_4_4 || UNITY_4_5 || UNITY_4_6 || UNITY_5 || UNITY_2017_0_OR_NEWER) +#if DOTSPRITE && (UNITY_4_3 || UNITY_4_4 || UNITY_4_5 || UNITY_4_6 || UNITY_5 || UNITY_2017_1_OR_NEWER) using System; using UnityEngine; using DG.Tweening.Core; diff --git a/_DOTween.Assembly/bin/Modules/DOTweenModuleUI.cs b/_DOTween.Assembly/bin/Modules/DOTweenModuleUI.cs index 1eaca57..de800d5 100644 --- a/_DOTween.Assembly/bin/Modules/DOTweenModuleUI.cs +++ b/_DOTween.Assembly/bin/Modules/DOTweenModuleUI.cs @@ -1,7 +1,7 @@ // Author: Daniele Giardini - http://www.demigiant.com // Created: 2018/07/13 -#if DOTUI && (UNITY_4_6 || UNITY_5 || UNITY_2017_0_OR_NEWER) +#if DOTUI && (UNITY_4_6 || UNITY_5 || UNITY_2017_1_OR_NEWER) using System; using UnityEngine; using UnityEngine.UI; diff --git a/_DOTween.Assembly/bin/Modules/DOTweenModuleUnityVersion.cs b/_DOTween.Assembly/bin/Modules/DOTweenModuleUnityVersion.cs index d8d0997..751a0a7 100644 --- a/_DOTween.Assembly/bin/Modules/DOTweenModuleUnityVersion.cs +++ b/_DOTween.Assembly/bin/Modules/DOTweenModuleUnityVersion.cs @@ -14,7 +14,7 @@ namespace DG.Tweening /// public static class DOTweenModuleUnityVersion { -#if UNITY_4_3 || UNITY_4_4 || UNITY_4_5 || UNITY_4_6 || UNITY_5 || UNITY_2017_0_OR_NEWER +#if UNITY_4_3 || UNITY_4_4 || UNITY_4_5 || UNITY_4_6 || UNITY_5 || UNITY_2017_1_OR_NEWER #region Unity 4.3 or Newer #region Material @@ -71,7 +71,7 @@ namespace DG.Tweening #endregion #endif -#if UNITY_5_3_OR_NEWER || UNITY_2017_0_OR_NEWER +#if UNITY_5_3_OR_NEWER || UNITY_2017_1_OR_NEWER #region CustomYieldInstructions (Unity 5.3 or Newer) /// @@ -169,7 +169,7 @@ namespace DG.Tweening // ███ CLASSES █████████████████████████████████████████████████████████████████████████████████████████████████████████ // █████████████████████████████████████████████████████████████████████████████████████████████████████████████████████ -#if UNITY_5_3_OR_NEWER || UNITY_2017_0_OR_NEWER +#if UNITY_5_3_OR_NEWER || UNITY_2017_1_OR_NEWER public static class DOTweenCYInstruction { public class WaitForCompletion : CustomYieldInstruction