Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Version 4 (modified by landauf, 16 years ago) (diff)

BaseObject

Description

In Orxonox, there are some classes refered to be "objects". In this context an object is not an instance of a class, but a class beeing relevant to the game-logic. Examples of objects are: A ship (but not the model), a particle effect (but not the particles themselfes), a trigger (which might be totally abstract like "finish the game after 20 minutes"), a HUD (but not the graphpics). Examples of classes not beeing objects are: Interfaces (but objects might inherit from them), graphical components (meshes, textures, sprites, billboards, …), helper classes (Timer, …), classes in external libraries (network?, audio, core, …).

To differ objects from other classes, they derive from BaseObject. They might have other parents like interfaces or listeners, but they must inherit from BaseObject. The other way round you can cast every object to BaseObject, even if the only thing you know is it's a derivative of an interface like Tickable or Synchronisable?. The BaseObject itself inherits from OrxonoxClass.

Functions

The BaseObject provides several functions and states:

—-to come—-

Illustration

In this illustration of a class-tree (Test.h), the classes A1, A2 and A3 (and all derivatives) are "objects", because they inherit from BaseObject. As you can see, there are some Interfaces. Interfaces aren't connected with the BaseObject, they're on the same level. But they all inherit from OrxonoxClass, but this isn't relevant to the game-logic.

No image "testclass_interface_orxonoxclass_tree.gif" attached to Core