Login

In-Game Addon System

作者:kurapica

查看本文的版权约束。

介绍

IGAS最初的设计目的,是希望能在游戏中完成插件的创作,运行,销毁,传递。创建一个面向对象的游戏内开发平台。目前来说,除了传递之外的绝大部分目的已经完成了,已经可以利用来处理各种应用。

要求

IGAS是一套类库,它能简化开发,但依然需要读者有一定的开发能力,至少你需要对lua语言有一定的了解,并且本身也曾写过一些代码,限于我的时间和能力,这里不会从零给出开发指南,我会假定读者有一定的开发能力,对lua也有一定了解。

安装

  1. 请下载 IGAS 插件。然后解压安装到 World of Warcraft\Interface\Addons\ 目录下。

  2. 请下载 Cube 插件。然后解压安装到 World of Warcraft\Interface\Addons\ 目录下。此插件是随后我在介绍IGAS常用的调试类插件。

功能

WOW中的类

我们用于创建插件的lua语言本身不直接提供面向对象的类和对象的概念。但它为table表提供了丰富的元表操作,我们可以为table表提供各种属性和方法,然后为各种对象提供类构造器,以此实现一整套面向对象系统。通过这套系统以及它提供的继承机制,使开发能变得便利化和简单化。这些在后面的部分都会看到。

Cube

Cube插件是利用IGAS开发的最早的一个插件,本身具有代码运行,表监视,错误监视,单元测试,以及针对IGAS的日志监视,几块功能,合理使用能使我们的开发过程更加方便,而它本身具有的自动运行功能,也让它可以替代很多插件使用,不过这是题外话。

Cube功能说明

Addon

在IGAS系统中,插件被抽象为一个类,每个插件都是一个实际存在的对象,你可以用这个对象处理事件,管理数据存档,以及各种常用的插件操作。并且,每个插件对象本身也是它自身各个文件的运行环境,保证了每个插件的独立性,以及代码编写时的简便性。

Addon类型说明

Localization

本地化文件是现在各插件常用的一种文件,用来统一管理本地化字符串,IGAS也同样提供一种简单的方式来处理这些。

Loalization本地化文件说明

Logger

日志系统对象,用于管理插件内的各种日志出力,通过调整它的出力等级,可以简便的切换插件的Debug或者Release状态,配合Cube提供的日志监视,你可以很快速的查找出插件出现问题位置。

Logger日志系统说明

GUI

GUI将blz提供的各类控件抽象化为各种对象,并为它们提供了丰富的属性和方法,以便使用,并且通过独特的继承机制,在现有的控件基础上创建新的自定义控件成为一件相当简单的事情,配合IGAS_Studio让界面开发不再成为插件制作中的难点。

GUI控件系统指南

Special Frames

我们经常需要使用类似消息框,颜色选择框等式样统一的界面帮助处理一些配置功能,IGAS以函数的方式提供这类界面给作者使用,只需要简单的一行代码,就能解决很多麻烦。

消息框 颜色选择框

IGAS (last edited 2010-09-05 18:45:52 by kurapica)