- 正确打开一个编辑器窗口
- 下拉列表中数据显示正确
- 输入框和对应类型正确
- 按钮可以正确点击
- 可以生成对应配置文件
- 游戏运行场景中会生成对应的模型
- 模型根据配置表生成
- 模型显示正确,位置正确
- 编译器窗口可以自由放大和缩小
using System.Collections; using System.Collections.Generic; using UnityEditor; using UnityEngine; public class Skillor : EditorWindow { GameObject preabs; string skillName; Vector3 pos; [MenuItem("Skillor/技能编辑器")] public static void OnInit() { var skill = GetWindow<Skillor>("技能编辑器"); skill.minSize = new Vector2(100, 100); skill.maxSize = new Vector2(500, 500); skill.Show(); } private void OnGUI() { //所有竖向开始 GUILayout.BeginVertical(); //第一行横向开始 GUILayout.BeginHorizontal(); skillName = EditorGUILayout.TextField("请输入名称", skillName); //第一行横向结束 GUILayout.EndHorizontal(); //第二行的横向开始 GUILayout.BeginHorizontal(); //ObjectField这个字段通常用于在编辑器中选择和显示Unity对象,比如游戏对象、预制体、材质等 //选择预制体 preabs = EditorGUILayout.ObjectField("请选择预制体", preabs, typeof(GameObject), false) as GameObject; //第二行的横向结束 GUILayout.EndHorizontal(); //第三行的横向开始 GUILayout.BeginHorizontal(); //Vector3Field这个字段通常用于在编辑器中选择和编辑三维坐标、旋转等信息。 //输入位置 pos = EditorGUILayout.Vector3Field("请输入要生成的位置", pos); //第三行的横向结束 GUILayout.EndHorizontal(); //第四行的横向开始 GUILayout.BeginHorizontal(); //GUILayout.Button是用于在GUI布局中创建一个按钮的方法。该按钮可用于响应用户的点击操作,并触发相应的事件或动作。 //点击生成 if (GUILayout.Button("点击生成")) { GameObject go = Instantiate(preabs); go.transform.position = pos; go.name = skillName; } //第四行的横向结束 GUILayout.EndHorizontal(); //所有纵向结束 GUILayout.EndVertical(); } }
用编辑窗口生成模型
于 2023-11-10 14:16:47 首次发布