编辑器

Inspector编辑器实现自定义样式的文字 和 加载Icon

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47

[CanEditMultipleObjects]
[CustomEditor(typeof(CustomMonoBehaviour),true)]
public class CustomEditor : Editor{
public Texture2D icon;
public GUIStyle fontStyle;
// 一般初始化的时候先取得数据
private void OnEnable()
{
icon = Resources.Load("") as Texture2D;
}

// GUI用的是 编辑器绘制语法
public override void OnInspectorGUI()
{
CheckEditorProperties();
serializedObject.Update();
GUILayout.BeginVertical();
DrawTittleHeader();
DrawGUI();
GUILayout.EndVertical();
serializedObject.ApplyModifiedProperties();

}
// 绘制标题
protected virtual void DrawTittleHeader()
{
GUILayout.BeginHorizontal();
if (icon) GUILayout.Label(icon, GUIStyle.none, GUILayout.Height(70), GUILayout.Width(70));
GUILayout.Box("", fontStyle);
GUILayout.EndHorizontal();
}
// 自定义一个字体属性
protected virtual void CheckEditorProperties()
{
if (fontStyle == null)
{
fontStyle = new GUIStyle(EditorStyles.whiteLargeLabel);
fontStyle.imagePosition = ImagePosition.ImageLeft;
fontStyle.alignment = TextAnchor.UpperLeft;
fontStyle.fontSize = 23;
fontStyle.fontStyle = FontStyle.Bold;
fontStyle.wordWrap = true;
fontStyle.clipping = TextClipping.Clip;
}}
}


编辑器
https://chenhongjun.top/2022/09/07/编辑器/
作者
Delightening
发布于
2022年9月7日
许可协议