| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134 | using System.IO;using UnityEditor;using UnityEngine;namespace MPUIKIT.Editor{    public class MPUIKitUtilityWindow : EditorWindow    {        private static SerializedObject _graphicsSettingsObj;        private static bool _setup;        private static bool _alreadyShownOnStartup;        private bool _initialized;        private string _version = "Version: 1.2.0";        private static bool _setupIsRequired;        private static UnityEditor.Editor _settingsEditor;        [MenuItem("Window/MPUIKit/Utility Panel")]        public static void ShowWindow()        {            EditorWindow window = GetWindow<MPUIKitUtilityWindow>(true, "MPUIKit Utility Panel", true);            window.minSize = new Vector2(400, 400);            window.maxSize = new Vector2(400, 400);        }        private void OnGUI()        {            TopBannerGUI();            WelcomeGUI();            UtilButtonsGUI();            BottomBarGUI();        }        private static void TopBannerGUI()        {            Rect headingRect = new Rect(0, 0, EditorGUIUtility.currentViewWidth, EditorGUIUtility.singleLineHeight * 5);            Rect backgroundTexCoords = new Rect(0, 0, headingRect.width / headingRect.height, 1);            Texture background = MPEditorContents.Background;            background.wrapMode = TextureWrapMode.Repeat;            GUI.DrawTextureWithTexCoords(headingRect, background, backgroundTexCoords);            float height = headingRect.height;            float width = headingRect.width - height - 30;            Rect titleRect = new Rect(headingRect.width - width - 5, 20, width, height - 30);            GUI.DrawTexture(titleRect, MPEditorContents.Title, ScaleMode.ScaleToFit);            Rect textureRect = headingRect;            textureRect.x = 0;            textureRect.width = textureRect.height - 7;            textureRect.height -= 7;            GUI.DrawTexture(textureRect, MPEditorContents.Logo, ScaleMode.ScaleToFit);            GUILayout.Space(headingRect.height + 20);        }        private static void WelcomeGUI()        {            var style = new GUIStyle(GUI.skin.label) {alignment = TextAnchor.MiddleCenter};            EditorGUILayout.LabelField("Thank you for using", style, GUILayout.ExpandWidth(true));            EditorGUILayout.LabelField("Modern Procedural UI Kit", style, GUILayout.ExpandWidth(true));            GUILayout.Space(20);        }        private static void UtilButtonsGUI()        {            GUILayout.Space(6);            Rect buttonRect = EditorGUILayout.GetControlRect(false, 40 * 3 + 4);            buttonRect.width = (buttonRect.width / 2) - 1;            buttonRect.height = 40;            if (GUI.Button(buttonRect, "Documentation"))            {                Application.OpenURL("https://scrollbie.com/documentations/mpuikit-docs/");            }            buttonRect.x += buttonRect.width + 2;            if (GUI.Button(buttonRect, "Website"))            {                Application.OpenURL("https://scrollbie.com/mpuikit/");            }            buttonRect.y += 42;            buttonRect.x -= buttonRect.width + 2;            if (GUI.Button(buttonRect, "Email"))            {                Application.OpenURL("mailto:support@scrollbie.com");            }            buttonRect.x += buttonRect.width + 2;            if (GUI.Button(buttonRect, "Forum"))            {                Application.OpenURL(                    "https://forum.unity.com/threads/an-advanced-procedural-ui-generation-tool-create-modify-animate-spriteless-ui-even-at-runtime.846772");            }            buttonRect.y += 42;            buttonRect.x -= buttonRect.width + 2;            if (GUI.Button(buttonRect, "Changelog"))            {                Application.OpenURL("https://scrollbie.com/mpuikit/changelog.html");            }            buttonRect.x += buttonRect.width + 2;            if (GUI.Button(buttonRect, "Other Assets"))            {                Application.OpenURL("https://assetstore.unity.com/publishers/29536");            }            if (GUILayout.Button("★ Rate/Review MPUIKit", GUILayout.ExpandWidth(true), GUILayout.Height(40)))            {                Application.OpenURL("https://assetstore.unity.com/packages/slug/163041");            }        }        private void BottomBarGUI()        {            EditorGUILayout.BeginVertical();            {                GUILayout.FlexibleSpace();                EditorGUILayout.BeginHorizontal();                {                    EditorGUILayout.LabelField("© Copyright 2020 Scrollbie Studio", EditorStyles.miniLabel);                    GUIStyle style = new GUIStyle(EditorStyles.miniLabel);                    style.alignment = TextAnchor.MiddleRight;                    GUILayout.FlexibleSpace();                    EditorGUILayout.LabelField(_version, style, GUILayout.Width(120));                }                EditorGUILayout.EndHorizontal();            }            EditorGUILayout.EndVertical();        }    }}
 |