aboutsummaryrefslogtreecommitdiffstats
path: root/src/entities/trashcan.c
diff options
context:
space:
mode:
authornathan <nathansmith@disroot.org>2025-10-25 23:18:08 +0000
committernathan <nathansmith@disroot.org>2025-10-25 23:18:08 +0000
commit32e795acb0c60a320b8449a3b7b6ee5fb5779c12 (patch)
tree62ea2eb3ccac8adba7fcdada36a63f25541913f5 /src/entities/trashcan.c
parent233d6994bea031c0d22a77f5a8b7427a2b566e12 (diff)
downloadFindThings-32e795acb0c60a320b8449a3b7b6ee5fb5779c12.tar.gz
FindThings-32e795acb0c60a320b8449a3b7b6ee5fb5779c12.tar.bz2
FindThings-32e795acb0c60a320b8449a3b7b6ee5fb5779c12.zip
Switching to better entity system
Diffstat (limited to 'src/entities/trashcan.c')
-rw-r--r--src/entities/trashcan.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/entities/trashcan.c b/src/entities/trashcan.c
new file mode 100644
index 0000000..880bc4c
--- /dev/null
+++ b/src/entities/trashcan.c
@@ -0,0 +1,28 @@
+#include "trashcan.h"
+
+void initTrashcan(Entity* entity)
+{
+ entity->box = entityBoxFromScale(TRASHCAN_SCALE, TRASHCAN_WIDTH,
+ TRASHCAN_HEIGHT);
+}
+
+void updateTrashcan(Entity* entity, Game* game)
+{
+ int frame = (int)(GetTime() * TRASHCAN_ANIMATION_SPEED) % TRASHCAN_FRAMES;
+
+ Rectangle rect = (Rectangle){
+ .x = frame * TRASHCAN_WIDTH,
+ .y = 0.0,
+ .width = TRASHCAN_WIDTH,
+ .height = TRASHCAN_HEIGHT
+ };
+
+ DrawBillboardRec(
+ game->player.camera,
+ game->assets.textures[TRASHCAN_TEXTURE],
+ rect,
+ entity->position,
+ (Vector2){TRASHCAN_SCALE * (TRASHCAN_WIDTH / TRASHCAN_HEIGHT),
+ TRASHCAN_SCALE},
+ WHITE);
+}