Class Structure

Qex Class Structure

Every Qex instance has a basic Root object. This object exists for the life of the session and steers the entire system.

Under the Root object is any number of Worlds. Each file you load is 1 world. Worlds typically appear in the list under "Maps" and allow the user to select the one he is interested in. Only one world is ever "current" at a time, so calling "World.Name" refers to whichever world the user happens to be looking at.

Each World defines 1 Terrain object. A Terrain object contains any number of maps which need not be contiguous (they may overlap, be different sizes, or not even join up). For practical purposes, the number of maps should not exceed 8, but any number of maps may be added. There is no interface for maps because they may be removed at some point in the future (See below under Maps).

Each World defines any number of Pyramid objects. A basic pyramid is anything the user can interact with, including all sprites, equipment, buttons / controls and even the camera.

Each map defines any number of Regions. A region is the smallest unit of terrain, usually 32x32 in grid units. A region also defines how fog of war will work. A map also defines a NavigationMesh of nodes to control Pyramid movement. Since regions do the work of Pyramid placement, at some point in the future, they will probably supercede the map.