54 typedef IActionObject derived_type;
67 const texture_frames& textures,
68 real32 frame_interval_seconds );
72 virtual std::unique_ptr<IActionObject>
clone()
const override;
78 virtual void pause(real32 delta_time)
override;
80 virtual void resume(real32 delta_time)
override;
82 virtual void rewind(real32 delta_time)
override;
87 static const char* DEBUG_CLASS_NAME;
89 void initialize(
const texture_frames& textures, real32 frame_interval);
92 update(real32 t, real32 b, real32 c, real32 d);
94 void first_frame(real32 delta_time);
95 void last_frame(real32 delta_time);
97 typedef texture_frames::iterator frame_iterator;
107 frame_iterator next_frame_;
108 frame_iterator last_frame_;
real32 frame_interval_
The delay (in seconds) before displaying the next texture.
virtual void resume(real32 delta_time) override
Resume the internal state of the action.
virtual IActionObject::FrameState next_frame(real32 delta_time) override
Play the action forward in time by one time step.
real32 total_displacement_
The total number of textures to animate.
friend class ActionTest
Allow access into our private parts for unit testing.
AnimateTexturesAction(const std::shared_ptr< Sprite > &drawable, const texture_frames &textures, real32 frame_interval_seconds)
Animate changes to a sprite’s texture.
virtual void pause(real32 delta_time) override
Freeze the action's internal state.
virtual void release() override
Free externally referenced resources held by the action.
virtual void rewind(real32 delta_time) override
Reset the internal state of the action back to its initial starting values.
virtual std::unique_ptr< IActionObject > clone() const override
Create a deep copy instance of the action.
virtual IActionObject::FrameState prev_frame(real32 delta_time) override
Play the action backwards in time by one time step.
std::shared_ptr< Sprite > drawable_
The provided drawable used to render frames to.
uint32 initial_frame_
The initial starting texture to animate from.