supertux
Public Member Functions | List of all members
Platform Class Reference

This class is the base class for platforms that tux can stand on. More...

#include <platform.hpp>

Inheritance diagram for Platform:
MovingSprite ExposedObject< Platform, scripting::Platform > PathObject MovingObject ScriptInterface GameObject CollisionListener HurtingPlatform

Public Member Functions

 Platform (const ReaderMapping &reader)
 
 Platform (const ReaderMapping &reader, const std::string &default_sprite)
 
virtual void finish_construction () override
 Called after all objects have been added to the Sector and the Sector is fully constructed. More...
 
virtual ObjectSettings get_settings () override
 
virtual HitResponse collision (GameObject &other, const CollisionHit &hit) override
 this function is called when the object collided with any other object
 
virtual void update (float dt_sec) override
 This function is called once per frame and allows the object to update it's state. More...
 
virtual void move_to (const Vector &pos) override
 
virtual std::string get_class () const override
 
virtual std::string get_display_name () const override
 
virtual void editor_update () override
 Called each frame in the editor, used to keep linked objects together (e.g. More...
 
const Vectorget_speed () const
 
Scriptable Methods
void goto_node (int node_no)
 Move platform until at given node, then stop.
 
void start_moving ()
 Start moving platform.
 
void stop_moving ()
 Stop platform at next node.
 
- Public Member Functions inherited from MovingSprite
 MovingSprite (const Vector &pos, const std::string &sprite_name, int layer=LAYER_OBJECTS, CollisionGroup collision_group=COLGROUP_MOVING)
 
 MovingSprite (const ReaderMapping &reader, const Vector &pos, int layer=LAYER_OBJECTS, CollisionGroup collision_group=COLGROUP_MOVING)
 
 MovingSprite (const ReaderMapping &reader, const std::string &sprite_name, int layer=LAYER_OBJECTS, CollisionGroup collision_group=COLGROUP_MOVING)
 
 MovingSprite (const ReaderMapping &reader, int layer=LAYER_OBJECTS, CollisionGroup collision_group=COLGROUP_MOVING)
 
virtual void draw (DrawingContext &context) override
 The GameObject should draw itself onto the provided DrawingContext if this function is called. More...
 
virtual std::string get_default_sprite_name () const
 
virtual void after_editor_set () override
 
std::string get_sprite_name () const
 
void change_sprite (const std::string &new_sprite_name)
 
void spawn_explosion_sprites (int count, const std::string &sprite_path)
 
- Public Member Functions inherited from MovingObject
 MovingObject (const ReaderMapping &reader)
 
virtual void collision_solid (const CollisionHit &) override
 this function is called when the object collided with something solid
 
virtual bool collides (GameObject &, const CollisionHit &) const override
 when 2 objects collided, we will first call the pre_collision_check functions of both objects that can decide on how to react to the collision. More...
 
virtual void collision_tile (uint32_t) override
 called when tiles with special attributes have been touched
 
virtual void set_pos (const Vector &pos)
 
virtual bool listener_is_valid () const override
 
Vector get_pos () const
 
const Rectfget_bbox () const
 
const Vectorget_movement () const
 
CollisionGroup get_group () const
 
CollisionObjectget_collision_object ()
 
const CollisionObjectget_collision_object () const
 
virtual void editor_select () override
 The user clicked on the object in the editor and selected it.
 
- Public Member Functions inherited from GameObject
 GameObject (const std::string &name)
 
 GameObject (const ReaderMapping &reader)
 
UID get_uid () const
 
void save (Writer &writer)
 This function saves the object. More...
 
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...
 
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_deselect ()
 The object got deselected.
 
- Public Member Functions inherited from ExposedObject< Platform, scripting::Platform >
 ExposedObject (Platform *parent)
 Constructor. More...
 
virtual void expose (HSQUIRRELVM vm, SQInteger table_idx) override
 Exposes the parent GameObject to the script Interface. More...
 
virtual void unexpose (HSQUIRRELVM vm, SQInteger table_idx) override
 Un-exposes the parent GameObject to the script Interface. More...
 
- Public Member Functions inherited from PathObject
void init_path (const ReaderMapping &mapping, bool running_default)
 For compatibilty reasons this needs to get the GameObjects main mapping, not the (path ...) mapping.
 
void init_path_pos (const Vector &pos, bool running=false)
 
Pathget_path () const
 
PathWalkerget_walker () const
 
std::string get_path_ref () const
 

Additional Inherited Members

- Protected Member Functions inherited from MovingSprite
void set_action (const std::string &action, int loops)
 set new action for sprite and resize bounding box. More...
 
void set_action_centered (const std::string &action, int loops)
 set new action for sprite and re-center bounding box. More...
 
void set_action (const std::string &action, int loops, AnchorPoint anchorPoint)
 set new action for sprite and align bounding boxes at anchorPoint. More...
 
- Protected Member Functions inherited from MovingObject
void set_group (CollisionGroup group)
 
- Protected Attributes inherited from MovingSprite
std::string m_sprite_name
 
std::string m_default_sprite_name
 The default sprite for this MovingObject.
 
SpritePtr m_sprite
 
int m_layer
 Sprite's z-position. More...
 
- Protected Attributes inherited from MovingObject
CollisionObject m_col
 
- Protected Attributes inherited from GameObject
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
 

Detailed Description

This class is the base class for platforms that tux can stand on.

Member Function Documentation

§ editor_update()

void Platform::editor_update ( )
overridevirtual

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

platform on a path)

Reimplemented from GameObject.

§ finish_construction()

void Platform::finish_construction ( )
overridevirtual

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 from GameObject.

§ update()

void Platform::update ( float  dt_sec)
overridevirtual

This function is called once per frame and allows the object to update it's state.

The dt_sec is the time that has passed since the last frame in seconds and should be the base for all timed calculations (don't use SDL_GetTicks directly as this will fail in pause mode). This function is not called in the Editor.

Reimplemented from MovingSprite.


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