网络消息结构体脚本自动生成编辑器的进一步扩展
来源:互联网 发布:淘宝好看的男鞋店铺 编辑:程序博客网 时间:2024/06/08 12:39
把所有相关部分的消息结构类都写在一个cs文件里,这样很乱,不便于管理,新网络框架是一个结构用一个文件的方式,就是我之前写的编辑器自动生成的那种脚本,所以现在需要把旧的框架脚本里的类一个个剥离提取成一个个新的cs文件,但是项目中最起码有几百个消息结构体,难道一个一个创建吗?那太费事了,不是一个程序员该做的。编辑器创建的功能是为了以后一个个添加新消息时方便快捷,而将旧的脚本替换成新的框架所需的脚本文件,我采用了代码的办法。对我的编辑器又做了进一步的扩展。
从前两天只能创建消息,到现在我把编辑器做成了选择好路径中的cs文件,再点击生成的按钮,选择一个保存大量脚本的文件夹,就可以自动剥离出我们需要的脚本文件了。像这样
选择好源文件路径(打开Windows文件浏览器自己选择),会把路径打到文本框里可以手动修改,点击生成按钮。再选择一个保存的路径
于是这些我需要的脚本文件就批量生成了。(和源文件中结构不同,采用新的结构。具体实现方式见下文)
生成的代码和源文件不同,统统按我的格式来,直接调用我之前写的创建脚本方法就好了。自动生成的代码永远比人手写的干净整齐,哈哈
批量创建仅需要拿到文件夹的路径,后面根据不同的类自己加文件名,然后批量写入即可。
由于每生成一个小脚本,都需要得到的是字段和两个id以及消息的类型是请求或是回应,字段可以在原脚本中读取,而两个id在原脚本中是被调用的时候再赋值的,消息类型也没有直接区分,只能根据其被调用的方式来得到,所以我在每个需要转换的类下面的第一行加入我的标签。格式如下
MYTIP,ID1,ID2,Type
就这样,通过读取标签的形式,我得到了该类的基本信息,再动动脑子仔细观察一下源文件代码结构实现一下逻辑上的算法,就能提取出想要的字段,生成我所需要的脚本文件了。
随便截取一部分代码,表示坑是很多的,源文件比较老了。很多地方是制表符还是空格根本分不清的,还有一些莫名其妙的空格,所以都是先处理再走逻辑。毕竟源文件比较乱,我又只能读字符串,所以调试和修改的过程还是比较痛苦的。但是最后点一下生成几十个脚本的时候那种爽快感还是不言而喻的。写了这个扩展功能。后续把别的游戏中的消息转成新网络框架所需的结构类脚本文件也轻松愉快了。写编辑器的技能绝对是程序员必备,不要做一个在做重复事情的程序员,重复的事情请交给计算机去做。哈哈
- 网络消息结构体脚本自动生成编辑器的进一步扩展
- 制作新网络框架快速自动生成消息结构体的编辑器
- 编辑器自动生成的函数
- 扩展Unity3D编辑器的脚本模板
- 扩展Unity3D编辑器的脚本模板
- Unity编辑器扩展之修改扩展脚本的成员变量
- VS2010测试功能之编码的UI测试之自动生成脚本的结构
- 进一步的飞鸽传书官方网站消息
- 自动生成Insert数据的SQL脚本
- 自动批量生成AWR报告的脚本
- 自动生成脚本的命令 autoexpect
- 自动生成运行 robotium 的 bat 脚本
- Unity编辑器扩展(自动保存当前打开的场景)
- 转业界评说:DotNet的进一步消息
- Photoshop CS5的JS脚本进一步探索
- 一种自动生成网络IP的方案
- 自动发QQ消息脚本
- 结构和sort进一步的了解
- 卡卡捕鱼项目更新内容复盘总结
- Unity编辑器重写Inspector面板,面板中编辑的数据不触发场景发生变化的问题。
- 转载:【Hadoop】HDFS的运行原理
- Spring AOP 切面
- 制作新网络框架快速自动生成消息结构体的编辑器
- 网络消息结构体脚本自动生成编辑器的进一步扩展
- fr
- 卡卡捕鱼小版本更新记录
- Flume和Kafka整合安装
- Java初学错误积累
- Unity strip engine code可能会使程序崩溃
- Java基础之Java中的类与对象
- 在Unity3D项目中接入ShareSDK实现安卓平台微信分享功能(可使用ShareSDK默认UI或自定义UI)
- Robot Framework之环境搭建(一)