142 Action(std::string name,
float duration);
149 auto update(
float dt) -> void;
154 virtual auto init() -> void;
159 virtual auto execute() -> void;
164 virtual auto end() -> void;
174 virtual auto render() const ->
void;
Wrapper for cubic bezier curve class.
auto operator==(const Action &other) const -> bool
Definition Action.cpp:23
auto getEndingDelay() const -> float
Definition Action.cpp:195
auto getHasInitialized() const -> bool
Definition Action.cpp:135
auto setPaused(bool newState) -> void
Definition Action.cpp:155
auto getCompletionPercentage() const -> float
Function used to see how much the action has completed.
Definition Action.cpp:222
auto getTotalLifetime() const -> float
Definition Action.cpp:200
auto percentageComplete() const -> float
Definition Action.cpp:237
float normalizedTime
Age of the Action on a scale of 0-1. Note that this is after applying the curve.
Definition Action.h:259
th::Bezier curve
Definition Action.h:273
bool hasInitialized
Definition Action.h:266
auto getName() -> std::string
Function used for displaying info about what an Action does.
Definition Action.cpp:217
Entity * changingObject
Definition Action.h:239
float currentTime
Definition Action.h:256
Action(const Action &)=default
auto setOwner(Entity *newObject) -> void
Definition Action.cpp:130
auto update(float dt) -> void
Universal update function that handles calling init, update, and end at the right time.
Definition Action.cpp:49
auto getOwner() const -> Entity *
Definition Action.cpp:125
Action(Action &&other) noexcept=default
auto getInitialDelay() const -> float
Definition Action.cpp:175
bool paused
Definition Action.h:270
auto setEndingDelay(float delay) -> void
Definition Action.cpp:190
virtual auto execute() -> void
Virtual function that is called every frame to change a game object.
Definition Action.cpp:209
auto getHasEnded() const -> bool
Definition Action.cpp:145
auto getHasExecuted() const -> bool
Definition Action.cpp:140
auto setCurve(const th::Bezier &curve) -> void
set the curve of the function
Definition Action.cpp:232
std::string actionName
Definition Action.h:240
bool hasEnded
Definition Action.h:268
virtual auto ActionShowMenu() -> void
Displays a window in imgui.
Definition Action.cpp:116
float initialDelay
Delay that acts between the action being created and the action initializing.
Definition Action.h:262
auto setInitialDelay(float delay) -> void
Definition Action.cpp:170
auto getDuration() const -> float
Definition Action.cpp:185
auto setBlocking(bool newState) -> void
Definition Action.cpp:165
virtual auto render() const -> void
Function used to draw things to screen, useful for things such as debug drawing.
Definition Action.cpp:110
auto lerpBasedOnTime(const T &start, const T &end) -> T
Definition Action.h:248
auto setDuration(float duration) -> void
Definition Action.cpp:180
virtual ~Action()=default
virtual auto end() -> void
Virtual function that is called once, when an Action is finished executing.
Definition Action.cpp:213
auto operator=(const Action &) -> Action &=default
auto operator=(Action &&other) noexcept -> Action &=default
bool blocking
If an action is blocking, it stops all actions after it in an ActionList from updating.
Definition Action.h:243
float endingDelay
Delay that acts after the action has finished updating but before it has ended.
Definition Action.h:264
auto getCurve() const -> th::Bezier
Function used to see which type of curve an action has.
Definition Action.cpp:227
bool hasExecuted
Definition Action.h:267
auto isPaused() const -> bool
Definition Action.cpp:150
virtual auto init() -> void
Virtual function that is called once, when the Action is first starting up.
Definition Action.cpp:205
float totalDuration
Definition Action.h:255
auto isBlocking() const -> bool
Definition Action.cpp:160
auto shouldRemove() const -> bool
Definition Action.cpp:104
Definition Factory.cpp:38