游戏蛮牛学习群(纯技术交流,不闲聊):159852603
游戏蛮牛 手机端
开启辅助访问
 找回密码
 注册帐号

扫一扫,访问微社区

开发者专栏

关注:2315

当前位置:游戏蛮牛 技术专区 开发者专栏

__________________________________________________________________________________
开发者干货区版块规则:

  1、文章必须是图文形式。(至少2幅图)
      2、文章字数必须保持在1500字节以上。(编辑器右下角有字数检查)
      3、本版块只支持在游戏蛮牛原创首发,不支持转载。
      4、本版块回复不得无意义,如:顶、呵呵、不错......【真的会扣分的哦】
      5、......
__________________________________________________________________________________
查看: 2411|回复: 21

[码农亚] Unity编辑器拓展小论<一>

[复制链接]  [移动端链接]
排名
3739
昨日变化

10

主题

101

帖子

840

积分

Rank: 9Rank: 9Rank: 9

UID
251813
好友
3
蛮牛币
1712
威望
0
注册时间
2017-10-31
在线时间
341 小时
最后登录
2018-9-13

专栏作家活力之星

发表于 2018-3-24 14:24:02 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册帐号

x
本帖最后由 码农亚 于 2018-3-24 15:25 编辑

01  首先,要确定具体的可以量化的并且可以实现的需求。
      然后,根据需求确定标准。
      最后实施。
02  策划整体的要求是建立可以多项目方便管理的方法来整体进行一系列数据转化Json格式进行与服务器交互的东西
03  具体来说,那么就是需要一个方法块, 它必须是统一的,方便的,可拓展的,可进行灵活细节处理的,当然,最后是必须能够经受实际测试的。
04  我遍寻资料发现这种情况涉及到集合的相关特性,即List<T>,方便灵活离不开UnityEditorExpend,脑海里浮现的就是编辑器拓展。
05  之所以说编辑器拓展而不是插件拓展,是因为两种东西定义不同,编辑器拓展概念内嵌一般是实际操作环境,而插件就内嵌的含义更多的是趋于完善,或者已经完善的状态,因此选取前者。
07  编辑器拓展存在两种表现方式,EditorWindow以及Editor,我更倾向于后者,今天所讲的就是后者,前者已经有太多资料了,不必我说。
08  补充,今天所说的内容可能更多地会适合进行Unity开发并且拥有基础的思维习惯的小伙伴,即非纯粹小白向,如果大家不懂的地方,可以进行查阅研究,一些资料就是我看外国相关专栏搜索的。
09  那么,现在开始。

基础01

基础01


10  序列化加上中文标注之后大致就是这样子,然而,两个问题:假如有40个问题,将集合拓展为40个元素的长度明显不好去更正信息,而且细节修正,改一次就要找一次,实在是麻烦。

11 借助编辑器就要好很多
[color=var(--ytd-video-primary-info-renderer-title-color, var(--yt-primary-text-color))]Unite Europe 2016 - Editor Scripting for n00bs(该视频是油管的,可能需要翻墙观看)
借助视频,成功的做到以下效果(大家不必去关注命名等的基本变化,最后我会回归的,当然,那是之后了,里面加入了Json的一些写法,自己也做了优化,我希望大家研究透之后再继续看下面的)。
LitJson的数据包是要导入的。

基础02

基础02

基础02相关Json

基础02相关Json


12 然后新的问题出现了,上面的效果乍一看很溜,但是出现两个主要问题:
     01 ,数据量过大的情况,面板上还是太多了,十分混乱
     02,只有添加和移除按钮,很明显不够用,譬如我要将第三条数据和第四条数据置换位置,怎么办?
     小问题更多了,在此不赘述。
13寻找编辑器相关折叠方法或者说可以做出类似折叠效果的代码方法
     Finding..........
     Loading...........
     坦白说,能够达到折叠效果的方法不好找,不过最终还是找到咯。
     猛然发现,整体的内容太多了,而且为了方便大家思考,那就先拿出来一个基本示例,剩下的拓展我会在之后的讲解中说明。

基础03面板展开

基础03面板展开

基础03面板折叠

基础03面板折叠

[size=21.3333px]

[size=21.3333px]14 相关Demo如下,想让大家有些兴趣研究,就贵一点,以后不出意外,最高也是这个价格,哈哈哈。希望别揍我 编辑器拓展01.zip (721.57 KB, 下载次数: 79, 售价: 5 蛮牛币)

回复

使用道具 举报

排名
3739
昨日变化

10

主题

101

帖子

840

积分

Rank: 9Rank: 9Rank: 9

UID
251813
好友
3
蛮牛币
1712
威望
0
注册时间
2017-10-31
在线时间
341 小时
最后登录
2018-9-13

专栏作家活力之星

 楼主| 发表于 2018-3-24 14:27:09 | 显示全部楼层
本帖最后由 码农亚 于 2018-3-24 15:07 编辑

还是Unity5.3.5版本,因为公司弄webPlayer,之后我会研究webGl怎么弄,这大概很久之后了。。。后期我应该会把相关的集合增删上下移动,统一拓展长度这部分列出来。
编辑器拓展也有相关的GUISkin,即颜色系统,不过这块的东西,我大概可能不会说出来,因为这样太冗杂了。
以上,码农亚瑟敬上!

回复 支持 反对

使用道具 举报

7日久生情
3243/5000
排名
2041
昨日变化

0

主题

2116

帖子

3243

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
219676
好友
1
蛮牛币
2421
威望
0
注册时间
2017-7-12
在线时间
496 小时
最后登录
2018-9-25

活力之星

发表于 2018-3-24 19:25:03 | 显示全部楼层
谢谢分享

回复

使用道具 举报

5熟悉之中
733/1000
排名
4988
昨日变化
36

5

主题

203

帖子

733

积分

Rank: 5Rank: 5

UID
234410
好友
2
蛮牛币
716
威望
0
注册时间
2017-7-26
在线时间
243 小时
最后登录
2018-9-25
发表于 2018-3-26 14:11:10 | 显示全部楼层
我就想知道 继承 List<T> 的自定义类在 inspector 面板上显示不出来 ([xxxx] 这些都加了)

回复 支持 反对

使用道具 举报

排名
3739
昨日变化

10

主题

101

帖子

840

积分

Rank: 9Rank: 9Rank: 9

UID
251813
好友
3
蛮牛币
1712
威望
0
注册时间
2017-10-31
在线时间
341 小时
最后登录
2018-9-13

专栏作家活力之星

 楼主| 发表于 2018-3-26 14:23:07 | 显示全部楼层
随幻Kaller 发表于 2018-3-26 14:11
我就想知道 继承 List 的自定义类在 inspector 面板上显示不出来 ([xxxx] 这些都加了) ...

泛型类一般就是进行统一泛型类的管理以及其中方法的安全调用,你如果想用一种直接有效的方法使用泛型类,需要进行property方法的重写,以及需要用到反射的一部分知识。
当然,以上我指的就是你用List<T>这一泛型类的思路。
泛型类不显示,最大的原因就是没有提供具体指向是何种具体类型的模块,就是说,你要自己去构建。
就像你列出了苹果类,继承水果类,但是没有进行水果类的内部布尔判定,界面无法判断,因而不显示。
在之后的专栏里,有时间我会写个小例子。现阶段,你可以继续寻找思路或者转换其它思路。
翻墙去看也许更不错呢,加油!

回复 支持 反对

使用道具 举报

5熟悉之中
764/1000
排名
3450
昨日变化
2

1

主题

129

帖子

764

积分

Rank: 5Rank: 5

UID
236305
好友
1
蛮牛币
1071
威望
0
注册时间
2017-8-7
在线时间
232 小时
最后登录
2018-9-21
发表于 2018-3-27 09:49:33 | 显示全部楼层
楼主厉害 学习了

回复

使用道具 举报

3偶尔光临
169/300
排名
33183
昨日变化
6

0

主题

55

帖子

169

积分

Rank: 3Rank: 3Rank: 3

UID
159861
好友
0
蛮牛币
127
威望
0
注册时间
2016-8-26
在线时间
106 小时
最后登录
2018-9-21
发表于 2018-3-27 17:42:12 | 显示全部楼层
感谢分享,下载下来学习下。

回复 支持 反对

使用道具 举报

3偶尔光临
169/300
排名
33183
昨日变化
6

0

主题

55

帖子

169

积分

Rank: 3Rank: 3Rank: 3

UID
159861
好友
0
蛮牛币
127
威望
0
注册时间
2016-8-26
在线时间
106 小时
最后登录
2018-9-21
发表于 2018-3-27 17:43:43 | 显示全部楼层
感谢分享,下载下来学习下。

回复 支持 反对

使用道具 举报

排名
29901
昨日变化
3

0

主题

23

帖子

41

积分

Rank: 1

UID
274311
好友
0
蛮牛币
7
威望
0
注册时间
2018-3-26
在线时间
8 小时
最后登录
2018-5-28
发表于 2018-3-28 19:15:43 | 显示全部楼层
66666666666666666666666666666

回复 支持 反对

使用道具 举报

6蛮牛粉丝
1360/1500
排名
5271
昨日变化

6

主题

831

帖子

1360

积分

Rank: 6Rank: 6Rank: 6

UID
236677
好友
0
蛮牛币
2229
威望
0
注册时间
2017-8-9
在线时间
273 小时
最后登录
2018-9-11
发表于 2018-3-29 11:15:17 | 显示全部楼层
感谢分享

回复

使用道具 举报

6蛮牛粉丝
1142/1500
排名
2175
昨日变化

1

主题

257

帖子

1142

积分

Rank: 6Rank: 6Rank: 6

UID
147717
好友
0
蛮牛币
1510
威望
0
注册时间
2016-5-5
在线时间
286 小时
最后登录
2018-9-25
发表于 2018-3-29 16:50:33 | 显示全部楼层
谢谢分享

回复

使用道具 举报

5熟悉之中
733/1000
排名
4988
昨日变化
36

5

主题

203

帖子

733

积分

Rank: 5Rank: 5

UID
234410
好友
2
蛮牛币
716
威望
0
注册时间
2017-7-26
在线时间
243 小时
最后登录
2018-9-25
发表于 2018-3-30 13:16:42 | 显示全部楼层
码农亚 发表于 2018-3-26 14:23
泛型类一般就是进行统一泛型类的管理以及其中方法的安全调用,你如果想用一种直接有效的方法使用泛型类, ...

恩恩 thanks

回复 支持 反对

使用道具 举报

5熟悉之中
733/1000
排名
4988
昨日变化
36

5

主题

203

帖子

733

积分

Rank: 5Rank: 5

UID
234410
好友
2
蛮牛币
716
威望
0
注册时间
2017-7-26
在线时间
243 小时
最后登录
2018-9-25
发表于 2018-3-30 13:18:18 | 显示全部楼层
码农亚 发表于 2018-3-26 14:23
泛型类一般就是进行统一泛型类的管理以及其中方法的安全调用,你如果想用一种直接有效的方法使用泛型类, ...

恩恩 thanks

回复 支持 反对

使用道具 举报

7日久生情
1912/5000
排名
4270
昨日变化

0

主题

1335

帖子

1912

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
267381
好友
5
蛮牛币
3200
威望
0
注册时间
2018-2-1
在线时间
257 小时
最后登录
2018-8-30
发表于 2018-4-1 20:25:52 | 显示全部楼层
谢谢分享

回复

使用道具 举报

4四处流浪
442/500
排名
4523
昨日变化

0

主题

41

帖子

442

积分

Rank: 4

UID
59161
好友
0
蛮牛币
832
威望
0
注册时间
2014-12-3
在线时间
101 小时
最后登录
2018-9-4
发表于 2018-4-2 14:17:52 | 显示全部楼层
12345678910JQK

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则

快速回复 返回顶部 返回列表