| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129 | using System.IO;using UnityEditor;using UnityEngine;namespace MPUIKIT.Editor {    [InitializeOnLoad]    internal static class MPEditorContents {        private static string _mpuiKitImagesDirectory = string.Empty;        private static GUIContent _flipHorizontalNormal, _flipHorizontalActive;        private static GUIContent _flipVerticalNormal, _flipVerticalActive;        private static GUIContent _rotateLeftNormal, _rotateLeftActive;        private static GUIContent _rotateRightNormal, _rotateRightActive;        private static Texture2D _logo, _background, _title;        public static GUIContent FlipHorizontalNormal {            get {                if (_flipHorizontalNormal != null) return _flipHorizontalNormal;                _flipHorizontalNormal = new GUIContent(LoadImage("flip_h", false));                return _flipHorizontalNormal;            }        }        public static GUIContent FlipHorizontalActive {            get {                if (_flipHorizontalActive != null) return _flipHorizontalActive;                _flipHorizontalActive = new GUIContent(LoadImage("flip_h", true));                return _flipHorizontalActive;            }        }        public static GUIContent FlipVerticalNormal {            get {                if (_flipVerticalNormal != null) return _flipVerticalNormal;                _flipVerticalNormal = new GUIContent(LoadImage("flip_v", false));                return _flipVerticalNormal;            }        }        public static GUIContent FlipVerticalActive {            get {                if (_flipVerticalActive != null) return _flipVerticalActive;                _flipVerticalActive = new GUIContent(LoadImage("flip_v", true));                return _flipVerticalActive;            }        }        public static GUIContent RotateLeftNormal {            get {                if (_rotateLeftNormal != null) return _rotateLeftNormal;                _rotateLeftNormal = new GUIContent(LoadImage("rotate_left", false));                return _rotateLeftNormal;            }        }        public static GUIContent RotateLeftActive {            get {                if (_rotateLeftActive != null) return _rotateLeftActive;                _rotateLeftActive = new GUIContent(LoadImage("rotate_left", true));                return _rotateLeftActive;            }        }        public static GUIContent RotateRightNormal {            get {                if (_rotateRightNormal != null) return _rotateRightNormal;                _rotateRightNormal = new GUIContent(LoadImage("rotate_right", false));                return _rotateRightNormal;            }        }        public static GUIContent RotateRightActive {            get {                if (_rotateRightActive != null) return _rotateRightActive;                _rotateRightActive = new GUIContent(LoadImage("rotate_right", true));                return _rotateRightActive;            }        }        public static Texture Logo {            get {                if (_logo != null) return _logo;                _logo = LoadImage("logo", false, true);                return _logo;            }        }                public static Texture Background {            get {                if (_background != null) return _background;                _background = LoadImage("background", false, true);                return _background;            }        }                public static Texture Title {            get {                if (_title != null) return _title;                _title = LoadImage("title", false, true);                return _title;            }        }        static MPEditorContents() {            FindMpuiKitIconsDirectory();        }        private static void FindMpuiKitIconsDirectory()        {            string rootDir = MPEditorUtility.FindMPUIKitRootDirectory();            _mpuiKitImagesDirectory = string.IsNullOrEmpty(rootDir) ? string.Empty : Path.Combine(rootDir, "Editor", "Images");        }        private static Texture2D LoadImage(string name, bool activeState, bool ignoreState = false) {            int colorLevel = 0;            if (!ignoreState) {                if (activeState) colorLevel = 3;                else colorLevel = EditorGUIUtility.isProSkin ? 2 : 1;            }                        if (_mpuiKitImagesDirectory == string.Empty) FindMpuiKitIconsDirectory();            string assetPath = $"{_mpuiKitImagesDirectory}{Path.DirectorySeparatorChar}{name}{(ignoreState ? string.Empty : $"_{colorLevel}")}.png";            return AssetDatabase.LoadAssetAtPath(assetPath, typeof(Texture2D)) as Texture2D;        }    }}
 |