From 200b621fde8164705beb1b0678fbefa90c4e4996 Mon Sep 17 00:00:00 2001 From: Sara Date: Thu, 9 Jan 2025 21:57:34 +0100 Subject: [PATCH] feat: added truck --- src/truck.cpp | 17 +++++++++++++++++ src/truck.hpp | 19 +++++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 src/truck.cpp create mode 100644 src/truck.hpp diff --git a/src/truck.cpp b/src/truck.cpp new file mode 100644 index 0000000..f97b82e --- /dev/null +++ b/src/truck.cpp @@ -0,0 +1,17 @@ +#include "truck.hpp" +#include "core/callable.hpp" +#include "core/collision_shape.hpp" +#include "core/sprite.hpp" + +Truck::Truck(float x_pos) +: ce::CollidableNode("truck", 0x1u, 0x1u) +, sprite{this->create_child("sprite", "truck")} +, shape{this->create_child("truck_col_shape", this, ce::Shape::make_box(2.f, 2.f))} { + this->sprite->set_global_transform(this->get_global_transform() + .scaled({2.5f, 2.5f}) + .translated({x_pos, -3.f}) + ); +} + +void Truck::_tick(double const &delta) { +} diff --git a/src/truck.hpp b/src/truck.hpp new file mode 100644 index 0000000..9a18560 --- /dev/null +++ b/src/truck.hpp @@ -0,0 +1,19 @@ +#ifndef TRUCK_HPP +#define TRUCK_HPP + +#include "core/collidable_node.hpp" + +namespace ce { + class Sprite; + class CollisionShape; +}; + +class Truck : public ce::CollidableNode { + ce::Sprite *sprite{nullptr}; + ce::CollisionShape *shape{nullptr}; +public: + Truck(float x_pos); + virtual void _tick(double const &delta) override; +}; + +#endif // !TRUCK_HPP