using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEditor; namespace ActionTool { internal class ActionEditorStyles { public GUIStyle textBoldBig; public GUIStyle textBoldSmall; public GUIStyle textBoldSmallMid; public GUIStyle textBold; public GUIStyle selectObj; public GUIStyle textSmall; public GUIStyle textMiddle; public GUIStyle textMiddleBold; public GUIStyle boxToggle; public GUIStyle keyFrameButton; public GUIStyle toggleSmallBold; public GUIStyle foldout; public GUIStyle keyButton; public GUIStyle starButton; public GUIStyle starButton2; public Texture2D selectIcon; public Texture2D keyFrameIcon; public Texture2D addFileIcon; public Texture2D saveFileIcon; public Texture2D deleteIcon; public Texture2D infoIcon; public Texture2D keyIcon; public Texture2D recordIcon; public Texture2D starIcon; public Texture2D starIcon2; 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() { selectIcon = (Texture2D)Resources.Load("select_white"); selectIcon.filterMode = FilterMode.Point; keyFrameIcon = EditorGUIUtility.FindTexture("animationkeyframe"); addFileIcon = EditorGUIUtility.FindTexture("d_Collab.FileAdded"); saveFileIcon = EditorGUIUtility.FindTexture("d_Collab.FileUpdated"); deleteIcon = EditorGUIUtility.FindTexture("d_P4_DeletedLocal"); infoIcon = EditorGUIUtility.FindTexture("console.infoicon"); keyIcon = EditorGUIUtility.FindTexture("d_animationkeyframe"); starIcon = EditorGUIUtility.FindTexture("Favorite"); starIcon2 = EditorGUIUtility.FindTexture("Favorite Icon"); recordIcon = EditorGUIUtility.FindTexture("d_Animation.Record"); InitStyle(out textBoldBig, GUI.skin.label, s => { s.fontStyle = FontStyle.Bold; s.fontSize = 18; s.alignment = TextAnchor.MiddleCenter; }); InitStyle(out textBold, GUI.skin.label, s => { s.fontStyle = FontStyle.Bold; }); InitStyle(out textBoldSmall, GUI.skin.label, s => { s.fontSize = 9; s.fontStyle = FontStyle.Bold; }); InitStyle(out textBoldSmallMid, GUI.skin.label, s => { s.fontSize = 9; s.fontStyle = FontStyle.Bold; s.alignment = TextAnchor.MiddleCenter; }); InitStyle(out selectObj, GUI.skin.button, s => { s.normal.background = selectIcon; s.active.background = selectIcon; s.focused.background = selectIcon; s.hover.background = selectIcon; }); InitStyle(out textSmall, GUI.skin.label, s => { s.fontSize = 8; }); InitStyle(out textMiddle, GUI.skin.label, s => { s.fontSize = 10; }); InitStyle(out textMiddleBold, GUI.skin.label, s => { s.fontSize = 10; s.fontStyle = FontStyle.Bold; }); InitStyle(out boxToggle, EditorStyles.miniButtonLeft, s => { s.fontSize = 8; s.normal.textColor = Color.white; s.onNormal.textColor = Color.white; s.active.textColor = Color.white; s.onActive.textColor = Color.white; }); InitStyle(out keyFrameButton, GUI.skin.button, s => { s.fontSize = 9; s.clipping = TextClipping.Overflow; s.alignment = TextAnchor.MiddleCenter; s.fontStyle = FontStyle.Bold; s.normal.textColor = Color.yellow; s.active.textColor = Color.yellow; s.focused.textColor = Color.yellow; s.hover.textColor = Color.yellow; }); InitStyle(out keyButton, GUI.skin.button, s => { s.normal.background = keyIcon; s.active.background = keyIcon; s.hover.background = keyIcon; s.focused.background = keyIcon; }); InitStyle(out starButton, GUI.skin.button, s => { s.normal.background = starIcon; s.active.background = starIcon; s.hover.background = starIcon; s.focused.background = starIcon; }); InitStyle(out starButton2, GUI.skin.button, s => { s.normal.background = starIcon2; s.active.background = starIcon2; s.hover.background = starIcon2; s.focused.background = starIcon2; }); InitStyle(out toggleSmallBold, GUI.skin.toggle, s => { s.fontSize = 10; //s.fontStyle = FontStyle.Bold; }); InitStyle(out foldout, EditorStyles.foldout, s => { }); } 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); } } }