Unity编辑器(一)-- 自定义UI拖拽

没有专门处理UI界面岗位的情况下, 开发者需要自己拼合界面,但是Unity默认的UI创建方式有些不太舒服,需要先Create再选中UI最后才能选中自己想要的UI生成出来,而且创建列表内容较多,没办法直接一眼找到,所以做了一个自定义的UI拖拽,先上示例。

 //视频上传维护中。。

 核心思路:

1.创建一个单独编辑器面板

2.可自定义配置UI资源,包括自定义的UI界面

3.可通过拖拽的方式生成对应UI

技术点梳理:

1.EditorWindow,用于制作单独编辑器面板

2.DragAndDrop,用于实现核心拖拽功能

API分析:

相关API可以在Unity官方文档中查看,这里只是我的个人理解。

DragAndDrop.StartDrag

开始拖动操作,在启动拖动之后才有相关的拖拽数据产生,EventType才会触发DragUpdated等与拖拽相关的事件。

DragAndDrop.GetGenericData:

DragAndDrop.SetGenericData

用于对拖拽数据的赋值和获取。

DragAndDrop.PrepareStartDrag:

清空拖拽数据以及拖拽对象,用于数据初始化。

DragAndDrop.AcceptDrag:

接受拖动操作,相当于一个触发器。

DragAndDrop.visualMode

Unity原生的用于修改拖拽时的鼠标样式。

脚本中并没有写有关于生成的逻辑,只有对数据的储存,操作以及DragAndDrop的逻辑,这是因为在Drag的底层调用了Unity原生的生成逻辑,也就是DragAndDropVisualMode.Copy,猜想这部分的逻辑和对预制体拖拽的逻辑是一套的,目前没有查到相关的信息,大佬可留言指教。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEdito
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值