|
supertux
|
This is the base class for particle systems. More...
#include <particlesystem.hpp>


Classes | |
| class | Particle |
Public Member Functions | |
| ParticleSystem (const ReaderMapping &reader, float max_particle_size=60) | |
| ParticleSystem (float max_particle_size=60) | |
| 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_class_name () const override |
| virtual std::string | get_exposed_class_name () const override |
| virtual std::string | get_display_name () const override |
| Returns the display name of the object, translated to the user's locale. | |
| virtual GameObjectClasses | get_class_types () const override |
| List notable classes in inheritance hierarchy of class. More... | |
| virtual ObjectSettings | get_settings () override |
| void | set_enabled (bool enable) |
| bool | get_enabled () const |
| int | get_layer () const |
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 | update (float dt_sec)=0 |
| This function is called once per frame and allows the object to update it's state. More... | |
| virtual void | save (Writer &writer) |
| This function saves the object. More... | |
| std::string | save () |
| 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 | after_editor_set () |
| virtual void | on_flip (float height) |
| When level is flipped vertically. | |
| 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_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... | |
| GameObjectManager * | get_parent () const |
Static Public Member Functions | |
| static void | register_class (ssq::VM &vm) |
| static std::string | class_name () |
| static std::string | display_name () |
Static Public Member Functions inherited from GameObject | |
| static void | register_class (ssq::VM &vm) |
Protected Attributes | |
| float | max_particle_size |
| int | z_pos |
| std::vector< std::unique_ptr< Particle > > | particles |
| float | virtual_width |
| float | virtual_height |
| bool | enabled |
| Determines whether the system is enabled. | |
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... | |
Protected Member Functions inherited from GameObject | |
| void | parse_type (const ReaderMapping &reader) |
| Parse object type. More... | |
| virtual void | on_type_change (int old_type) |
| 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 |
This is the base class for particle systems.
It is responsible for storing a set of particles with each having an x- and y-coordinate the number of the layer where it should be drawn and a texture.
The coordinate system used here is a virtual one. It would be a bad idea to populate whole levels with particles. So we're using a virtual rectangle here that is tiled onto the level when drawing. This rect.has the size (virtual_width, virtual_height). We're using modulo on the particle coordinates, so when a particle leaves left, it'll reenter at the right side.
Classes that implement a particle system should subclass from this class, initialize particles in the constructor and move them in the simulate function.
A ""ParticleSystem"" that was given a name can be controlled by scripts. A ""ParticleSystem"" is instantiated by placing a definition inside a level. It can then be accessed by its name from a script or via ""sector.name"" from the console.
|
overridevirtual |
The GameObject should draw itself onto the provided DrawingContext if this function is called.
Implements GameObject.
Reimplemented in CustomParticleSystem, ParticleSystem_Interactive, CloudParticleSystem, and RainParticleSystem.
|
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 GameObject.
Reimplemented in CustomParticleSystem, CloudParticleSystem, RainParticleSystem, ParticleSystem_Interactive, CustomParticleSystemFile, GhostParticleSystem, and SnowParticleSystem.
| bool ParticleSystem::get_enabled | ( | ) | const |
| void ParticleSystem::set_enabled | ( | bool | enable | ) |
| bool | $enable |
1.8.13