using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEditor; using System; using TinaXEditor.Internal.Utils; namespace TinaXEditor.Utils { public static class EditorGUIUtil { static GUIStyle _horizontalLine; static GUIStyle horizontalLine { get { if (_horizontalLine == null) { _horizontalLine = new GUIStyle(); _horizontalLine.normal.background = EditorGUIUtility.whiteTexture; _horizontalLine.margin = new RectOffset(0, 0, 4, 4); _horizontalLine.fixedHeight = 1; } return _horizontalLine; } } private static Color mLineColor { get { if (_lineColor == null) _lineColor = TinaX.Internal.XEditorColorDefine.Color_Normal; return _lineColor.Value; } } private static Color? _lineColor; /// /// 横线 /// /// /// public static void HorizontalLine(int height , Color color) { Rect rect = EditorGUILayout.GetControlRect(false, height); rect.height = height; EditorGUI.DrawRect(rect, color); } /// /// 横线 /// /// public static void HorizontalLine(int height = 1) { HorizontalLine(height, mLineColor); } /// /// prompt | 输入框 /// /// /// /// public static void Prompt(string title, Action callback, string defaultContent = null) { Prompt(callback, title: title, defaultContent: defaultContent); } public static void Prompt(Action callback, string title = "Message:", string message = ">", string defaultContent = null, string comfirn_btn_text = "Confirm", string cancel_btn_text = null) { if (PromptIMGUI.IsActive) return; ScriptableSingleton.instance.ClearData(); ScriptableSingleton.instance.callback = callback; ScriptableSingleton.instance.defaultContent = defaultContent; ScriptableSingleton.instance.messageContent = message; ScriptableSingleton.instance.title = new GUIContent(title); ScriptableSingleton.instance.confirm_text = comfirn_btn_text; ScriptableSingleton.instance.cancel_text = cancel_btn_text; PromptIMGUI.OpenUI(); } private static bool? _isHans; /// /// 系统是否为国语汉语 /// cmn - 国语(普通话) /// hans - 汉语 /// public static bool IsCmnHans { get { if (_isHans == null) { _isHans = (Application.systemLanguage == SystemLanguage.Chinese || Application.systemLanguage == SystemLanguage.ChineseSimplified); } return _isHans.Value; } } private static bool? _isJapanese; /// /// システムが日本語かどうか /// public static bool IsJapanese { get { if (_isJapanese == null) _isJapanese = (Application.systemLanguage == SystemLanguage.Japanese); return _isJapanese.Value; } } } }