返回列表 发帖

[其他] IGAS_Studio 进度贴 Alpha测试开始 2010-03-24

算是广告吧。最后一段时间了,也许半个月,也许一个月,就开始alpha测试了。这贴用来说下进度,也算吸引下注意。注: IGAS指基础库,也是在IGAS_Studio中创建出来的插件的依赖库。IGAS_Studio是可视化的插件开发用插件,不是依赖库。

个人相册地址: 点击此处

2010/03/21:
代码辅助功能完成2/3,插件的运行和停止,导出功能都已完成。是否加入着色考虑中。

2010/03/08:
代码辅助功能完成1/3,代码编辑器上可以选择各元素,并选择其各自的事件处理名称。相应的代码自动生成完成,生成的函数都会带有相关的参数。

2010/03/03:
_G中的API信息和系统事件信息获取完成,下一步获取所有Widget的信息。Addon和Frame注册事件用的界面完成,相关代码的自动生成功能完成。具体,可以看我的个人相册,图比较大,缩小了,文字看不清楚,我不再贴图了。

2010/03/01:
取消了Tooltip系统。说明信息放在IGAS内存占用过大。IGAS的各函数属性说明文字,以及_G中的函数说明,系统事件说明等文字都将直接保存在IGAS_Studio中,同时提供接口为其他的作者开发Widget时,能够注册相关信息。

2010/02/25:

IGAS:
Addon类调整,会自动把代码中访问到的_G中的function和table保存入插件环境中,便于访问以及保证代码安全。如果访问的是如同UIParent一样的Frame,将自动转换成IGAS下对应的控件类型,便于统一处理。

2010/02/24:

IGAS_Studio:
界面编辑完成,可以随意的画界面,调整属性,虚拟控件如Timer也可以正常创建,创建后只能在右侧的名称列表中选择,非虚拟控件生成的Frame可以在名称列表中选择或是直接点击界面上的Frame,各Frame选中后,可以移动位置或者放缩大小。不排除个别控件使用会有异常,常用的几个是Pass了。

右上角是文件列表,图片里显示的是一个Clac Addon,文件夹结构固定,目前依次为Localization(本地化文件),Script(脚本代码,即一些辅助函数定义的地方),Widget(自定义控件,alpha测试期间不建议使用),Frame(各界面的文件定义,双击打开界面编辑,右键菜单里面可以打开脚本编辑),最下面那个和插件同名的是一个Lua文件,不是文件夹,含有Addon本身的事件处理等,相当于Main函数的地位。这个以后介绍了。

代码编辑器目前只是普通的多行文本框,着色和代码帮助还未完成,着色打算使用kristofer的FAIAP来做,代码帮助的话,使用FakeAddon和FakeFrame系统,运行插件得到插件环境,这样可以实时的获取到各个Object,实现代码帮助。

Advance是用于进一步调整Frame用的,目前完成了TabGroup的,用于产生各个TabPage页。其他还没时间做,比较重要的是DropDownList的,用于制作菜单。

IGAS:
核心功能都已经完成,可能会继续加一个通信库,先看simonw那边怎样了。有Local(本地化), Addon(插件类),Frame(GUI库),足以支持普通界面型插件的开发。

安全模板暂不支持,主要我几乎没用过,虽然看过,但现在加进来,有点过早,预计Beta测试时加入。

今天为GUI库的各Widget加入了Tooltip属性,将用于保存各Widget的Functions和Properties的说明文字,这些将在代码帮助中被显示。资料蛮多,晚上还需要整理次全部控件的函数和方法,预计1-2天时间做完。

看不清的,这是大图地址:http://grab.by/2E21
WoWScrnShot_022110_102734.jpg
2010-2-24 15:53

通讯方面,传输层协议构思的已经有些眉目了不过还有许多情况需要去思考验证后才能最终定下来。接下来才是socket的封装实现,这个我也仔细考虑过,如果不使用多线程仅用timer及timer group来封装的话会异常繁琐。 再之后你这个需要个应用层上的内部插件传输协议同样是协议定制和实现的问题。
协议的定制还不能依赖任何一个框架或者库, 不同的协议栈实现能够互相通讯。

TOP

修改了下大图地址 我转存到其他地方
貌似 急云这个家伙很懒 !

TOP

系统和自定义事件相关界面和帮助信息的获取完成。

TOP

代码辅助功能完成1/3。周期性厌烦症又开始了。进度会有点拖慢。

TOP

自动代码完成包括两部分,第一部分是弹出各种列表以供选择,遇上不少问题,首先系统的sort函数无法处理我的sortfunc,3次能成功完成一次,其余两次出错,并且就算完成,结果也不正确。只好自己写了一个冒泡算法,但处理_G中的API的列表时,时间超长,基本没有使用的可能。还必须再找一个好的排序算法,否则只能放弃_G的API列表。

第二个问题是弹出的方式问题,某个对象的属性和方法的弹出都没问题,可以随意捕获。对象列表和系统API列表这类,原本预计使用Alt+1这类组合键触发,但目前看来,EditBox中无法捕获组合键。相当的棘手。由此,可能放弃_G的API列表显示,而采用右键显示对象列表的方式简化处理。或者考虑再加个鼠标中键。但,前提是第一个问题能解决掉先。。。

明天考虑算法。如果都解决完成了,大致上下周就能放出alpha版本。

TOP

先按首字母分组,然后再按照100一组分组,完成预排序,之后每组使用冒泡排序法,最后多路合并。。。耗时仅0.06秒,昨天写的算法真糟糕。基本上没什么难点了,剩下些细节调整。明天继续了。

TOP

GameTooltip以前只完成了简单的控件对应,不过,看起来实际使用时,仍然需要做很多额外处理,晚上先处理完GameTooltip控件,再继续。发布可能要拖到周三晚或周四。

昨晚忙了一晚上的DAO的mod。。。总算可以在DAO上使用DAA的技能了。 :P

TOP

返回列表