aboutsummaryrefslogtreecommitdiff
path: root/src/crepe/api/Rigidbody.h
diff options
context:
space:
mode:
authorWBoerenkamps <wrj.boerenkamps@student.avans.nl>2024-10-25 20:59:34 +0200
committerWBoerenkamps <wrj.boerenkamps@student.avans.nl>2024-10-25 20:59:34 +0200
commit15a4c4a1cf67e13be53ef423c51c56488f332ea9 (patch)
tree661084fc8171089ce32bf779f2b3a85d634b38e4 /src/crepe/api/Rigidbody.h
parentf472e0ba3bf54fc5055cf9f08925bed3f98a1dbc (diff)
parentb3b762a34e7ccb4a0dcd041a693ac7180af16002 (diff)
merge conficts fixed
Diffstat (limited to 'src/crepe/api/Rigidbody.h')
-rw-r--r--src/crepe/api/Rigidbody.h20
1 files changed, 17 insertions, 3 deletions
diff --git a/src/crepe/api/Rigidbody.h b/src/crepe/api/Rigidbody.h
index 6cae579..6079a76 100644
--- a/src/crepe/api/Rigidbody.h
+++ b/src/crepe/api/Rigidbody.h
@@ -1,16 +1,30 @@
#pragma once
+#include <cstdint>
+
#include "../Component.h"
namespace crepe::api {
+// FIXME: can't this enum be defined inside the class declaration of Rigidbody?
+enum class BodyType {
+ //! Does not move (e.g. walls, ground ...)
+ STATIC,
+ //! Moves and responds to forces (e.g. player, physics objects ...)
+ DYNAMIC,
+ //! Moves but does not respond to forces (e.g. moving platforms ...)
+ KINEMATIC,
+};
+
class Rigidbody : public Component {
public:
- Rigidbody(int mass, int gravityScale, int bodyType);
-
+ Rigidbody(uint32_t game_object_id, int mass, int gravity_scale,
+ BodyType body_type);
+ int32_t velocity_x;
+ int32_t velocity_y;
int mass;
int gravity_scale;
- int body_type;
+ BodyType body_type;
};
} // namespace crepe::api