码迷,mamicode.com
首页 > 其他好文 > 详细

Gladius插件分析

时间:2014-12-29 11:44:41      阅读:131      评论:0      收藏:0      [点我收藏+]

标签:

功能:竞技场对手框体

使用了Ace3库

1、文件分为三部分:Embeds.xml;Gladius.lua+Localizations.lua+Options.lua;Modules\***

2、Embeds.xml库部分:
AceSerializer-3.0 可以把任意变量序列化成一个字符串,并用字符串恢复原有变量值
DRData-1.0 控制递减数据库

3、Gladius.lua+Localizations.lua+Options.lua,后面两个是老东西,多国语言和插件配置界面;Gladius.lua定义了一套模板,Gladius:NewModule(key, bar, attachTo, defaults, templates),传入模板就可以创建出对应的xxx条模块。Gladius.lua主要就是管理这些模块,包括EnableModule、DisableModule、竞技场进入退出事件处理、提供角色单位信息、整体界面拖动等等

4、Modules\***,框体上每个显示或者提示部分是模块化的,模块文件内容可以很容易看出它自己是怎么适配上Gladius.lua的,传入模板调用Gladius:NewModule获得模块,然后补全管理需要的函数OnEnable、OnDisable、GetAttachTo、GetFrame、Update、Show、Reset、Test和GetOptions,其中GetOptions是Options.lua在用。它们要监视的事件在OnEnable可以很容易看见。总共有15个模块:
HealthBar.lua 血条
PowerBar.lua 法力能量条
CastBar.lua 施法条
Auras.lua 光环
ClassIcon.lua 职业图标
Trinket.lua 饰品
Highlight.lua 目标和焦点的高亮选择框
Clicks.lua 点击施法,具体是创建一个框体,然后用SetAttribute给它赋值"unit"、"macro"、"spell"、"macrotext"、attr.modifier.."type"..attr.button等等
TargetBar.lua 目标条
Tags.lua xxx条上的文字,HealthBar、PowerBar、TargetBar
Announcements.lua 通知消息,包括开场对手组合提示、低生命值、吃喝、复活
DRTracker.lua 控制递减跟踪,用到了DRData-1.0的GetSpellCategory、NextDR、GetResetTime等
Timer.lua 冷却计时
Layout.lua 界面布局数据导入导出,LibStub("AceSerializer-3.0"):Serialize,LibStub("AceSerializer-3.0"):Deserialize
Dispel.lua 驱散技能冷却提示

Gladius插件分析

标签:

原文地址:http://www.cnblogs.com/yuyuyu/p/4191130.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!