1616 lines
53 KiB
C#
1616 lines
53 KiB
C#
using UnityEditor;
|
|
using UnityEngine;
|
|
using UnityEngine.UIElements;
|
|
|
|
namespace CoInspector
|
|
{
|
|
|
|
internal static class CustomGUIStyles
|
|
{
|
|
static GUIStyle objectListLabel;
|
|
|
|
internal static GUIStyle ObjectListLabel
|
|
{
|
|
get
|
|
{
|
|
if (objectListLabel == null)
|
|
{
|
|
objectListLabel = new GUIStyle(EditorStyles.label)
|
|
{
|
|
alignment = TextAnchor.MiddleCenter,
|
|
wordWrap = true,
|
|
fontSize = 9
|
|
};
|
|
}
|
|
return objectListLabel;
|
|
}
|
|
}
|
|
|
|
static GUIStyle richLabel;
|
|
internal static GUIStyle RichLabel
|
|
{
|
|
get
|
|
{
|
|
if (richLabel == null)
|
|
{
|
|
richLabel = new GUIStyle(EditorStyles.label)
|
|
{
|
|
richText = true,
|
|
wordWrap = true,
|
|
fontSize = 11
|
|
};
|
|
}
|
|
return richLabel;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
static GUIStyle _inspectorSectionStyle;
|
|
internal static GUIStyle InspectorSectionStyle
|
|
{
|
|
get
|
|
{
|
|
if (_inspectorSectionStyle == null)
|
|
{
|
|
_inspectorSectionStyle = new GUIStyle(EditorStyles.toolbar)
|
|
{
|
|
fixedHeight = 0,
|
|
fixedWidth = 0,
|
|
margin = new RectOffset(0, 0, 0, 0),
|
|
padding = new RectOffset(0, 0, 0, 0),
|
|
contentOffset = new Vector2(0, 0),
|
|
};
|
|
}
|
|
return _inspectorSectionStyle;
|
|
}
|
|
}
|
|
|
|
static GUIStyle _inspectorButtonStyle;
|
|
internal static GUIStyle InspectorButtonStyle
|
|
{
|
|
get
|
|
{
|
|
if (_inspectorButtonStyle == null)
|
|
{
|
|
_inspectorButtonStyle = new GUIStyle(AssetToolbarButton)
|
|
{
|
|
fixedHeight = 0,
|
|
fixedWidth = 0,
|
|
margin = new RectOffset(0, 0, 0, 0),
|
|
padding = new RectOffset(0, 0, 0, 0),
|
|
contentOffset = new Vector2(0, 0),
|
|
};
|
|
}
|
|
return _inspectorButtonStyle;
|
|
}
|
|
}
|
|
|
|
|
|
static GUIStyle assetToolbarButton;
|
|
internal static GUIStyle AssetToolbarButton
|
|
{
|
|
get
|
|
{
|
|
if (assetToolbarButton == null)
|
|
{
|
|
assetToolbarButton = new GUIStyle(EditorToolbarButton)
|
|
{
|
|
overflow = new RectOffset(0, 0, 0, 0),
|
|
fixedHeight = 24,
|
|
contentOffset = new Vector2(1, 0),
|
|
|
|
padding = new RectOffset(0, 0, 0, 0)
|
|
};
|
|
}
|
|
return assetToolbarButton;
|
|
|
|
}
|
|
}
|
|
|
|
static GUIStyle transformHistoryButton;
|
|
internal static GUIStyle TransformHistoryButton
|
|
{
|
|
get
|
|
{
|
|
if (transformHistoryButton == null)
|
|
{
|
|
transformHistoryButton = new GUIStyle(EditorToolbarButton)
|
|
{
|
|
overflow = new RectOffset(0, 0, 0, 0),
|
|
contentOffset = new Vector2(0, -2),
|
|
fixedHeight = 22,
|
|
padding = new RectOffset(0, 0, 0, 0)
|
|
};
|
|
}
|
|
if (!EditorUtils.EditorScaleIsOne())
|
|
{
|
|
transformHistoryButton.fixedHeight = 21;
|
|
transformHistoryButton.contentOffset = new Vector2(0, -1);
|
|
}
|
|
return transformHistoryButton;
|
|
}
|
|
}
|
|
static GUIStyle noMarginButton;
|
|
internal static GUIStyle NoMarginButton
|
|
{
|
|
get
|
|
{
|
|
if (noMarginButton == null)
|
|
{
|
|
noMarginButton = new GUIStyle(GUI.skin.button)
|
|
{
|
|
overflow = new RectOffset(0, 0, 0, 0),
|
|
padding = new RectOffset(2, 2, 2, 2)
|
|
};
|
|
}
|
|
return noMarginButton;
|
|
|
|
}
|
|
}
|
|
|
|
static GUIStyle _miniLabel;
|
|
internal static GUIStyle MiniLabel
|
|
{
|
|
get
|
|
{
|
|
if (_miniLabel == null)
|
|
{
|
|
_miniLabel = new GUIStyle(EditorStyles.miniLabel)
|
|
{
|
|
contentOffset = new Vector2(0, 2)
|
|
};
|
|
|
|
}
|
|
return _miniLabel;
|
|
}
|
|
}
|
|
static GUIStyle _richMiniLabel;
|
|
internal static GUIStyle RichMiniLabel
|
|
{
|
|
get
|
|
{
|
|
if (_richMiniLabel == null)
|
|
{
|
|
_richMiniLabel = new GUIStyle(EditorStyles.miniLabel)
|
|
{
|
|
contentOffset = new Vector2(7, 0),
|
|
richText = true,
|
|
wordWrap = false,
|
|
fontSize = 11
|
|
};
|
|
|
|
}
|
|
return _richMiniLabel;
|
|
}
|
|
}
|
|
static GUIStyle filterComponentLabel;
|
|
internal static GUIStyle FilterComponentLabel
|
|
{
|
|
get
|
|
{
|
|
if (filterComponentLabel == null)
|
|
{
|
|
filterComponentLabel = new GUIStyle(EditorStyles.miniLabel)
|
|
{
|
|
contentOffset = new Vector2(0, 0),
|
|
richText = true,
|
|
wordWrap = false,
|
|
fontSize = 10
|
|
};
|
|
}
|
|
return filterComponentLabel;
|
|
}
|
|
}
|
|
|
|
static GUIStyle settingsLabel;
|
|
internal static GUIStyle SettingsLabel
|
|
{
|
|
get
|
|
{
|
|
if (settingsLabel == null)
|
|
{
|
|
settingsLabel = new GUIStyle(EditorStyles.label)
|
|
{
|
|
richText = true,
|
|
contentOffset = new Vector2(0, 2)
|
|
};
|
|
}
|
|
return settingsLabel;
|
|
}
|
|
}
|
|
static GUIStyle settingsSubLabel;
|
|
internal static GUIStyle SettingsSubLabel
|
|
{
|
|
get
|
|
{
|
|
if (settingsSubLabel == null)
|
|
{
|
|
settingsSubLabel = new GUIStyle(EditorStyles.label)
|
|
{
|
|
richText = true,
|
|
contentOffset = new Vector2(0, -1)
|
|
};
|
|
}
|
|
return settingsSubLabel;
|
|
}
|
|
}
|
|
|
|
static GUIStyle settingsFoldout;
|
|
internal static GUIStyle SettingsFoldout
|
|
{
|
|
get
|
|
{
|
|
if (settingsFoldout == null)
|
|
{
|
|
settingsFoldout = new GUIStyle(EditorStyles.foldout)
|
|
{
|
|
fixedWidth = 10,
|
|
padding = new RectOffset(0, 0, 0, 0),
|
|
margin = new RectOffset(0, 0, 0, 0)
|
|
};
|
|
}
|
|
return settingsFoldout;
|
|
}
|
|
}
|
|
static GUIStyle justFoldoutStyle;
|
|
internal static GUIStyle JustFoldoutStyle
|
|
{
|
|
get
|
|
{
|
|
if (justFoldoutStyle == null)
|
|
{
|
|
justFoldoutStyle = new GUIStyle(EditorStyles.foldout)
|
|
{
|
|
// fixedWidth = 10,
|
|
padding = new RectOffset(0, 0, 0, 0),
|
|
margin = new RectOffset(0, 0, 1, 0),
|
|
contentOffset = new Vector2(0, 0)
|
|
};
|
|
}
|
|
return justFoldoutStyle;
|
|
}
|
|
}
|
|
|
|
private static GUIStyle bigBoldLabel;
|
|
internal static GUIStyle BigBoldLabel
|
|
{
|
|
get
|
|
{
|
|
if (bigBoldLabel == null)
|
|
{
|
|
bigBoldLabel = new GUIStyle(EditorStyles.boldLabel)
|
|
{
|
|
fontSize = 15
|
|
};
|
|
}
|
|
return bigBoldLabel;
|
|
}
|
|
}
|
|
private static GUIStyle headerLabel;
|
|
internal static GUIStyle HeaderLabel
|
|
{
|
|
get
|
|
{
|
|
if (headerLabel == null)
|
|
{
|
|
headerLabel = new GUIStyle(EditorStyles.boldLabel)
|
|
{
|
|
alignment = TextAnchor.MiddleCenter,
|
|
richText = true,
|
|
fontSize = 18
|
|
};
|
|
}
|
|
return headerLabel;
|
|
}
|
|
}
|
|
private static GUIStyle mediumLabel;
|
|
internal static GUIStyle MediumLabel
|
|
{
|
|
get
|
|
{
|
|
if (mediumLabel == null)
|
|
{
|
|
mediumLabel = new GUIStyle(EditorStyles.label)
|
|
{
|
|
fontSize = 13
|
|
};
|
|
}
|
|
return mediumLabel;
|
|
}
|
|
}
|
|
|
|
internal static GUIStyle editorToolbarButton;
|
|
internal static GUIStyle EditorToolbarButton
|
|
{
|
|
get
|
|
{
|
|
if (editorToolbarButton == null)
|
|
{
|
|
editorToolbarButton = GUI.skin.FindStyle("toolbarbutton");
|
|
}
|
|
return editorToolbarButton;
|
|
}
|
|
}
|
|
internal static void StartBoxSection()
|
|
{
|
|
EditorGUILayout.BeginVertical(BoxStyle);
|
|
}
|
|
|
|
internal static void EndBoxSection()
|
|
{
|
|
EditorGUILayout.EndVertical();
|
|
EditorUtils.DrawRectBorder(GUILayoutUtility.GetLastRect(), CustomColors.MediumShadow, 1);
|
|
EditorUtils.DrawLineUnderRect(CustomColors.SimpleBright, 0);
|
|
}
|
|
|
|
private static GUIStyle customHelpBoxStyle;
|
|
internal static GUIStyle CustomHelpBoxStyle
|
|
{
|
|
get
|
|
{
|
|
if (customHelpBoxStyle == null)
|
|
{
|
|
customHelpBoxStyle = new GUIStyle(GUI.skin.GetStyle("helpbox"))
|
|
{
|
|
margin = new RectOffset(15, 8, 0, 0)
|
|
};
|
|
}
|
|
return customHelpBoxStyle;
|
|
}
|
|
}
|
|
|
|
private static GUIStyle customButtonStyle;
|
|
internal static GUIStyle CustomButtonStyle
|
|
{
|
|
get
|
|
{
|
|
if (customButtonStyle == null)
|
|
{
|
|
customButtonStyle = new GUIStyle(GUI.skin.button)
|
|
{
|
|
padding = new RectOffset(0, 0, 4, 4),
|
|
fixedWidth = 40,
|
|
fixedHeight = 24
|
|
};
|
|
}
|
|
return customButtonStyle;
|
|
}
|
|
}
|
|
|
|
private static GUIStyle helpBoxTextStyle;
|
|
internal static GUIStyle HelpBoxTextStyle
|
|
{
|
|
get
|
|
{
|
|
if (helpBoxTextStyle == null)
|
|
{
|
|
helpBoxTextStyle = new GUIStyle(EditorStyles.label)
|
|
{
|
|
padding = new RectOffset(12, 10, 10, 10),
|
|
contentOffset = new Vector2(0, 0),
|
|
wordWrap = true,
|
|
richText = true,
|
|
fontSize = 11
|
|
};
|
|
}
|
|
return helpBoxTextStyle;
|
|
}
|
|
}
|
|
|
|
private static GUIStyle bigHelpBoxTextStyle;
|
|
internal static GUIStyle BigHelpBoxTextStyle
|
|
{
|
|
get
|
|
{
|
|
if (bigHelpBoxTextStyle == null)
|
|
{
|
|
bigHelpBoxTextStyle = new GUIStyle(HelpBoxTextStyle)
|
|
{
|
|
fontSize = 12
|
|
};
|
|
}
|
|
return bigHelpBoxTextStyle;
|
|
}
|
|
}
|
|
|
|
private static GUIStyle helpBoxIconStyle;
|
|
internal static GUIStyle HelpBoxIconStyle
|
|
{
|
|
get
|
|
{
|
|
if (helpBoxIconStyle == null)
|
|
{
|
|
helpBoxIconStyle = new GUIStyle(EditorStyles.label)
|
|
{
|
|
padding = new RectOffset(0, 0, 0, 0),
|
|
alignment = TextAnchor.MiddleCenter,
|
|
contentOffset = new Vector2(0, 0),
|
|
stretchHeight = true,
|
|
margin = new RectOffset(10, 0, 0, 0),
|
|
};
|
|
}
|
|
return helpBoxIconStyle;
|
|
}
|
|
}
|
|
|
|
private static GUIStyle settingsBoldLabel;
|
|
internal static GUIStyle SettingsBoldLabel
|
|
{
|
|
get
|
|
{
|
|
if (settingsBoldLabel == null)
|
|
{
|
|
settingsBoldLabel = new GUIStyle(EditorStyles.boldLabel)
|
|
{
|
|
fontSize = 13
|
|
};
|
|
}
|
|
return settingsBoldLabel;
|
|
}
|
|
}
|
|
|
|
static GUIStyle assetToolbarButton_Open;
|
|
internal static GUIStyle AssetToolbarButton_Open
|
|
{
|
|
get
|
|
{
|
|
if (assetToolbarButton_Open == null)
|
|
{
|
|
assetToolbarButton_Open = new GUIStyle(EditorToolbarButton)
|
|
{
|
|
overflow = new RectOffset(0, 0, 0, 0),
|
|
fixedHeight = 23,
|
|
#if UNITY_2023_1_OR_NEWER
|
|
fontSize = 8,
|
|
#else
|
|
fontSize = 9,
|
|
#endif
|
|
fontStyle = FontStyle.Bold,
|
|
contentOffset = new Vector2(-1, 0),
|
|
|
|
padding = new RectOffset(0, 1, 5, 4)
|
|
};
|
|
}
|
|
return assetToolbarButton_Open;
|
|
|
|
}
|
|
}
|
|
private static GUIStyle _goNameStyle;
|
|
internal static GUIStyle GOnameStyle
|
|
{
|
|
get
|
|
{
|
|
if (_goNameStyle == null)
|
|
{
|
|
_goNameStyle = new GUIStyle(EditorStyles.textField)
|
|
{
|
|
fontStyle = FontStyle.Bold
|
|
};
|
|
}
|
|
return _goNameStyle;
|
|
}
|
|
}
|
|
|
|
private static GUIStyle _boxStyle;
|
|
internal static GUIStyle BoxStyle
|
|
{
|
|
get
|
|
{
|
|
if (_boxStyle == null)
|
|
{
|
|
_boxStyle = new GUIStyle(GUI.skin.box)
|
|
{
|
|
richText = true,
|
|
alignment = TextAnchor.MiddleLeft,
|
|
fontSize = 12,
|
|
padding = new RectOffset(10, 15, 5, 5),
|
|
border = new RectOffset(2, 2, 2, 2)
|
|
};
|
|
}
|
|
return _boxStyle;
|
|
}
|
|
}
|
|
private static GUIStyle _componentBoxStyle;
|
|
internal static GUIStyle ComponentBoxStyle
|
|
{
|
|
get
|
|
{
|
|
if (_componentBoxStyle == null)
|
|
{
|
|
_componentBoxStyle = new GUIStyle(GUI.skin.box)
|
|
{
|
|
richText = true,
|
|
alignment = TextAnchor.MiddleCenter,
|
|
fontSize = 12,
|
|
padding = new RectOffset(4, 0, 4, 4),
|
|
border = new RectOffset(2, 2, 2, 2)
|
|
};
|
|
}
|
|
return _componentBoxStyle;
|
|
}
|
|
}
|
|
|
|
private static GUIStyle _boxStylePadding;
|
|
internal static GUIStyle BoxStylePadding
|
|
{
|
|
get
|
|
{
|
|
if (_boxStylePadding == null)
|
|
{
|
|
_boxStylePadding = new GUIStyle(GUI.skin.box)
|
|
{
|
|
richText = true,
|
|
alignment = TextAnchor.MiddleLeft,
|
|
fontSize = 12,
|
|
padding = new RectOffset(10, 15, 5, 5),
|
|
margin = new RectOffset(10, 10, 0, 0),
|
|
border = new RectOffset(2, 2, 2, 2)
|
|
};
|
|
}
|
|
return _boxStylePadding;
|
|
}
|
|
}
|
|
private static GUIStyle _boldLabel;
|
|
internal static GUIStyle BoldLabel
|
|
{
|
|
get
|
|
{
|
|
if (_boldLabel == null)
|
|
{
|
|
_boldLabel = new GUIStyle(EditorStyles.label)
|
|
{
|
|
fontStyle = FontStyle.Bold,
|
|
contentOffset = new Vector2(0, 0),
|
|
|
|
};
|
|
}
|
|
return _boldLabel;
|
|
}
|
|
}
|
|
|
|
internal static GUIStyle ButtonsUpRight
|
|
{
|
|
get
|
|
{
|
|
if (_buttonsUpRight == null)
|
|
{
|
|
_buttonsUpRight = new GUIStyle(IconButton)
|
|
{
|
|
fontSize = 11,
|
|
fixedHeight = 20,
|
|
fixedWidth = 20,
|
|
stretchWidth = true,
|
|
fontStyle = FontStyle.Bold,
|
|
alignment = TextAnchor.MiddleCenter,
|
|
};
|
|
}
|
|
return _buttonsUpRight;
|
|
}
|
|
}
|
|
static GUIStyle _buttonsUpLeft;
|
|
internal static GUIStyle ButtonsUpLeft
|
|
{
|
|
get
|
|
{
|
|
if (_buttonsUpLeft == null)
|
|
{
|
|
_buttonsUpLeft = new GUIStyle(IconButton)
|
|
{
|
|
fontSize = 11,
|
|
stretchWidth = true,
|
|
fontStyle = FontStyle.Bold,
|
|
alignment = TextAnchor.MiddleCenter,
|
|
};
|
|
}
|
|
return _buttonsUpLeft;
|
|
}
|
|
}
|
|
private static GUIStyle _filterButtonStyle;
|
|
internal static GUIStyle FilterButtonStyle
|
|
{
|
|
get
|
|
{
|
|
if (_filterButtonStyle == null)
|
|
{
|
|
_filterButtonStyle = new GUIStyle(IconButton)
|
|
{
|
|
fontSize = 11,
|
|
fixedHeight = 20,
|
|
fixedWidth = 13,
|
|
stretchWidth = true,
|
|
fontStyle = FontStyle.Bold,
|
|
alignment = TextAnchor.MiddleCenter,
|
|
padding = new RectOffset(0, 0, 0, 0),
|
|
border = new RectOffset(0, 0, 0, 0),
|
|
contentOffset = new Vector2(0, 0),
|
|
margin = new RectOffset(0, 0, 0, 0),
|
|
};
|
|
}
|
|
return _filterButtonStyle;
|
|
}
|
|
}
|
|
|
|
private static GUIStyle _filterStyle;
|
|
internal static GUIStyle FilterStyle
|
|
{
|
|
get
|
|
{
|
|
if (_filterStyle == null)
|
|
{
|
|
_filterStyle = new GUIStyle(EditorStyles.miniTextField)
|
|
{
|
|
fontSize = 11,
|
|
fixedHeight = 14,
|
|
padding = new RectOffset(15, 0, 0, 0),
|
|
contentOffset = new Vector2(0, 0)
|
|
};
|
|
}
|
|
return _filterStyle;
|
|
}
|
|
}
|
|
|
|
private static GUIStyle _emptyButton;
|
|
internal static GUIStyle EmptyButton
|
|
{
|
|
get
|
|
{
|
|
if (_emptyButton == null)
|
|
{
|
|
_emptyButton = new GUIStyle(IconButton)
|
|
{
|
|
fontSize = 11,
|
|
stretchWidth = true,
|
|
fontStyle = FontStyle.Bold,
|
|
alignment = TextAnchor.MiddleCenter,
|
|
padding = new RectOffset(0, 0, 0, 0),
|
|
};
|
|
}
|
|
return _emptyButton;
|
|
}
|
|
}
|
|
|
|
|
|
private static GUIStyle logoStyle;
|
|
internal static GUIStyle LogoStyle
|
|
{
|
|
get
|
|
{
|
|
if (logoStyle == null)
|
|
{
|
|
logoStyle = new GUIStyle(EditorStyles.label)
|
|
{
|
|
fontSize = 12,
|
|
richText = true,
|
|
wordWrap = true,
|
|
alignment = TextAnchor.MiddleCenter
|
|
|
|
};
|
|
}
|
|
|
|
return logoStyle;
|
|
}
|
|
}
|
|
|
|
internal static void InfoLabel(string text)
|
|
{
|
|
EditorGUILayout.BeginHorizontal();
|
|
GUIStyle wrapStyle = WrapLabelStyle;
|
|
int indent = EditorGUI.indentLevel;
|
|
EditorGUI.indentLevel = 2;
|
|
EditorGUILayout.LabelField(text, wrapStyle);
|
|
EditorGUI.indentLevel = indent;
|
|
EditorGUILayout.EndHorizontal();
|
|
Rect rect = EditorUtils.GetLastLineRect();
|
|
EditorUtils.DrawLineOverRect(rect, 2);
|
|
EditorUtils.DrawLineOverRect(rect, CustomColors.MediumShadow, 3);
|
|
EditorUtils.DrawLineUnderRect(rect, CustomColors.HardShadow, 2);
|
|
rect.x += 10;
|
|
rect.y -= 1;
|
|
rect.width = 17;
|
|
GUI.Label(rect, CustomGUIContents.InfoButtonImage);
|
|
}
|
|
|
|
internal static void InfoLabel(string text, VisualElement root)
|
|
{
|
|
EditorGUILayout.BeginHorizontal();
|
|
GUIStyle wrapStyle = WrapLabelStyle;
|
|
int indent = EditorGUI.indentLevel;
|
|
EditorGUI.indentLevel = 2;
|
|
EditorGUILayout.LabelField(text, wrapStyle);
|
|
EditorGUI.indentLevel = indent;
|
|
EditorGUILayout.EndHorizontal();
|
|
Rect rect = EditorUtils.GetLastLineRect();
|
|
if (root != null)
|
|
{
|
|
rect.width = root.layout.width;
|
|
}
|
|
EditorUtils.DrawLineOverRect(rect, 2);
|
|
EditorUtils.DrawLineOverRect(rect, CustomColors.MediumShadow, 3);
|
|
rect.x += 10;
|
|
rect.y -= 1;
|
|
rect.width = 17;
|
|
GUI.Label(rect, CustomGUIContents.InfoButtonImage);
|
|
|
|
}
|
|
|
|
internal static void HelpBox(string text, bool centered = false, bool big = false)
|
|
{
|
|
if (centered)
|
|
{
|
|
|
|
HelpBoxTextStyle.alignment = TextAnchor.MiddleCenter;
|
|
}
|
|
else
|
|
{
|
|
|
|
HelpBoxTextStyle.alignment = TextAnchor.MiddleLeft;
|
|
}
|
|
if (big)
|
|
{
|
|
HelpBoxTextStyle.fontSize = 12;
|
|
}
|
|
else
|
|
{
|
|
HelpBoxTextStyle.fontSize = 11;
|
|
}
|
|
bool isPro = EditorGUIUtility.isProSkin;
|
|
Color color = GUI.backgroundColor;
|
|
if (!isPro)
|
|
{
|
|
GUI.backgroundColor = CustomColors.DarkInspector;
|
|
}
|
|
EditorGUILayout.BeginHorizontal(CustomHelpBoxStyle);
|
|
GUILayout.Label(CustomGUIContents.InfoButtonImage, HelpBoxIconStyle, GUILayout.Width(25));
|
|
Rect lastRect = GUILayoutUtility.GetLastRect();
|
|
lastRect.width = 1;
|
|
lastRect.x += 30;
|
|
lastRect.height -= 10;
|
|
lastRect.y += 5;
|
|
float multiplier = 1.5f;
|
|
if (!isPro)
|
|
{
|
|
multiplier = 1.1f;
|
|
}
|
|
EditorGUI.DrawRect(lastRect, CustomColors.CustomGreen / multiplier);
|
|
GUILayout.Label(text, HelpBoxTextStyle);
|
|
EditorGUILayout.EndHorizontal();
|
|
GUI.backgroundColor = color;
|
|
lastRect = GUILayoutUtility.GetLastRect();
|
|
EditorUtils.DrawLineOverRect(lastRect, CustomColors.SimpleBright, -1);
|
|
EditorUtils.DrawRectBorder(lastRect, CustomColors.MediumShadow, 1);
|
|
}
|
|
|
|
internal static void HelpBox(GUIContent text, bool centered = false)
|
|
{
|
|
if (centered)
|
|
{
|
|
HelpBoxTextStyle.fontSize = 12;
|
|
HelpBoxTextStyle.alignment = TextAnchor.MiddleCenter;
|
|
}
|
|
else
|
|
{
|
|
HelpBoxTextStyle.fontSize = 11;
|
|
HelpBoxTextStyle.alignment = TextAnchor.MiddleLeft;
|
|
}
|
|
bool isPro = EditorGUIUtility.isProSkin;
|
|
Color color = GUI.backgroundColor;
|
|
if (!isPro)
|
|
{
|
|
GUI.backgroundColor = CustomColors.DarkInspector;
|
|
}
|
|
EditorGUILayout.BeginHorizontal(CustomHelpBoxStyle);
|
|
GUILayout.Label(CustomGUIContents.InfoButtonImage, HelpBoxIconStyle, GUILayout.Width(25));
|
|
Rect lastRect = GUILayoutUtility.GetLastRect();
|
|
lastRect.width = 1;
|
|
lastRect.x += 30;
|
|
lastRect.height -= 10;
|
|
lastRect.y += 5;
|
|
float multiplier = 1.5f;
|
|
if (!isPro)
|
|
{
|
|
multiplier = 1.1f;
|
|
}
|
|
EditorGUI.DrawRect(lastRect, CustomColors.CustomGreen / multiplier);
|
|
GUILayout.Label(text, HelpBoxTextStyle);
|
|
EditorGUILayout.EndHorizontal();
|
|
GUI.backgroundColor = color;
|
|
|
|
lastRect = GUILayoutUtility.GetLastRect();
|
|
EditorUtils.DrawLineOverRect(lastRect, CustomColors.SimpleBright, -1);
|
|
EditorUtils.DrawRectBorder(lastRect, CustomColors.MediumShadow, 1);
|
|
}
|
|
|
|
private static GUIStyle _iconButton;
|
|
internal static GUIStyle IconButton
|
|
{
|
|
get
|
|
{
|
|
if (_iconButton == null)
|
|
{
|
|
_iconButton = new GUIStyle(GUI.skin.FindStyle("IconButton"));
|
|
}
|
|
return _iconButton;
|
|
}
|
|
}
|
|
|
|
private static Texture2D CreateBackgroundColorTexture(Color color)
|
|
{
|
|
Texture2D texture = new Texture2D(1, 1);
|
|
texture.SetPixel(0, 0, color);
|
|
texture.Apply();
|
|
return texture;
|
|
}
|
|
|
|
|
|
|
|
private static GUIStyle _buttonsUpRightWide;
|
|
internal static GUIStyle ButtonsUpRight_Wide
|
|
{
|
|
get
|
|
{
|
|
if (_buttonsUpRightWide == null)
|
|
{
|
|
|
|
_buttonsUpRightWide = new GUIStyle(IconButton)
|
|
{
|
|
fontSize = 11,
|
|
fixedHeight = 20,
|
|
fixedWidth = 30,
|
|
|
|
fontStyle = FontStyle.Bold,
|
|
alignment = TextAnchor.MiddleCenter,
|
|
padding = new RectOffset(0, 0, 0, 0),
|
|
border = new RectOffset(0, 0, 0, 0),
|
|
};
|
|
}
|
|
return _buttonsUpRightWide;
|
|
}
|
|
}
|
|
|
|
private static GUILayoutOption[] _toolBarOptions;
|
|
private static float currentWidth = 0;
|
|
internal static GUILayoutOption[] ToolBarOptions(float width)
|
|
{
|
|
if (_toolBarOptions == null || currentWidth != width)
|
|
{
|
|
currentWidth = width;
|
|
_toolBarOptions = new GUILayoutOption[]
|
|
{
|
|
GUILayout.Height(25),
|
|
GUILayout.ExpandWidth(true),
|
|
GUILayout.MaxWidth(width - 24)
|
|
};
|
|
}
|
|
return _toolBarOptions;
|
|
}
|
|
|
|
private static float _lastUserHeight;
|
|
private static GUILayoutOption[] _userHeightOptions;
|
|
|
|
internal static GUILayoutOption[] GetUserHeightOptions(float userHeight)
|
|
{
|
|
if (_lastUserHeight != userHeight || _userHeightOptions == null)
|
|
{
|
|
_userHeightOptions = new GUILayoutOption[2]
|
|
{
|
|
GUILayout.Height(userHeight), GUILayout.ExpandHeight(true)
|
|
};
|
|
_lastUserHeight = userHeight;
|
|
}
|
|
return _userHeightOptions;
|
|
}
|
|
|
|
private static GUIStyle _boldFoldoutStyle;
|
|
internal static GUIStyle BoldFoldoutStyle
|
|
{
|
|
get
|
|
{
|
|
if (_boldFoldoutStyle == null)
|
|
{
|
|
_boldFoldoutStyle = new GUIStyle(EditorStyles.foldout)
|
|
{
|
|
fontStyle = FontStyle.Bold
|
|
};
|
|
}
|
|
return _boldFoldoutStyle;
|
|
}
|
|
}
|
|
|
|
private static float _lastMultiWidth;
|
|
private static GUIStyle _buttonsStyle;
|
|
internal static GUIStyle MultiAssetButtonsStyle(float width)
|
|
{
|
|
if (_buttonsStyle == null || currentWidth != _lastMultiWidth)
|
|
{
|
|
_buttonsStyle = new GUIStyle(IconButton)
|
|
{
|
|
stretchHeight = true,
|
|
stretchWidth = true,
|
|
fixedWidth = width - 40
|
|
};
|
|
_lastMultiWidth = width;
|
|
}
|
|
return _buttonsStyle;
|
|
}
|
|
|
|
|
|
private static GUIStyle _multiFoldoutStyle;
|
|
internal static GUIStyle MultiFoldoutStyle
|
|
{
|
|
get
|
|
{
|
|
if (_multiFoldoutStyle == null)
|
|
{
|
|
GUIStyle linkStyle = new GUIStyle(GUI.skin.FindStyle("LinkLabel"));
|
|
_multiFoldoutStyle = new GUIStyle(CustomGUIStyles.RichMiniLabel)
|
|
{
|
|
padding = new RectOffset(0, 0, 0, 0)
|
|
};
|
|
_multiFoldoutStyle.normal.textColor = linkStyle.normal.textColor;
|
|
_multiFoldoutStyle.hover.textColor = linkStyle.normal.textColor * 1.15f;
|
|
_multiFoldoutStyle.richText = true;
|
|
_multiFoldoutStyle.wordWrap = false;
|
|
}
|
|
return _multiFoldoutStyle;
|
|
}
|
|
}
|
|
|
|
|
|
private static GUIStyle _plusStyle;
|
|
internal static GUIStyle PlusStyle
|
|
{
|
|
get
|
|
{
|
|
if (_plusStyle == null)
|
|
{
|
|
_plusStyle = new GUIStyle(CustomGUIStyles.RichMiniLabel)
|
|
{
|
|
padding = new RectOffset(0, 0, 0, 0)
|
|
};
|
|
}
|
|
return _plusStyle;
|
|
}
|
|
}
|
|
|
|
private static GUIStyle _italicStyle;
|
|
internal static GUIStyle ItalicStyle
|
|
{
|
|
get
|
|
{
|
|
if (_italicStyle == null)
|
|
{
|
|
_italicStyle = new GUIStyle(EditorStyles.label)
|
|
{
|
|
fontStyle = FontStyle.Italic,
|
|
fontSize = 10
|
|
};
|
|
}
|
|
return _italicStyle;
|
|
}
|
|
}
|
|
|
|
private static GUIStyle _expandButton;
|
|
internal static GUIStyle ExpandButtonStyle
|
|
{
|
|
get
|
|
{
|
|
if (_expandButton == null)
|
|
{
|
|
|
|
_expandButton = new GUIStyle(GUI.skin.button)
|
|
{
|
|
fontSize = 11,
|
|
fixedHeight = 12,
|
|
fixedWidth = 35,
|
|
|
|
fontStyle = FontStyle.Bold,
|
|
alignment = TextAnchor.MiddleCenter,
|
|
padding = new RectOffset(0, 0, 0, 0),
|
|
border = new RectOffset(0, 0, 0, 0)
|
|
|
|
|
|
|
|
};
|
|
}
|
|
return _expandButton;
|
|
}
|
|
}
|
|
private static GUIStyle _buttonsUpRight;
|
|
internal static GUIStyle ButtonsUpSection
|
|
{
|
|
get
|
|
{
|
|
if (_buttonsUpSection == null)
|
|
{
|
|
_buttonsUpSection = new GUIStyle(EditorStyles.toolbar)
|
|
{
|
|
fixedHeight = 10
|
|
};
|
|
}
|
|
return _buttonsUpSection;
|
|
}
|
|
}
|
|
private static GUIStyle _buttonsUpSection;
|
|
internal static GUIStyle DraggingTabs
|
|
{
|
|
get
|
|
{
|
|
if (_draggingTab == null)
|
|
{
|
|
_draggingTab = new GUIStyle(EditorToolbarButton)
|
|
{
|
|
fontSize = 11,
|
|
alignment = TextAnchor.MiddleCenter,
|
|
fixedHeight = 23,
|
|
padding = new RectOffset(15, 0, 0, 0)
|
|
|
|
};
|
|
}
|
|
return _draggingTab;
|
|
}
|
|
}
|
|
private static GUIStyle _draggingTab;
|
|
private static GUIStyle _addStyle;
|
|
internal static GUIStyle AddStyle
|
|
{
|
|
get
|
|
{
|
|
if (_addStyle == null)
|
|
{
|
|
_addStyle = new GUIStyle(EditorToolbarButton)
|
|
{
|
|
fixedHeight = 23,
|
|
padding = new RectOffset(0, 0, 0, 0)
|
|
|
|
};
|
|
|
|
}
|
|
return _addStyle;
|
|
}
|
|
}
|
|
private static GUIStyle _modifiedToolbarButton;
|
|
internal static GUIStyle ModifiedToolbarButton
|
|
{
|
|
get
|
|
{
|
|
if (_modifiedToolbarButton == null)
|
|
{
|
|
_modifiedToolbarButton = new GUIStyle(EditorToolbarButton)
|
|
{
|
|
padding = new RectOffset(3, 3, 0, 0),
|
|
fixedHeight = 23
|
|
};
|
|
}
|
|
return _modifiedToolbarButton;
|
|
}
|
|
}
|
|
|
|
private static GUIStyle _componentStyle;
|
|
internal static GUIStyle ComponentStyle
|
|
{
|
|
get
|
|
{
|
|
if (_componentStyle == null)
|
|
{
|
|
_componentStyle = new GUIStyle();
|
|
_componentStyle.padding.top = 4;
|
|
_componentStyle.padding.bottom = 3;
|
|
_componentStyle.margin.left = 18;
|
|
_componentStyle.margin.right = 1;
|
|
_componentStyle.stretchWidth = true;
|
|
_componentStyle.stretchHeight = true;
|
|
}
|
|
return _componentStyle;
|
|
}
|
|
}
|
|
|
|
private static GUIStyle _activeButtonStyle;
|
|
internal static GUIStyle ActiveButtonStyle
|
|
{
|
|
get
|
|
{
|
|
if (_activeButtonStyle == null)
|
|
{
|
|
_activeButtonStyle = new GUIStyle(GUI.skin.button);
|
|
|
|
|
|
}
|
|
return _activeButtonStyle;
|
|
}
|
|
}
|
|
|
|
private static GUIStyle _textStyle;
|
|
internal static GUIStyle TextStyle()
|
|
{
|
|
if (_textStyle == null || _textStyle.wordWrap != true)
|
|
{
|
|
_textStyle = new GUIStyle(EditorStyles.textArea)
|
|
{
|
|
wordWrap = true,
|
|
stretchHeight = false
|
|
};
|
|
}
|
|
return _textStyle;
|
|
}
|
|
|
|
private static GUIStyle _wrapLabelStyle;
|
|
internal static GUIStyle WrapLabelStyle
|
|
{
|
|
get
|
|
{
|
|
if (_wrapLabelStyle == null)
|
|
{
|
|
_wrapLabelStyle = new GUIStyle(EditorStyles.label)
|
|
{
|
|
contentOffset = new Vector2(0, 1),
|
|
richText = true,
|
|
wordWrap = true
|
|
};
|
|
}
|
|
return _wrapLabelStyle;
|
|
}
|
|
}
|
|
|
|
private static GUIStyle _centeredLabelStyle;
|
|
internal static GUIStyle CenteredLabelStyle
|
|
{
|
|
get
|
|
{
|
|
if (_centeredLabelStyle == null)
|
|
{
|
|
_centeredLabelStyle = new GUIStyle(EditorStyles.label)
|
|
{
|
|
richText = true,
|
|
alignment = TextAnchor.MiddleCenter
|
|
};
|
|
}
|
|
return _centeredLabelStyle;
|
|
}
|
|
}
|
|
private static GUIStyle _tipStyle;
|
|
internal static GUIStyle TipStyle
|
|
{
|
|
get
|
|
{
|
|
if (_tipStyle == null)
|
|
{
|
|
_tipStyle = new GUIStyle()
|
|
{
|
|
alignment = TextAnchor.MiddleLeft
|
|
};
|
|
_tipStyle.normal.background = EditorGUIUtility.whiteTexture;
|
|
_tipStyle.fontSize = 11;
|
|
_tipStyle.richText = true;
|
|
_tipStyle.wordWrap = false;
|
|
_tipStyle.normal.textColor = Color.black;
|
|
_tipStyle.padding = new RectOffset(6, 6, 3, 3);
|
|
}
|
|
return _tipStyle;
|
|
}
|
|
}
|
|
|
|
private static GUIStyle _tipMultiStyle;
|
|
internal static GUIStyle TipMultiStyle
|
|
{
|
|
get
|
|
{
|
|
if (_tipMultiStyle == null)
|
|
{
|
|
_tipMultiStyle = new GUIStyle()
|
|
{
|
|
alignment = TextAnchor.MiddleLeft
|
|
};
|
|
_tipMultiStyle.normal.background = EditorGUIUtility.whiteTexture;
|
|
_tipMultiStyle.fontSize = 11;
|
|
_tipMultiStyle.richText = true;
|
|
_tipMultiStyle.wordWrap = false;
|
|
_tipMultiStyle.normal.textColor = Color.black;
|
|
_tipMultiStyle.border = new RectOffset(2, 2, 2, 2);
|
|
_tipMultiStyle.padding = new RectOffset(6, 6, 3, 3);
|
|
|
|
|
|
}
|
|
return _tipMultiStyle;
|
|
}
|
|
}
|
|
|
|
private static GUIStyle _scrollTabsStyle;
|
|
internal static GUIStyle ScrollTabsStyle
|
|
{
|
|
get
|
|
{
|
|
if (_scrollTabsStyle == null)
|
|
{
|
|
_scrollTabsStyle = new GUIStyle(GUIStyle.none)
|
|
{
|
|
stretchHeight = false,
|
|
margin = new RectOffset(0, 23, 0, 0),
|
|
padding = new RectOffset(0, 0, 0, 0),
|
|
stretchWidth = false
|
|
};
|
|
|
|
}
|
|
return _scrollTabsStyle;
|
|
}
|
|
}
|
|
|
|
private static GUIStyle _scrollTabsHistoryStyle;
|
|
internal static GUIStyle ScrollTabsHistoryStyle
|
|
{
|
|
get
|
|
{
|
|
if (_scrollTabsHistoryStyle == null)
|
|
{
|
|
_scrollTabsHistoryStyle = new GUIStyle(GUIStyle.none)
|
|
{
|
|
stretchHeight = false,
|
|
|
|
margin = new RectOffset(40, 22, 0, 0),
|
|
padding = new RectOffset(0, 0, 0, 0),
|
|
stretchWidth = false
|
|
};
|
|
}
|
|
return _scrollTabsHistoryStyle;
|
|
}
|
|
}
|
|
|
|
private static GUIStyle _toolbarButtonTabs_Active;
|
|
internal static GUIStyle ToolbarButtonTabs_Active
|
|
{
|
|
get
|
|
{
|
|
if (_toolbarButtonTabs_Active == null)
|
|
{
|
|
_toolbarButtonTabs_Active = new GUIStyle(EditorToolbarButton)
|
|
{
|
|
fixedHeight = 22
|
|
};
|
|
_toolbarButtonTabs_Active.padding.top = 3;
|
|
_toolbarButtonTabs_Active.padding.right = 8;
|
|
_toolbarButtonTabs_Active.alignment = TextAnchor.MiddleLeft;
|
|
_toolbarButtonTabs_Active.contentOffset = new Vector2(0, 0);
|
|
_toolbarButtonTabs_Active.fontSize = 11;
|
|
if (EditorGUIUtility.isProSkin)
|
|
{
|
|
_toolbarButtonTabs_Active.normal.textColor = new Color(0.95f, 0.95f, 0.95f, 1);
|
|
_toolbarButtonTabs_Active.active.textColor = new Color(1f, 1f, 1f, 1);
|
|
_toolbarButtonTabs_Active.hover.textColor = new Color(1f, 1f, 1f, 1);
|
|
}
|
|
else
|
|
{
|
|
_toolbarButtonTabs_Active.normal.textColor = new Color(0.2f, 0.2f, 0.2f, 1);
|
|
_toolbarButtonTabs_Active.active.textColor = new Color(0.1f, 0.1f, 0.1f, 1);
|
|
_toolbarButtonTabs_Active.hover.textColor = new Color(0.1f, 0.1f, 0.1f, 1);
|
|
}
|
|
|
|
}
|
|
return _toolbarButtonTabs_Active;
|
|
}
|
|
}
|
|
private static GUIStyle _toolbarButtonTabsPrefab_active;
|
|
internal static GUIStyle ToolbarButtonTabsPrefab_Active
|
|
{
|
|
get
|
|
{
|
|
if (_toolbarButtonTabsPrefab_active == null)
|
|
{
|
|
_toolbarButtonTabsPrefab_active = new GUIStyle(EditorToolbarButton);
|
|
_toolbarButtonTabsPrefab_active.padding.top = 3;
|
|
_toolbarButtonTabsPrefab_active.alignment = TextAnchor.MiddleLeft;
|
|
_toolbarButtonTabsPrefab_active.fixedHeight = 22;
|
|
_toolbarButtonTabsPrefab_active.padding.right = 8;
|
|
_toolbarButtonTabsPrefab_active.contentOffset = new Vector2(0, 0);
|
|
_toolbarButtonTabsPrefab_active.fontSize = 11;
|
|
if (EditorGUIUtility.isProSkin)
|
|
{
|
|
_toolbarButtonTabsPrefab_active.normal.textColor = new Color(0.7f, 0.7f, 0.9f, 1);
|
|
_toolbarButtonTabsPrefab_active.hover.textColor = new Color(0.77f, 0.77f, 1f, 1);
|
|
_toolbarButtonTabsPrefab_active.active.textColor = new Color(0.8f, 0.8f, 1f, 1);
|
|
}
|
|
else
|
|
{
|
|
_toolbarButtonTabsPrefab_active.normal.textColor = new Color(0.4f, 0.4f, 0.6f, 1);
|
|
_toolbarButtonTabsPrefab_active.hover.textColor = new Color(0.3f, 0.3f, 0.5f, 1);
|
|
_toolbarButtonTabsPrefab_active.active.textColor = new Color(0.3f, 0.3f, 0.5f, 1);
|
|
}
|
|
}
|
|
return _toolbarButtonTabsPrefab_active;
|
|
}
|
|
}
|
|
|
|
private static GUIStyle _toolbarButtonTabsPrefab;
|
|
internal static GUIStyle ToolbarButtonTabsPrefab
|
|
{
|
|
get
|
|
{
|
|
if (_toolbarButtonTabsPrefab == null)
|
|
{
|
|
_toolbarButtonTabsPrefab = new GUIStyle(EditorToolbarButton);
|
|
_toolbarButtonTabsPrefab.padding.top = 3;
|
|
_toolbarButtonTabsPrefab.padding.right = 8;
|
|
_toolbarButtonTabsPrefab.fixedHeight = 22;
|
|
_toolbarButtonTabsPrefab.alignment = TextAnchor.MiddleLeft;
|
|
_toolbarButtonTabsPrefab.contentOffset = new Vector2(0, 0);
|
|
_toolbarButtonTabsPrefab.fontSize = 11;
|
|
if (EditorGUIUtility.isProSkin)
|
|
{
|
|
_toolbarButtonTabsPrefab.normal.textColor = new Color(0.75f, 0.75f, 1f, 1);
|
|
_toolbarButtonTabsPrefab.hover.textColor = new Color(0.8f, 0.8f, 1f, 1);
|
|
_toolbarButtonTabsPrefab.active.textColor = new Color(0.83f, 0.83f, 1f, 1);
|
|
}
|
|
else
|
|
{
|
|
_toolbarButtonTabsPrefab.normal.textColor = new Color(0.3f, 0.3f, 0.5f, 1);
|
|
_toolbarButtonTabsPrefab.hover.textColor = new Color(0.3f, 0.3f, 0.5f, 1);
|
|
_toolbarButtonTabsPrefab.active.textColor = new Color(0.3f, 0.3f, 0.5f, 1);
|
|
}
|
|
}
|
|
return _toolbarButtonTabsPrefab;
|
|
}
|
|
}
|
|
private static GUIStyle _toolbarButtonTabs;
|
|
internal static GUIStyle ToolbarButtonTabs
|
|
{
|
|
get
|
|
{
|
|
if (_toolbarButtonTabs == null)
|
|
{
|
|
_toolbarButtonTabs = new GUIStyle(EditorToolbarButton);
|
|
_toolbarButtonTabs.padding.top = 4;
|
|
_toolbarButtonTabs.fixedHeight = 22;
|
|
_toolbarButtonTabs.padding.right = 8;
|
|
_toolbarButtonTabs.alignment = TextAnchor.MiddleLeft;
|
|
_toolbarButtonTabs.contentOffset = new Vector2(0, 0);
|
|
_toolbarButtonTabs.fontSize = 11;
|
|
if (EditorGUIUtility.isProSkin)
|
|
{
|
|
_toolbarButtonTabs.normal.textColor = new Color(0.85f, 0.85f, 0.85f, 1);
|
|
_toolbarButtonTabs.active.textColor = new Color(0.9f, 0.9f, 0.9f, 1);
|
|
_toolbarButtonTabs.hover.textColor = new Color(1f, 1f, 1f, 1);
|
|
}
|
|
else
|
|
{
|
|
_toolbarButtonTabs.normal.textColor = new Color(0.2f, 0.2f, 0.2f, 1);
|
|
_toolbarButtonTabs.active.textColor = new Color(0.1f, 0.1f, 0.1f, 1);
|
|
_toolbarButtonTabs.hover.textColor = new Color(0.1f, 0.1f, 0.1f, 1);
|
|
}
|
|
}
|
|
return _toolbarButtonTabs;
|
|
}
|
|
}
|
|
|
|
private static GUIStyle _toolbarButtonTabs_White;
|
|
internal static GUIStyle ToolbarButtonTabs_White
|
|
{
|
|
get
|
|
{
|
|
if (_toolbarButtonTabs_White == null)
|
|
{
|
|
_toolbarButtonTabs_White = new GUIStyle(EditorToolbarButton);
|
|
_toolbarButtonTabs_White.padding.top = 3;
|
|
_toolbarButtonTabs_White.fixedHeight = 22;
|
|
_toolbarButtonTabs_White.padding.right = 8;
|
|
_toolbarButtonTabs_White.alignment = TextAnchor.MiddleLeft;
|
|
_toolbarButtonTabs_White.contentOffset = new Vector2(0, 0);
|
|
_toolbarButtonTabs_White.fontSize = 11;
|
|
_toolbarButtonTabs_White.normal.textColor = new Color(0.2f, 0.2f, 0.2f, 1);
|
|
_toolbarButtonTabs_White.active.textColor = new Color(0.1f, 0.1f, 0.1f, 1);
|
|
_toolbarButtonTabs_White.hover.textColor = new Color(0.1f, 0.1f, 0.1f, 1);
|
|
}
|
|
return _toolbarButtonTabs_White;
|
|
}
|
|
}
|
|
private static GUIStyle _centerLabel;
|
|
internal static GUIStyle CenterLabel
|
|
{
|
|
get
|
|
{
|
|
if (_centerLabel == null)
|
|
{
|
|
_centerLabel = new GUIStyle(EditorStyles.label)
|
|
{
|
|
richText = true,
|
|
alignment = TextAnchor.MiddleCenter,
|
|
wordWrap = true,
|
|
padding = new RectOffset(10, 10, 10, 10)
|
|
};
|
|
}
|
|
return _centerLabel;
|
|
}
|
|
}
|
|
private static GUIStyle _bigCenterLabel;
|
|
internal static GUIStyle BigCenterLabel
|
|
{
|
|
get
|
|
{
|
|
if (_bigCenterLabel == null)
|
|
{
|
|
_bigCenterLabel = new GUIStyle(EditorStyles.largeLabel)
|
|
{
|
|
richText = true,
|
|
alignment = TextAnchor.MiddleCenter,
|
|
wordWrap = true,
|
|
fontSize = 14,
|
|
normal = { textColor = new Color(0.93f, 0.93f, 0.93f, 1) },
|
|
fontStyle = FontStyle.Bold,
|
|
padding = new RectOffset(10, 10, 10, 10)
|
|
};
|
|
}
|
|
return _bigCenterLabel;
|
|
}
|
|
}
|
|
|
|
|
|
private static GUIStyle _horizontalScrollbar;
|
|
internal static GUIStyle HorizontalScrollbar
|
|
{
|
|
get
|
|
{
|
|
if (_horizontalScrollbar == null)
|
|
{
|
|
_horizontalScrollbar = new GUIStyle(GUI.skin.horizontalScrollbar)
|
|
{
|
|
fixedHeight = 9,
|
|
contentOffset = new Vector2(2, 2),
|
|
padding = new RectOffset(0, 0, 1, 0)
|
|
};
|
|
}
|
|
return _horizontalScrollbar;
|
|
}
|
|
}
|
|
|
|
private static GUIStyle _toolbarButtonAsset;
|
|
internal static GUIStyle ToolbarButtonAsset
|
|
{
|
|
get
|
|
{
|
|
if (_toolbarButtonAsset == null)
|
|
{
|
|
_toolbarButtonAsset = new GUIStyle(EditorToolbarButton)
|
|
{
|
|
padding = new RectOffset(4, 4, 3, 3),
|
|
};
|
|
}
|
|
return _toolbarButtonAsset;
|
|
}
|
|
}
|
|
|
|
private static GUIStyle _addComponentButton;
|
|
internal static GUIStyle AddComponentButton
|
|
{
|
|
get
|
|
{
|
|
// if (_addComponentButton == null)
|
|
{
|
|
_addComponentButton = new GUIStyle(EditorToolbarButton)
|
|
{
|
|
padding = new RectOffset(6, 4, 0, 0),
|
|
margin = new RectOffset(0, 0, 0, 0),
|
|
richText = true,
|
|
fontSize = 11,
|
|
border = new RectOffset(0, 0, 0, 0),
|
|
};
|
|
}
|
|
return _addComponentButton;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
private static GUIStyle _headerStyle;
|
|
internal static GUIStyle HeaderStyle
|
|
{
|
|
get
|
|
{
|
|
if (_headerStyle == null)
|
|
{
|
|
_headerStyle = new GUIStyle(EditorStyles.largeLabel)
|
|
{
|
|
fontSize = 13
|
|
};
|
|
}
|
|
return _headerStyle;
|
|
}
|
|
}
|
|
|
|
private static GUIStyle _debugIconStyle;
|
|
internal static GUIStyle DebugIconStyle
|
|
{
|
|
get
|
|
{
|
|
if (_debugIconStyle == null)
|
|
{
|
|
_debugIconStyle = new GUIStyle(IconButton)
|
|
{
|
|
padding = new RectOffset(1, 1, 1, 0),
|
|
active = { background = null },
|
|
normal = { background = null },
|
|
};
|
|
}
|
|
return _debugIconStyle;
|
|
}
|
|
}
|
|
private static GUIStyle _historyIconStyle;
|
|
internal static GUIStyle HistoryIconStyle
|
|
{
|
|
get
|
|
{
|
|
if (_historyIconStyle == null)
|
|
{
|
|
_historyIconStyle = new GUIStyle(IconButton)
|
|
{
|
|
padding = new RectOffset(0, 0, 0, 0),
|
|
active = { background = null },
|
|
normal = { background = null },
|
|
};
|
|
}
|
|
return _historyIconStyle;
|
|
}
|
|
}
|
|
|
|
private static GUIStyle _alignedLabelStyle;
|
|
internal static GUIStyle AlignedLabelStyle
|
|
{
|
|
get
|
|
{
|
|
if (_alignedLabelStyle == null)
|
|
{
|
|
_alignedLabelStyle = new GUIStyle(EditorStyles.label)
|
|
{
|
|
alignment = TextAnchor.MiddleLeft,
|
|
contentOffset = new Vector2(0, -1),
|
|
padding = new RectOffset(2, 2, 2, 2),
|
|
margin = new RectOffset(2, 2, 2, 2)
|
|
};
|
|
_alignedLabelStyle.normal.background = null;
|
|
_alignedLabelStyle.fixedHeight = 20;
|
|
if (EditorUtils.IsLightSkin())
|
|
{
|
|
_alignedLabelStyle.fontSize = 12;
|
|
}
|
|
else
|
|
{
|
|
_alignedLabelStyle.fontSize = 11;
|
|
}
|
|
_alignedLabelStyle.richText = true;
|
|
_alignedLabelStyle.hover.textColor = Color.white;
|
|
}
|
|
return _alignedLabelStyle;
|
|
}
|
|
}
|
|
static GUIStyle _compStyle;
|
|
internal static GUIStyle CompStyle
|
|
{
|
|
get
|
|
{
|
|
if (_compStyle == null)
|
|
{
|
|
_compStyle = new GUIStyle(EditorStyles.inspectorDefaultMargins);
|
|
}
|
|
EditorGUIUtility.wideMode = true;
|
|
CoInspectorWindow.UpdateLabelSize();
|
|
return _compStyle;
|
|
}
|
|
}
|
|
static GUIStyle _collapsedCompStyle;
|
|
internal static GUIStyle CollapsedCompStyle
|
|
{
|
|
get
|
|
{
|
|
if (_collapsedCompStyle == null)
|
|
{
|
|
_collapsedCompStyle = new GUIStyle(EditorStyles.inspectorDefaultMargins);
|
|
_collapsedCompStyle.padding.bottom = 0;
|
|
_collapsedCompStyle.padding.top = 0;
|
|
_collapsedCompStyle.margin.bottom = 0;
|
|
_collapsedCompStyle.padding.top = 0;
|
|
|
|
}
|
|
EditorGUIUtility.wideMode = true;
|
|
CoInspectorWindow.UpdateLabelSize();
|
|
return _collapsedCompStyle;
|
|
}
|
|
}
|
|
}
|
|
} |