Before We Get Started
This chapter assumes that you're a .NET (Visual Basic or C#) developer who plays World of Warcraft, and maybe you've used Warcraft addons, but you've never written your own. There are many similar concepts that apply to both building Warcraft addons and building .NET applications, as you can see in Table 3-1.
Table 3-1. High-level comparison of Warcraft and .NET programming models
|
CATEGORY |
WARCRAFT ADDONS |
.NET |
|---|---|---|
|
Application files and resources |
Table of Contents (.toc) |
Assembly manifest file |
|
Application metadata (name, author, version) |
Table of Contents |
AssemblyInfo |
|
UI |
FrameXML markup and widgets |
XAML markup and controls |
|
Code |
Lua |
VB/C# |
|
Programming model |
Event-based |
Event-based |
|
Libraries |
WoW Function APIs, third-party libraries |
.NET Framework, third-party libraries |
|
Storage |
SavedVariables |
Isolated storage/filesystem |
|
Referencing current object |
Self |
Me (VB); this (C#) |
|
Tools |
AddOn Studio for World of Warcraft |
Visual Studio Express Editions |
A Quick Tour of the Lua Programming Language
There are many nuances to the Lua programming language, but the following is a quick glance at its features. For a full reference on the Lua programming language, you can download the language reference from http://www.lua.org/manual/.
Note
World of Warcraft uses a slightly modified version of the Lua 5.1 runtime that adds some helper functions and removes operating system and file I/O functions.
Lua types
Lua defines five basic types: a Boolean (true/false), a number, ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access