Brunot
Loading...
Searching...
No Matches
SetPositionAction.h
Go to the documentation of this file.
1
13// ____ __ __ __
14// /\__ _\/\ \ /\ \/\ \
15// \/_/\ \/\ \ \___ __ \ \ \_\ \ ___ __ __ ____ __
16// \ \ \ \ \ _ `\ /'__`\ \ \ _ \ / __`\/\ \/\ \ /',__\ /'__`\
17// \ \ \ \ \ \ \ \/\ __/ \ \ \ \ \/\ \L\ \ \ \_\ \/\__, `\/\ __/
18// \ \_\ \ \_\ \_\ \____\ \ \_\ \_\ \____/\ \____/\/\____/\ \____\
19// \/_/ \/_/\/_/\/____/ \/_/\/_/\/___/ \/___/ \/___/ \/____/
20
21#pragma once
22#include "Actions/Action.h"
23#include "Component/Transform.h"
24
25
26class Transform;
27
33{
34public:
35
36#pragma region static_functions
37
38#pragma endregion
39
40 SetPositionAction() = default;
42 auto operator=(const SetPositionAction&) -> SetPositionAction& = default;
43 ~SetPositionAction() override = default;
44 SetPositionAction(SetPositionAction&& other) noexcept = default;
45 auto operator=(SetPositionAction&& other) noexcept -> SetPositionAction& = default;
46
47 SetPositionAction(Point2D endingValue);
48 SetPositionAction(Point2D endingValue, float duration);
49 SetPositionAction(Point2D endingValue, float duration, const th::Bezier& easingFunction, float initialDelay, float endingDelay);
50
53 SetPositionAction(Transform* transformToMoveTo, float duration, const th::Bezier& easingFunction, float initialDelay, float endingDelay);
54
55
56#pragma region overridden_functions
57
58
59 auto init() -> void override;
60 auto execute() -> void override;
61 auto end() -> void override;
62
63 auto ActionShowMenu() -> void override;
64 auto render() const -> void override;
65
66
67#pragma endregion
68
69#pragma region SetPositionAction_functions
70
71#pragma endregion
72
73private:
74
75#pragma region member_variables
76
77
78 // This variable is nice to have just so you don't need to get the component every frame in execute
79 Transform* transform = nullptr;
80
82
84
85#pragma endregion
86
87#pragma region helper_functions
88
89 #pragma endregion
90
91#pragma region static_variables
92
93#pragma endregion
94
95};
A class that changes a variable over a set duration.
Vector4D Point2D
Definition Transform.h:22
float initialDelay
Delay that acts between the action being created and the action initializing.
Definition Action.h:262
float endingDelay
Delay that acts after the action has finished updating but before it has ended.
Definition Action.h:264
Action()=default
Point2D newPosition
Definition SetPositionAction.h:81
auto init() -> void override
Virtual function that is called once, when the Action is first starting up.
Definition SetPositionAction.cpp:66
auto operator=(const SetPositionAction &) -> SetPositionAction &=default
auto execute() -> void override
Virtual function that is called every frame to change a game object.
Definition SetPositionAction.cpp:76
SetPositionAction(SetPositionAction &&other) noexcept=default
auto ActionShowMenu() -> void override
Displays a window in imgui.
Definition SetPositionAction.cpp:88
SetPositionAction(const SetPositionAction &)=default
auto render() const -> void override
Function used to draw things to screen, useful for things such as debug drawing.
Definition SetPositionAction.cpp:93
Transform * transformToMoveTo
Definition SetPositionAction.h:83
auto operator=(SetPositionAction &&other) noexcept -> SetPositionAction &=default
~SetPositionAction() override=default
SetPositionAction()=default
Transform * transform
Definition SetPositionAction.h:79
auto end() -> void override
Virtual function that is called once, when an Action is finished executing.
Definition SetPositionAction.cpp:84
Definition Transform.h:28
Definition Bezier.h:30