using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEditor; namespace ActionTool { internal class ActionEditorStyles { public GUIStyle textBold; public GUIStyle selectObj; public GUIStyle textSmall; public GUIStyle boxToggle; public GUIStyle keyFrameButton; Texture2D m_SelectIcon; private static ActionEditorStyles s_instance; public static ActionEditorStyles Get() { bool flag = s_instance == null; if (flag) { s_instance = new ActionEditorStyles(); } return s_instance; } private ActionEditorStyles() { m_SelectIcon = (Texture2D)Resources.Load("select_white"); m_SelectIcon.filterMode = FilterMode.Point; InitStyle(out textBold, GUI.skin.label, s => { s.fontStyle = FontStyle.Bold; }); InitStyle(out selectObj, GUI.skin.button, s => { s.normal.background = m_SelectIcon; s.active.background = m_SelectIcon; s.focused.background = m_SelectIcon; s.hover.background = m_SelectIcon; s.normal.background = m_SelectIcon; }); InitStyle(out textSmall, GUI.skin.label, s => { s.fontSize = 8; }); InitStyle(out boxToggle, EditorStyles.miniButtonLeft, s => { s.fontSize = 8; s.normal.textColor = Color.white; //s.normal.background = null; s.active.textColor = Color.white; //s.active.background = null; }); InitStyle(out keyFrameButton, GUI.skin.button, s => { s.fontSize = 8; }); } private delegate void Initter(GUIStyle style); private static void InitStyle(out GUIStyle normal, GUIStyle other, Initter initter) { normal = new GUIStyle(other); initter(normal); } private static void InitStyle(out GUIStyle normal, Initter initter) { normal = new GUIStyle(); initter(normal); } } }