supertux
Public Member Functions | Protected Attributes | Friends | List of all members
GameObject Class Referenceabstract

Base class for all the things that make up Levels' Sectors. More...

#include <game_object.hpp>

Inheritance diagram for GameObject:
AmbientLight Background BicyclePlatform BouncyCoin Camera CoinExplode CoinRain DisplayEffect Electrifier EndSequence FallingCoin Fireworks FloatingImage FloatingText Gradient LevelTime Light MovingObject MusicObject Particles ParticleSystem PathGameObject PlayerStatusHUD PneumaticPlatform RainSplash SmokeCloud SpecialRiser SpriteParticle TextArrayObject TextObject TextScroller Thunderstorm TileMap worldmap::LevelTile worldmap::SpecialTile worldmap::SpriteChange worldmap::Teleporter worldmap::Tux

Public Member Functions

 GameObject (const std::string &name)
 
 GameObject (const ReaderMapping &reader)
 
virtual void finish_construction ()
 Called after all objects have been added to the Sector and the Sector is fully constructed. More...
 
UID get_uid () const
 
virtual void update (float dt_sec)=0
 This function is called once per frame and allows the object to update it's state. More...
 
virtual void draw (DrawingContext &context)=0
 The GameObject should draw itself onto the provided DrawingContext if this function is called. More...
 
void save (Writer &writer)
 This function saves the object. More...
 
virtual std::string get_class () const
 
virtual std::string get_display_name () const
 
virtual bool is_singleton () const
 If true only a single object of this type is allowed in a given GameObjectManager.
 
virtual bool has_variable_size () const
 Does this object have variable size (secret area trigger, wind, etc.)
 
virtual bool is_saveable () const
 Indicates if the object will be saved. More...
 
virtual bool has_settings () const
 Indicates if get_settings() is implemented. More...
 
virtual ObjectSettings get_settings ()
 
virtual void after_editor_set ()
 
bool is_valid () const
 returns true if the object is not scheduled to be removed yet
 
void remove_me ()
 schedules this object to be removed at the end of the frame
 
void add_remove_listener (ObjectRemoveListener *listener)
 registers a remove listener which will be called if the object gets removed/destroyed
 
void del_remove_listener (ObjectRemoveListener *listener)
 unregisters a remove listener, so it will no longer be called if the object gets removed/destroyed
 
void set_name (const std::string &name)
 
const std::string & get_name () const
 
virtual const std::string get_icon_path () const
 
virtual void stop_looping_sounds ()
 stops all looping sounds
 
virtual void play_looping_sounds ()
 continues all looping sounds
 
template<typename T >
T * get_component ()
 
void add_component (std::unique_ptr< GameObjectComponent > component)
 
void remove_component (GameObjectComponent *component)
 
virtual void editor_delete ()
 The editor requested the deletion of the object.
 
virtual void editor_select ()
 The user clicked on the object in the editor and selected it.
 
virtual void editor_deselect ()
 The object got deselected.
 
virtual void editor_update ()
 Called each frame in the editor, used to keep linked objects together (e.g. More...
 

Protected Attributes

std::string m_name
 a name for the gameobject, this is mostly a hint for scripts and for debugging, don't rely on names being set or being unique
 

Friends

class GameObjectManager
 

Detailed Description

Base class for all the things that make up Levels' Sectors.

Each sector of a level will hold a list of active GameObject while the game is played.

This class is responsible for:

Member Function Documentation

§ draw()

virtual void GameObject::draw ( DrawingContext context)
pure virtual

§ editor_update()

virtual void GameObject::editor_update ( )
inlinevirtual

Called each frame in the editor, used to keep linked objects together (e.g.

platform on a path)

Reimplemented in TileMap, Coin, Platform, ResizeMarker, and NodeMarker.

§ finish_construction()

virtual void GameObject::finish_construction ( )
inlinevirtual

Called after all objects have been added to the Sector and the Sector is fully constructed.

If objects refer to other objects by name, those connection can be resolved here.

Reimplemented in TileMap, Coin, WillOWisp, and Platform.

§ has_settings()

virtual bool GameObject::has_settings ( ) const
inlinevirtual

Indicates if get_settings() is implemented.

If true the editor will display Tip and ObjectMenu.

Reimplemented in ResizeMarker, and NodeMarker.

§ is_saveable()

virtual bool GameObject::is_saveable ( ) const
inlinevirtual

§ save()

void GameObject::save ( Writer writer)

This function saves the object.

Editor will use that.

§ update()

virtual void GameObject::update ( float  dt_sec)
pure virtual

The documentation for this class was generated from the following files: