|
supertux
|
"Totem" Badguy - A variable-height stack of wooden blocks More...
#include <totem.hpp>
Public Member Functions | |
| Totem (const ReaderMapping &reader) | |
| virtual void | initialize () override |
| called immediately before the first call to initialize | |
| virtual void | active_update (float dt_sec) override |
| called each frame when the badguy is activated. More... | |
| virtual void | collision_solid (const CollisionHit &hit) override |
| Called when the badguy collided with solid ground. | |
| virtual HitResponse | collision_badguy (BadGuy &badguy, const CollisionHit &hit) override |
| Called when the badguy collided with another badguy. | |
| virtual bool | updatePointers (const GameObject *from_object, GameObject *to_object) |
| virtual std::string | get_class () const override |
| virtual std::string | get_display_name () const override |
Public Member Functions inherited from BadGuy | |
| BadGuy (const Vector &pos, const std::string &sprite_name, int layer=LAYER_OBJECTS, const std::string &light_sprite_name="images/objects/lightmap_light/lightmap_light-medium.sprite") | |
| BadGuy (const Vector &pos, Direction direction, const std::string &sprite_name, int layer=LAYER_OBJECTS, const std::string &light_sprite_name="images/objects/lightmap_light/lightmap_light-medium.sprite") | |
| BadGuy (const ReaderMapping &reader, const std::string &sprite_name, int layer=LAYER_OBJECTS, const std::string &light_sprite_name="images/objects/lightmap_light/lightmap_light-medium.sprite") | |
| virtual void | draw (DrawingContext &context) override |
| Called when the badguy is drawn. More... | |
| virtual void | update (float dt_sec) override |
| Called each frame. More... | |
| virtual ObjectSettings | get_settings () override |
| virtual void | after_editor_set () override |
| virtual HitResponse | collision (GameObject &other, const CollisionHit &hit) override |
| Called when a collision with another object occurred. More... | |
| virtual void | collision_tile (uint32_t tile_attributes) override |
| Called when a collision with tile with special attributes occurred. | |
| virtual void | run_dead_script () |
| Call this, if you use custom kill_fall() or kill_squashed(GameObject& object) | |
| virtual bool | can_break () const |
| True if this badguy can break bricks or open bonusblocks in his current form. More... | |
| Vector | get_start_position () const |
| void | set_start_position (const Vector &vec) |
| virtual void | ignite () |
| Called when hit by a fire bullet, and is_flammable() returns true. | |
| virtual void | extinguish () |
| Called to revert a badguy when is_ignited() returns true. | |
| virtual bool | is_flammable () const |
| Returns whether to call ignite() when a badguy gets hit by a fire bullet. | |
| bool | is_ignited () const |
| Returns whether this badguys is currently on fire. | |
| virtual void | freeze () |
| Called when hit by an ice bullet, and is_freezable() returns true. More... | |
| virtual void | unfreeze () |
| Called to unfreeze the badguy. More... | |
| virtual bool | is_freezable () const |
| virtual bool | is_hurtable () const |
| Return true if this badguy can be hurt by tiles with the attribute "hurts". | |
| bool | is_frozen () const |
| bool | is_in_water () const |
| virtual std::string | get_water_sprite () const |
| Get melting particle sprite filename. | |
| void | set_parent_dispenser (Dispenser *parent) |
| Sets the dispenser that spawns this badguy. More... | |
| Dispenser * | get_parent_dispenser () const |
| Returns the dispenser this badguys was spawned by. | |
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 std::string | get_default_sprite_name () const |
| 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 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 | set_pos (const Vector &pos) |
| virtual void | move_to (const Vector &pos) |
| virtual bool | listener_is_valid () const override |
| Vector | get_pos () const |
| const Rectf & | get_bbox () const |
| const Vector & | get_movement () const |
| CollisionGroup | get_group () const |
| CollisionObject * | get_collision_object () |
| const CollisionObject * | get_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) | |
| 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 |
| 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. | |
| virtual void | editor_update () |
| Called each frame in the editor, used to keep linked objects together (e.g. More... | |
Protected Member Functions | |
| virtual bool | collision_squished (GameObject &object) override |
| Called when the player hit the badguy from above. More... | |
| virtual void | kill_fall () override |
| Set the badguy to kill/falling state, which makes him falling of the screen (his sprite is turned upside-down) | |
| void | jump_on (Totem *target) |
| jump on target | |
| void | jump_off () |
| jump off current base | |
| void | synchronize_with (Totem *baseTotem) |
| synchronize position and movement with baseTotem | |
Protected Member Functions inherited from BadGuy | |
| virtual HitResponse | collision_player (Player &player, const CollisionHit &hit) |
| Called when the badguy collided with a player. | |
| virtual HitResponse | collision_bullet (Bullet &bullet, const CollisionHit &hit) |
| Called when the badguy collided with a bullet. | |
| virtual void | inactive_update (float dt_sec) |
| called each frame when the badguy is not activated. More... | |
| virtual void | activate () |
| called when the badguy has been activated. More... | |
| virtual void | deactivate () |
| called when the badguy has been deactivated | |
| void | kill_squished (GameObject &object) |
| void | set_state (State state) |
| State | get_state () const |
| bool | check_state_timer () |
| Player * | get_nearest_player () const |
| returns a pointer to the nearest player or 0 if no player is available | |
| bool | is_offscreen () const |
| initial position of the enemy. More... | |
| bool | might_fall (int height=1) const |
Returns true if we might soon fall at least height pixels. More... | |
| Direction | str2dir (const std::string &dir_str) const |
| Get Direction from String. More... | |
| void | update_on_ground_flag (const CollisionHit &hit) |
Update on_ground_flag judging by solid collision hit. More... | |
| bool | on_ground () const |
| Returns true if we touched ground in the past frame This only works if update_on_ground_flag() gets called in collision_solid. More... | |
| Vector | get_floor_normal () const |
| Returns floor normal stored the last time when update_on_ground_flag was called and we touched something solid from above. More... | |
| bool | is_active () const |
| Returns true if we were in STATE_ACTIVE at the beginning of the last call to update() | |
| void | set_colgroup_active (CollisionGroup group) |
| changes colgroup_active. More... | |
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) |
Additional Inherited Members | |
Public Attributes inherited from BadGuy | |
| bool | m_countMe |
| Count this badguy to the statistics? This value should not be changed during runtime. More... | |
Protected Types inherited from BadGuy | |
| enum | State { STATE_INIT, STATE_INACTIVE, STATE_ACTIVE, STATE_SQUISHED, STATE_FALLING, STATE_BURNING, STATE_MELTING, STATE_GROUND_MELTING, STATE_INSIDE_MELTING, STATE_GEAR } |
Protected Attributes inherited from BadGuy | |
| Physic | m_physic |
| bool | m_is_initialized |
| true if initialize() has already been called | |
| Vector | m_start_position |
| Direction | m_dir |
| The direction we currently face in. | |
| Direction | m_start_dir |
| The direction we initially faced in. | |
| bool | m_frozen |
| bool | m_ignited |
| true if this badguy is currently on fire | |
| bool | m_in_water |
| std::string | m_dead_script |
| < true if the badguy is currently in water More... | |
| float | m_melting_time |
| SpritePtr | m_lightsprite |
| bool | m_glowing |
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 | |
"Totem" Badguy - A variable-height stack of wooden blocks
|
overridevirtual |
called each frame when the badguy is activated.
Reimplemented from BadGuy.
|
overrideprotectedvirtual |
Called when the player hit the badguy from above.
You should return true if the badguy was squished, false if squishing wasn't possible
Tux shouldn't be able to bisect totem stack by sacrificing his powerup. –Hume2
Reimplemented from BadGuy.
1.8.12