raptor's object model - Grisgram/gml-raptor GitHub Wiki
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.
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.
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.
Is also Saveable
, but it additionally offers an instance variable text
that will automatically resolve to a localized string from the LG Localization subsystem.
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.
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.