29#ifndef NOMLIB_ACTIONS_CALLBACK_ACTION_HPP
30#define NOMLIB_ACTIONS_CALLBACK_ACTION_HPP
34#include "nomlib/config.hpp"
35#include "nomlib/actions/IActionObject.hpp"
47 typedef IActionObject derived_type;
49 typedef std::function<void()> callback_func;
64 virtual std::unique_ptr<IActionObject>
clone()
const override;
71 virtual void pause(real32 delta_time)
override;
74 virtual void resume(real32 delta_time)
override;
77 virtual void rewind(real32 delta_time)
override;
82 static const char* DEBUG_CLASS_NAME;
CallbackAction(real32 seconds, const callback_func &action)
Execute a function over a time period.
virtual IActionObject::FrameState next_frame(real32 delta_time) override
Play the action forward in time by one time step.
virtual void release() override
Free externally referenced resources held by the action.
CallbackAction(const callback_func &action)
Execute a function instantaneously.
virtual IActionObject::FrameState prev_frame(real32 delta_time) override
Play the action backwards in time by one time step.
friend class ActionTest
Allow access into our private parts for unit testing.
callback_func action_
The stored function pointer.
virtual void resume(real32 delta_time) override
This action does not support being resumed.
virtual std::unique_ptr< IActionObject > clone() const override
Create a deep copy instance of the action.
virtual void pause(real32 delta_time) override
This action does not support being paused.
virtual void rewind(real32 delta_time) override
This action does not support being reset.
FrameState
The update status of the action.