Unity编辑器脚本(继承Editor)使用方法(逐步完善)

该脚本只在编辑器中使用,用来更好的控制脚本(修改指定脚本GUI面板,更好的控制目标脚本等等等等等),主要表现在Unity的脚本面板中,继承Editor的脚本放在哪(Assets/Editor/TileEditor.cs)

  1. [CustomEditor(typeof(TileObject))]和tileObject = (TileObject)target的使用

a.[CustomEditor(typeof(TileObject))]放在Editor脚本类前方用来指定某脚本,这里是TileObject脚本,private void OnEnable(){tileObject = (TileObject)target}用来初始化。

2. public override void OnInspectorGUI(){}下方常用功能都定义在此。

a.GUILayout.Label("Tile Editor");在指定脚本面板下定义一个Tile Editor标签(如图)
b.editMode = EditorGUILayout.Toggle("Edit",editMode);Toggle两种状态切换false true;
c. tileObject.debug = EditorGUILayout.Toggle("Debug",tileObject.debug);相同
d.string[] editDataStr = { "Dead", "Road", "Guard" };
tileObject.dataID = GUILayout.Toolbar(tileObject.dataID,editDataStr);如图所示
e.EditorGUILayout.Separator();画个分割线,用于美观
if (GUILayout.Button("Reset")) {
tileObject.Reset();
}Reset按钮不用多说了吧,你懂的
f.DrawDefaultInspector();将target脚本其他属性在unity中展现出来,而不是使用了OnInspectorGUI就必须重新绘制脚本面板上所有内容,很重要滴这个

猜你喜欢

转载自blog.csdn.net/HeDanTou_/article/details/129352557