|
supertux
|
Abstract base class for ""MovingObject""s, that are represented by a sprite. More...
#include <moving_sprite.hpp>
Public Member Functions | |
| 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 void | update (float dt_sec) override |
| This function is called once per frame and allows the object to update it's state. More... | |
| virtual std::string | get_class_name () const override |
| virtual std::string | get_exposed_class_name () const override |
| virtual GameObjectClasses | get_class_types () const override |
| List notable classes in inheritance hierarchy of class. More... | |
| virtual ObjectSettings | get_settings () override |
| virtual void | after_editor_set () override |
| virtual void | on_type_change (int old_type) override |
| virtual int | get_layer () const override |
| bool | has_found_sprite () const |
| const std::string & | get_sprite_name () const |
| virtual std::string | get_default_sprite_name () const |
| bool | matches_sprite (const std::string &sprite_file) const |
| bool | change_sprite (const std::string &new_sprite_name) |
| void | spawn_explosion_sprites (int count, const std::string &sprite_path) |
| Sprite * | get_sprite () const |
| Get various sprite properties. More... | |
| std::string | get_action () const |
| Returns the name of the current action of the sprite. | |
| void | set_action (const std::string &name) |
| Sets the current action of the sprite and resizes the bounding box. More... | |
| void | set_action_loops (const std::string &name, int loops) |
| Sets the current action of the sprite, as well as the number of times it should loop, and resizes the bounding box. More... | |
| void | set_action (const std::string &name, int loops) |
| Sets the action from an action name, as well as the number of times it should loop. More... | |
| void | set_action (const std::string &name, const Direction &dir, int loops=-1) |
| Sets the action from an action name and a particular direction in the form of "name-direction", eg. More... | |
| void | set_action (const Direction &dir, const std::string &name, int loops=-1) |
| Sets the action from an action name and a particular direction in the form of "direction-name", eg. More... | |
| void | set_action (const Direction &dir, int loops=-1) |
| Sets the action from a string from a particular direction in the form of "direction", e.g. More... | |
| void | set_action_centered (const std::string &action, int loops=-1) |
| 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... | |
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 collision 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 void | move_to (const Vector &pos) |
| virtual void | move (const Vector &dist) |
| 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 |
| void | set_parent_dispenser (Dispenser *dispenser) |
| Dispenser * | get_parent_dispenser () const |
| virtual void | editor_select () override |
| The user clicked on the object in the editor and selected it. | |
| virtual void | on_flip (float height) override |
| When level is flipped vertically. | |
| float | get_x () const |
| Returns the object's X coordinate. | |
| float | get_y () const |
| Returns the object's Y coordinate. | |
| void | set_pos (float x, float y) |
| Sets the position of the object. More... | |
| void | move (float x, float y) |
| Moves the object by ""x"" units to the right and ""y"" down, relative to its current position. More... | |
| float | get_width () const |
| Returns the object's hitbox width. | |
| float | get_height () const |
| Returns the object's hitbox height. | |
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 |
| virtual void | save (Writer &writer) |
| This function saves the object. More... | |
| std::string | save () |
| virtual std::string | get_display_name () const |
| Returns the display name of the object, translated to the user's locale. | |
| virtual std::vector< std::string > | get_patches () const |
| Version checking/updating, patch information. | |
| virtual void | update_version () |
| int | get_version () const |
| Returns the current version of the object. | |
| int | get_latest_version () const |
| Returns the latest version of the object. | |
| bool | is_up_to_date () const |
| Checks whether the object's current version is equal to its latest one. | |
| 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 | track_state () const |
| Indicates if the object's state should be tracked. More... | |
| virtual bool | has_object_manager_priority () const |
| Indicates if the object should be added at the beginning of the object list. More... | |
| virtual bool | has_settings () const |
| Indicates if get_settings() is implemented. More... | |
| virtual GameObjectTypes | get_types () const |
| Get all types of the object, if available. More... | |
| int | get_type () const |
| Returns the type index of the object. | |
| virtual void | remove_me () |
| schedules this object to be removed at the end of the frame | |
| bool | is_valid () const |
| returns true if the object is not scheduled to be removed yet | |
| 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 |
| Returns the name of the object. | |
| 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 | save_state () |
| Save/check the current state of the object. More... | |
| virtual void | check_state () |
| 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... | |
| GameObjectManager * | get_parent () const |
Public Member Functions inherited from CollisionListener | |
| virtual HitResponse | collision (GameObject &other, const CollisionHit &hit)=0 |
| this function is called when the object collided with any other object | |
Static Public Member Functions | |
| static void | register_class (ssq::VM &vm) |
| static std::string | class_name () |
Static Public Member Functions inherited from MovingObject | |
| static void | register_class (ssq::VM &vm) |
| static std::string | class_name () |
Static Public Member Functions inherited from GameObject | |
| static void | register_class (ssq::VM &vm) |
Protected Member Functions | |
| virtual void | update_hitbox () |
| Update hitbox, based on sprite. More... | |
Protected Member Functions inherited from MovingObject | |
| void | set_group (CollisionGroup group) |
Protected Member Functions inherited from GameObject | |
| void | parse_type (const ReaderMapping &reader) |
| Parse object type. More... | |
| int | type_id_to_value (const std::string &id) const |
| Conversion between type ID and value. More... | |
| std::string | type_value_to_id (int value) const |
Protected Attributes | |
| std::string | m_sprite_name |
| std::string | m_default_sprite_name |
| The default sprite for this MovingObject. More... | |
| SpritePtr | m_sprite |
| int | m_layer |
| Sprite's z-position. More... | |
| Flip | m_flip |
Protected Attributes inherited from MovingObject | |
| CollisionObject | m_col |
| Dispenser * | m_parent_dispenser |
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 | |
| int | m_type |
| Type of the GameObject. More... | |
| std::vector< std::unique_ptr< FadeHelper > > | m_fade_helpers |
| Fade Helpers are for easing/fading script functions. | |
| bool | m_track_undo |
| Track the following creation/deletion of this object for undo. More... | |
Additional Inherited Members | |
Protected Types inherited from GameObject | |
| enum | TypeChange { INITIAL = -1 } |
| When the type has been changed from the editor. More... | |
Abstract base class for ""MovingObject""s, that are represented by a sprite.
|
overridevirtual |
The GameObject should draw itself onto the provided DrawingContext if this function is called.
Implements GameObject.
Reimplemented in LiveFireDormant, LiveFireAsleep, Crusher, BadGuy, BonusBlock, Decal, ConveyorBelt, worldmap::WorldMapObject, Dispenser, DiveMine, Explosion, TreeWillOWisp, MagicBlock, Torch, Door, MrBomb, RCrystallo, LitObject, ScriptedObject, Kugelblitz, Stalactite, Block, Candle, FallBlock, UnstableTile, GhostTree, Haywire, InvisibleBlock, Key, Flame, GrowUp, InfoBlock, PowerUp, WeakBlock, Root, Firefly, Star, CirclePlatform, RubLight, Boss, CorruptedGranitoBig, Tarantula, Lantern, Yeti, and YetiStalactite.
|
inlineoverridevirtual |
List notable classes in inheritance hierarchy of class.
This makes it possible to efficiently look up all objects deriving from a particular intermediate class
Reimplemented from MovingObject.
Reimplemented in CrusherRoot, StickyTrigger, HeavyCoin, SpritedTrigger, LiveFireDormant, StickyBadguy, LiveFireAsleep, Crusher, HeavyBrick, BadGuy, WillOWisp, Dispenser, LeafShot, BonusBlock, worldmap::SpawnPointObject, MrBomb, Platform, WalkingBadguy, Granito, DiveMine, MrIceBlock, Decal, Flame, ConveyorBelt, Torch, Haywire, LitObject, ScriptedObject, Owl, CorruptedGranito, Dart, GranitoBig, MoleRock, Coin, SkyDive, Snail, Candle, Stalactite, MagicBlock, UnstableTile, FishJumping, FishSwimming, GhostTree, RootSapling, WalkingCandle, FallBlock, BouncingSnowball, Jumpy, Kugelblitz, PowerUp, Rock, RustyTrampoline, AngryStone, Igel, Root, Tarantula, Zeekling, BigSnowball, LiveFire, Mole, Stumpy, Toad, Yeti, Bumper, Firefly, Key, Lantern, SSpiky, Totem, InfoBlock, Trampoline, worldmap::WorldMapObject, GoldBomb, WeakBlock, worldmap::LevelTile, worldmap::SpecialTile, CorruptedGranitoBig, DartTrap, CirclePlatform, Explosion, Ispy, Shard, worldmap::SpriteChange, FishChasing, KamikazeSnowball, Plant, YetiStalactite, Brick, RubLight, worldmap::Teleporter, Crystallo, FlyingSnowBall, RCrystallo, ViciousIvy, WalkingLeaf, CaptainSnowball, GranitoGiant, MrTree, SmartBall, PushButton, StickyObject, Boss, Ghoul, SCrystallo, Spiky, Block, HurtingPlatform, Door, FishHarmless, ShortFuse, SmartBlock, SnowBall, InvisibleBlock, Switch, Snowman, BicyclePlatformChild, PneumaticPlatformChild, TreeWillOWisp, WaterDrop, Star, GrowUp, and OneUp.
|
inline |
Get various sprite properties.
|
overridevirtual |
Don't change the sprite/layer to the default one for the current type, if this is the initial on_type_change() call, and a custom sprite/layer has just been loaded.
Reimplemented from GameObject.
| void MovingSprite::set_action | ( | const std::string & | name | ) |
Sets the current action of the sprite and resizes the bounding box.
NOTE: Use with care as you can easily get stuck when resizing the bounding box.
| string | $name |
| void MovingSprite::set_action | ( | const std::string & | name, |
| int | loops | ||
| ) |
Sets the action from an action name, as well as the number of times it should loop.
| void MovingSprite::set_action | ( | const std::string & | name, |
| const Direction & | dir, | ||
| int | loops = -1 |
||
| ) |
Sets the action from an action name and a particular direction in the form of "name-direction", eg.
"walk-left".
| void MovingSprite::set_action | ( | const Direction & | dir, |
| const std::string & | name, | ||
| int | loops = -1 |
||
| ) |
Sets the action from an action name and a particular direction in the form of "direction-name", eg.
"left-up".
| void MovingSprite::set_action | ( | const Direction & | dir, |
| int | loops = -1 |
||
| ) |
Sets the action from a string from a particular direction in the form of "direction", e.g.
"left".
| void MovingSprite::set_action | ( | const std::string & | action, |
| int | loops, | ||
| AnchorPoint | anchorPoint | ||
| ) |
Set new action for sprite and align bounding boxes at anchorPoint.
use with care as you can easily get stuck when resizing the bounding box.
| void MovingSprite::set_action_centered | ( | const std::string & | action, |
| int | loops = -1 |
||
| ) |
Set new action for sprite and re-center bounding box.
use with care as you can easily get stuck when resizing the bounding box.
| void MovingSprite::set_action_loops | ( | const std::string & | name, |
| int | loops | ||
| ) |
Sets the current action of the sprite, as well as the number of times it should loop, and resizes the bounding box.
NOTE: Use with care as you can easily get stuck when resizing the bounding box.
| string | $name | |
| int | $loops |
|
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.
Implements GameObject.
Reimplemented in CrusherRoot, StickyTrigger, SpritedTrigger, HeavyCoin, BadGuy, Crusher, Decal, ConveyorBelt, worldmap::WorldMapObject, Platform, Coin, Torch, Explosion, LitObject, MagicBlock, Door, ScriptedObject, Block, StickyObject, UnstableTile, Switch, PneumaticPlatformChild, BicyclePlatformChild, BigSnowball, Bumper, Firefly, OneUp, Rock, RustyTrampoline, FishSwimming, FallBlock, GrowUp, InfoBlock, Ispy, Key, PowerUp, WaterDrop, WeakBlock, Star, RubLight, Shard, Trampoline, YetiStalactite, CirclePlatform, and PushButton.
|
protectedvirtual |
Update hitbox, based on sprite.
Reimplemented in Granito.
|
protected |
The default sprite for this MovingObject.
NOTE: Unless in a constructor, use get_default_sprite_name() instead, so support for sprite switching for object types is retained.
|
protected |
Sprite's z-position.
Refer to video/drawing_context.hpp for sensible values.
1.8.13