From af37e6242ab203d4a56294a50affd0ed381e09f7 Mon Sep 17 00:00:00 2001 From: DcruBro Date: Wed, 25 Mar 2026 22:27:17 +0100 Subject: [PATCH] t --- include/object/components/boxcollider.hpp | 20 +++++++++++++ include/object/components/component.hpp | 2 +- src/object/components/boxcollider.cpp | 35 +++++++++++++++++++++++ 3 files changed, 56 insertions(+), 1 deletion(-) create mode 100644 include/object/components/boxcollider.hpp create mode 100644 src/object/components/boxcollider.cpp diff --git a/include/object/components/boxcollider.hpp b/include/object/components/boxcollider.hpp new file mode 100644 index 0000000..227eac0 --- /dev/null +++ b/include/object/components/boxcollider.hpp @@ -0,0 +1,20 @@ +#pragma once + +#include + +namespace Game::Object::Components { + class BoxCollider : public Component { + public: + BoxCollider() = default; + BoxCollider(const BoxCollider&); + BoxCollider& operator=(const BoxCollider&); + BoxCollider(BoxCollider&&) noexcept; + BoxCollider& operator=(BoxCollider&&) noexcept; + ~BoxCollider() override; + + void start(Object::Entity* thisEntity) override; + void update(float deltaTime, Object::Entity* thisEntity) override; + + private: + }; +} \ No newline at end of file diff --git a/include/object/components/component.hpp b/include/object/components/component.hpp index 67f7722..d5d6e22 100644 --- a/include/object/components/component.hpp +++ b/include/object/components/component.hpp @@ -19,7 +19,7 @@ namespace Game::Object::Components { Component& operator=(Component&&) noexcept; virtual ~Component() = 0; - virtual void start() = 0; + virtual void start(Object::Entity* thisEntity) = 0; virtual void update(float deltaTime, Object::Entity* thisEntity) = 0; // Getters and setters diff --git a/src/object/components/boxcollider.cpp b/src/object/components/boxcollider.cpp new file mode 100644 index 0000000..c11758c --- /dev/null +++ b/src/object/components/boxcollider.cpp @@ -0,0 +1,35 @@ +#include + +namespace Game::Object::Components { + BoxCollider::BoxCollider(const BoxCollider& other) : Component(other) { + LOG("Copied BoxCollider Component: " << mName); + } + + BoxCollider& BoxCollider::operator=(const BoxCollider& other) { + if (this != &other) { + Component::operator=(other); + } + return *this; + } + + BoxCollider::BoxCollider(BoxCollider&& other) noexcept : Component(std::move(other)) { + LOG("Moved BoxCollider Component: " << mName); + } + + BoxCollider& BoxCollider::operator=(BoxCollider&& other) noexcept { + if (this != &other) { + Component::operator=(std::move(other)); + } + return *this; + } + + BoxCollider::~BoxCollider() = default; + + void BoxCollider::start(Object::Entity* thisEntity) { + // Initialization code for the box collider can go here + } + + void BoxCollider::update(float deltaTime, Object::Entity* thisEntity) { + // Collision detection and response logic can go here + } +} \ No newline at end of file