用编辑窗口生成模型

  1. 正确打开一个编辑器窗口
  2. 下拉列表中数据显示正确
  3. 输入框和对应类型正确
  4. 按钮可以正确点击
  5. 可以生成对应配置文件
  6. 游戏运行场景中会生成对应的模型 
  7. 模型根据配置表生成
  8. 模型显示正确,位置正确
  9. 编译器窗口可以自由放大和缩小
    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();
        }
    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值