Nymph Game Engine
Chaiscript based Game Engine
|
Class for tile animator. More...
#include <tile_animator.hpp>
Public Member Functions | |
TileAnimator ()=delete | |
TileAnimator (const unsigned int tileset_width, const unsigned int tileset_height, const unsigned int tile_width_pixels, const unsigned int tile_height_pixels) | |
TileAnimator Constructor. More... | |
void | setStartingState (const StateType &state) |
Sets the starting state. More... | |
void | addFrameFront (const StateType &state, const glm::ivec2 &frame_pos, const unsigned int frame_time, bool set_current=false) |
Adds a frame to the front. More... | |
void | addFrameBack (const StateType &state, const glm::ivec2 &frame_pos, const unsigned int frame_time, bool set_current=false) |
Adds a frame to the back. More... | |
void | popFrameFront (const StateType &state) |
Pops a frame from the front. More... | |
void | popFrameBack (const StateType &state) |
Pops a frame from the back. More... | |
void | triggerAnimation (const StateType &state) |
Triggers animation of state. More... | |
virtual std::string | className () const noexceptoverride |
Returns a string representing the class name. More... | |
virtual void | onStart () override |
Called when the engine starts and when a new scene is loaded. More... | |
virtual bool | onUpdate (const double delta) override |
Called every engine loop. More... | |
virtual void | onDestroy () override |
Called when the engine is shutting down. More... | |
void | handleQueuedEvent (std::shared_ptr< Events::Event > event) override |
HandleQueuedEvent allows derived classes to define behaviour for when queuedEvents are received. More... | |
void | onNotifyNow (std::shared_ptr< Events::Event > event) override |
When receiving an event that is immediate, onNotifyNow is used. It acts as an interrupt to make sure the object is notified before another engine loop. This is pure virtual and is implemented on a case by case basis in derived classes. More... | |
virtual unsigned long long | getValueForSorting () const noexceptoverride |
Gets the value for sorting. More... | |
virtual void | log (el::base::type::ostream_t &os) const |
Public Member Functions inherited from Component | |
Component () | |
Component constructor. More... | |
void | setTransform (std::shared_ptr< Transform > transform) |
Sets the transform. More... | |
std::shared_ptr< Transform > | getTransform () const noexcept |
Gets the transform. More... | |
void | setActive (const bool active) noexcept |
Sets the component active or inactive. More... | |
bool | isActive () const noexcept |
Determines if active. More... | |
unsigned int | getId () const noexcept |
Gets the identifier. More... | |
virtual std::string | to_string () const noexcept |
Returns a string representation of the object. More... | |
bool | operator< (Component &other) noexcept |
Operator < using getValueForSorting. More... | |
virtual | ~Component () |
Destroys the object. More... | |
Public Member Functions inherited from Events::Subject | |
virtual | ~Subject ()=default |
virtual void | notify (std::shared_ptr< Event > event) |
notify is used to tell observers of an event. More... | |
virtual void | notifyNow (std::shared_ptr< Event > event) |
notifyNow is used to tell observers of an event as an interrupt. More... | |
virtual void | addObserver (std::shared_ptr< Observer > observer) |
Adds an observer. More... | |
virtual void | removeObserver (std::shared_ptr< Observer > observer) |
Removes an observer. More... | |
Public Member Functions inherited from Events::Observer | |
virtual | ~Observer () |
void | onNotify (std::shared_ptr< Event > event) |
When receiving an event that is non-immediate, onNotify is used. The event is added to the event queue that is processed when processEventQueue is called. More... | |
void | processEventQueue () |
This should be called once ever loop for every Observer to properly use queued events. More... | |
Public Member Functions inherited from Cloneable< TileAnimator< StateType > > | |
virtual | ~Cloneable () |
std::shared_ptr< TileAnimator < StateType > > | clone () |
Static Public Member Functions | |
static std::shared_ptr < TileAnimator< StateType > > | create (const unsigned int tileset_width, const unsigned int tileset_height, const unsigned int tile_width, const unsigned int tile_height) |
Factory function for TileAnimator. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from Events::Observer | |
std::shared_ptr< Event > | getEvent () |
bool | eventsWaiting () const noexcept |
Protected Attributes inherited from Component | |
std::weak_ptr< Entity > | entity |
std::shared_ptr< Transform > | transform |
bool | active |
unsigned int | id |
Static Protected Attributes inherited from Component | |
static unsigned int | next_id = 0 |
Class for tile animator.
|
delete |
|
inline |
TileAnimator Constructor.
[in] | tileset_width | The tileset width |
[in] | tileset_height | The tileset height |
[in] | tile_width_pixels | The tile width pixels |
[in] | tile_height_pixels | The tile height pixels |
|
inline |
Adds a frame to the back.
[in] | state | The state |
[in] | frame_pos | The frame position |
[in] | frame_time | The frame time |
[in] | set_current | The set current |
|
inline |
Adds a frame to the front.
[in] | state | The state |
[in] | frame_pos | The frame position |
[in] | frame_time | The frame time |
[in] | set_current | The set current |
|
inlineoverridevirtualnoexcept |
|
inlinestatic |
Factory function for TileAnimator.
[in] | tileset_width | The tileset width |
[in] | tileset_height | The tileset height |
[in] | tile_width | The tile width |
[in] | tile_height | The tile height |
|
inlineoverridevirtualnoexcept |
Gets the value for sorting.
Implements Component.
References Component::getId().
|
inlineoverridevirtual |
HandleQueuedEvent allows derived classes to define behaviour for when queuedEvents are received.
[in] | event | The event |
Reimplemented from Component.
References Events::ANIMATION_TRIGGER, Component::handleQueuedEvent(), and Graphics::TileAnimator< StateType >::triggerAnimation().
Referenced by Graphics::TileAnimator< StateType >::onNotifyNow(), and Graphics::TileAnimator< StateType >::onUpdate().
|
inlinevirtual |
Reimplemented from Component.
References Component::log().
|
inlineoverridevirtual |
Called when the engine is shutting down.
Implements Component.
|
inlineoverridevirtual |
When receiving an event that is immediate, onNotifyNow is used. It acts as an interrupt to make sure the object is notified before another engine loop. This is pure virtual and is implemented on a case by case basis in derived classes.
[in] | event | The event |
Reimplemented from Component.
References Graphics::TileAnimator< StateType >::handleQueuedEvent().
|
inlineoverridevirtual |
Called when the engine starts and when a new scene is loaded.
Implements Component.
References Graphics::SetUniformEvent::create(), Events::Subject::notify(), and Graphics::Uniform::setData().
|
inlineoverridevirtual |
Called every engine loop.
[in] | delta | The delta |
Implements Component.
References Component::active, Graphics::SetUniformEvent::create(), Events::Observer::eventsWaiting(), Events::Observer::getEvent(), Graphics::TileAnimator< StateType >::handleQueuedEvent(), Events::Subject::notifyNow(), and Graphics::Uniform::setData().
|
inline |
Pops a frame from the back.
[in] | state | The state |
|
inline |
Pops a frame from the front.
[in] | state | The state |
|
inline |
Sets the starting state.
[in] | state | The state |
|
inline |
Triggers animation of state.
[in] | state | The state |
Referenced by Graphics::TileAnimator< StateType >::handleQueuedEvent().