aboutsummaryrefslogtreecommitdiff
path: root/src/crepe/api/Force.cpp
diff options
context:
space:
mode:
authorjaroWMR <jarorutjes07@gmail.com>2024-10-23 16:22:30 +0200
committerjaroWMR <jarorutjes07@gmail.com>2024-10-23 16:22:30 +0200
commit5558d2d0530cc01fd8e3c8ce18cc38ce9c6f8057 (patch)
treed85836ede083ee9faa42eed6fc35bb6b980a8b6a /src/crepe/api/Force.cpp
parent5445331293854aac26af2d5c6a20cedeaa819383 (diff)
parent04a040e28ade412ea5b1767bf77eed3956121973 (diff)
merge with master
Diffstat (limited to 'src/crepe/api/Force.cpp')
-rw-r--r--src/crepe/api/Force.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/crepe/api/Force.cpp b/src/crepe/api/Force.cpp
new file mode 100644
index 0000000..1b4c81a
--- /dev/null
+++ b/src/crepe/api/Force.cpp
@@ -0,0 +1,14 @@
+#include "Force.h"
+#include <cmath>
+
+namespace crepe::api {
+
+Force::Force(uint32_t gameObjectId, uint32_t forceMagnitude, uint32_t direction): Component(gameObjectId)
+{
+ // Convert direction from degrees to radians
+ float radian_direction = static_cast<float>(direction) * (M_PI / 180.0f);
+ force_x = static_cast<int32_t>(std::round(forceMagnitude * std::cos(radian_direction)));
+ force_y = static_cast<int32_t>(std::round(forceMagnitude * std::sin(radian_direction)));
+}
+
+} // namespace crepe::api