raptor's object model - Grisgram/gml-raptor GitHub Wiki

Most important objects

In the diagram below you see some objects with a thick yellow border.
These are the most important objects when working with raptor, and you should consider making one of them the parent to each of the GameObjects you create.

_raptorBase

The base of all objects is the _raptorBase. It is strongly recommended, that you make as many objects as possible in your game a child of this class (even inject it as base to objects from other libraries, if they have "none" set as parent and are part of your active game scenes!
The reason for this is, that this object covers one of the most powerful features of raptor: click-through!

Important

Make sure, you read the features of this base object in _raptorBase.

Saveable

All Saveable objects will automatically be part of the savegame. This (or one of its children) is by far the most important object to derive from. See the documentation of the Savegame System on how to work with objects of that type.

LGTextObject

Is also Saveable, but it additionally offers an instance variable text that will automatically resolve to a localized string from the LG Localization subsystem.

StatefulObject

This will very likely be the base object for all your living and interactive objects in the game whether they're switches, doors, monsters or even the player object itself. Use the power of the StateMachine. It works in perfect harmony with raptor's Animation subsystem.

UI Controls

In the project template, you find a folder _gml_raptor_ui_, which contains a full set of skin- and theme-able controls.

Together with the new ControlTree in raptor3, they form a powerful base for all UI-related tasks in your game! See UI Subsystem, especially UI Skins and UI Themes to learn more!

In addition, RACE (The Random Content Engine) will spice your game up with an easy-to-use way to randomize the content in your game.

Object Hierarchy

raptor-objects

⚠️ **GitHub.com Fallback** ⚠️