Exemplo n.º 1
0
        // Checks if deleted folder contains DOTween Pro and in case removes scripting define symbols
        static AssetDeleteResult OnWillDeleteAsset(string asset, RemoveAssetOptions options)
        {
            // Check if asset is a directory
            string dir = EditorUtils.ADBPathToFullPath(asset);

            if (!Directory.Exists(dir))
            {
                return(AssetDeleteResult.DidNotDelete);
            }
            // Check if directory contains DOTweenPro.dll
            string[] files           = Directory.GetFiles(dir, "DOTween.dll", SearchOption.AllDirectories);
            int      len             = files.Length;
            bool     containsDOTween = false;

            for (int i = 0; i < len; ++i)
            {
                if (!files[i].EndsWith("DOTween.dll"))
                {
                    continue;
                }
                containsDOTween = true;
                break;
            }
            if (!containsDOTween)
            {
                return(AssetDeleteResult.DidNotDelete);
            }
            // DOTween found: remove scripting define symbols
            DOTweenSetupMenuItem.ProEditor_RemoveGlobalDefine("DOTWEEN_TK2D");
            DOTweenSetupMenuItem.ProEditor_RemoveGlobalDefine("DOTWEEN_TMP");
            EditorUtility.DisplayDialog("DOTween Deleted", "DOTween was deleted and any 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");
            return(AssetDeleteResult.DidNotDelete);
        }
Exemplo n.º 2
0
 private static void ProEditor_RemoveGlobalDefine(string id)
 {
     if (EditorUtils.hasPro && DOTweenSetupMenuItem.ProEditorAssembly() != null)
     {
         DOTweenSetupMenuItem._proEditorAssembly.GetType("DG.DOTweenEditor.Core.ProEditorUtils").GetMethod("RemoveGlobalDefine", BindingFlags.Static | BindingFlags.Public).Invoke(null, new object[1]
         {
             id
         });
     }
 }
        private void DrawSetupGUI()
        {
            Rect position = new Rect(0f, 30f, this._headerSize.x, this._headerSize.y);

            GUI.DrawTexture(position, this._headerImg, ScaleMode.StretchToFill, false);
            GUILayout.Space((position.y + this._headerSize.y) + 2f);
            GUILayout.Label(this._innerTitle, DOTween.isDebugBuild ? EditorGUIUtils.redLabelStyle : EditorGUIUtils.boldLabelStyle, new GUILayoutOption[0]);
            if (this._setupRequired)
            {
                GUI.backgroundColor = Color.red;
                GUILayout.BeginVertical(GUI.skin.box, new GUILayoutOption[0]);
                GUILayout.Label("DOTWEEN SETUP REQUIRED", EditorGUIUtils.setupLabelStyle, new GUILayoutOption[0]);
                GUILayout.EndVertical();
                GUI.backgroundColor = Color.white;
            }
            else
            {
                GUILayout.Space(8f);
            }
            if (GUILayout.Button("Setup DOTween...", EditorGUIUtils.btStyle, new GUILayoutOption[0]))
            {
                DOTweenSetupMenuItem.Setup(false);
                this._setupRequired = EditorUtils.DOTweenSetupRequired();
            }
            GUILayout.BeginHorizontal(new GUILayoutOption[0]);
            GUILayoutOption[] options = new GUILayoutOption[] { GUILayout.Width(_HalfBtSize) };
            if (GUILayout.Button("Documentation", EditorGUIUtils.btStyle, options))
            {
                Application.OpenURL("http://dotween.demigiant.com/documentation.php");
            }
            GUILayoutOption[] optionArray2 = new GUILayoutOption[] { GUILayout.Width(_HalfBtSize) };
            if (GUILayout.Button("Support", EditorGUIUtils.btStyle, optionArray2))
            {
                Application.OpenURL("http://dotween.demigiant.com/support.php");
            }
            GUILayout.EndHorizontal();
            GUILayout.BeginHorizontal(new GUILayoutOption[0]);
            GUILayoutOption[] optionArray3 = new GUILayoutOption[] { GUILayout.Width(_HalfBtSize) };
            if (GUILayout.Button("Changelog", EditorGUIUtils.btStyle, optionArray3))
            {
                Application.OpenURL("http://dotween.demigiant.com/download.php");
            }
            GUILayoutOption[] optionArray4 = new GUILayoutOption[] { GUILayout.Width(_HalfBtSize) };
            if (GUILayout.Button("Check Updates", EditorGUIUtils.btStyle, optionArray4))
            {
                Application.OpenURL("http://dotween.demigiant.com/download.php?v=" + DOTween.Version);
            }
            GUILayout.EndHorizontal();
            GUILayout.Space(14f);
            if (GUILayout.Button(this._footerImg, EditorGUIUtils.btImgStyle, new GUILayoutOption[0]))
            {
                Application.OpenURL("http://www.demigiant.com/");
            }
        }
Exemplo n.º 4
0
        void OnGUI()
        {
            SetGUIStyles();

            Rect headerRect = new Rect(0, 0, _headerSize.x, _headerSize.y);

            GUI.DrawTexture(headerRect, _headerImg, ScaleMode.StretchToFill, false);
            GUILayout.Space(_headerSize.y + 2);
            GUILayout.Label(_innerTitle, DOTween.isDebugBuild ? _redLabelStyle : _boldLabelStyle);

            if (_setupRequired)
            {
                GUI.backgroundColor = Color.red;
                GUILayout.BeginVertical(GUI.skin.box);
                GUILayout.Label("DOTWEEN SETUP REQUIRED", _setupLabelStyle);
                GUILayout.EndVertical();
                GUI.backgroundColor = Color.white;
            }
            else
            {
                GUILayout.Space(8);
            }
            if (GUILayout.Button("Setup DOTween...", _btStyle))
            {
                DOTweenSetupMenuItem.Setup();
                _setupRequired = EditorUtils.DOTweenSetupRequired();
            }

            GUILayout.BeginHorizontal();
            if (GUILayout.Button("Documentation", _btStyle, GUILayout.Width(_HalfBtSize)))
            {
                Application.OpenURL("http://dotween.demigiant.com/documentation.php");
            }
            if (GUILayout.Button("Support", _btStyle, GUILayout.Width(_HalfBtSize)))
            {
                Application.OpenURL("http://dotween.demigiant.com/support.php");
            }
            GUILayout.EndHorizontal();
            GUILayout.BeginHorizontal();
            if (GUILayout.Button("Changelog", _btStyle, GUILayout.Width(_HalfBtSize)))
            {
                Application.OpenURL("http://dotween.demigiant.com/download.php");
            }
            if (GUILayout.Button("Check Updates", _btStyle, GUILayout.Width(_HalfBtSize)))
            {
                Application.OpenURL("http://dotween.demigiant.com/download.php?v=" + DOTween.Version);
            }
            GUILayout.EndHorizontal();
            GUILayout.Space(14);
            if (GUILayout.Button(_footerImg, _btImgStyle))
            {
                Application.OpenURL("http://www.demigiant.com/");
            }
        }
Exemplo n.º 5
0
        public static void Setup(bool partiallySilent = false)
        {
            if (EditorUtils.DOTweenSetupRequired())
            {
                string message = "Based on your Unity version (" + Application.unityVersion + ") and eventual plugins, DOTween will now activate additional tween elements, if available.";
                if (!EditorUtility.DisplayDialog("DOTween Setup", message, "Ok", "Cancel"))
                {
                    return;
                }
            }
            else
            {
                if (partiallySilent)
                {
                    return;
                }
                string message2 = "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("DOTween Setup", message2, "Force Setup", "Cancel"))
                {
                    return;
                }
            }
            string dotweenDir    = EditorUtils.dotweenDir;
            string dotweenProDir = EditorUtils.dotweenProDir;

            EditorUtility.DisplayProgressBar("DOTween Setup", "Please wait...", 0.25f);
            int num = 0;

            string[] array = Application.unityVersion.Split("."[0]);
            int      num2  = Convert.ToInt32(array[0]);
            int      num3  = Convert.ToInt32(array[1]);

            if (num2 < 4)
            {
                DOTweenSetupMenuItem.SetupComplete(dotweenDir, dotweenProDir, num);
            }
            else
            {
                if (num2 == 4)
                {
                    if (num3 < 3)
                    {
                        DOTweenSetupMenuItem.SetupComplete(dotweenDir, dotweenProDir, num);
                        return;
                    }
                    num += DOTweenSetupMenuItem.ImportAddons("43", dotweenDir);
                    if (num3 >= 6)
                    {
                        num += DOTweenSetupMenuItem.ImportAddons("46", dotweenDir);
                    }
                }
                else
                {
                    num += DOTweenSetupMenuItem.ImportAddons("43", dotweenDir);
                    num += DOTweenSetupMenuItem.ImportAddons("46", dotweenDir);
                    num += DOTweenSetupMenuItem.ImportAddons("50", dotweenDir);
                }
                if (EditorUtils.hasPro)
                {
                    if (DOTweenSetupMenuItem.Has2DToolkit())
                    {
                        num += DOTweenSetupMenuItem.ImportAddons("Tk2d", dotweenProDir);
                        DOTweenSetupMenuItem.ProEditor_AddGlobalDefine("DOTWEEN_TK2D");
                    }
                    else
                    {
                        DOTweenSetupMenuItem.ProEditor_RemoveGlobalDefine("DOTWEEN_TK2D");
                    }
                    if (DOTweenSetupMenuItem.HasTextMeshPro())
                    {
                        num += DOTweenSetupMenuItem.ImportAddons("TextMeshPro", dotweenProDir);
                        DOTweenSetupMenuItem.ProEditor_AddGlobalDefine("DOTWEEN_TMP");
                    }
                    else
                    {
                        DOTweenSetupMenuItem.ProEditor_RemoveGlobalDefine("DOTWEEN_TMP");
                    }
                }
                DOTweenSetupMenuItem.SetupComplete(dotweenDir, dotweenProDir, num);
            }
        }
 public static void SetupWindow()
 {
     DOTweenSetupMenuItem.Setup(false);
 }