From f6c022f38e5a03a29053f619f24bc60ce1719724 Mon Sep 17 00:00:00 2001 From: Isuru Samarathunga Date: Tue, 30 Sep 2025 01:41:48 +0530 Subject: [PATCH] Fixes --- Src/IAEngine/imp/cpp/Components/Physics.cpp | 2 ++ Src/IAEngine/imp/cpp/Nodes/Node.cpp | 3 ++- Src/IAEngine/inc/IAEngine/Components/Physics.hpp | 8 +++++++- Src/IAEngine/inc/IAEngine/Nodes/Node.hpp | 2 +- 4 files changed, 12 insertions(+), 3 deletions(-) diff --git a/Src/IAEngine/imp/cpp/Components/Physics.cpp b/Src/IAEngine/imp/cpp/Components/Physics.cpp index f594b01..716b155 100644 --- a/Src/IAEngine/imp/cpp/Components/Physics.cpp +++ b/Src/IAEngine/imp/cpp/Components/Physics.cpp @@ -35,6 +35,7 @@ namespace ia::iae VOID PhysicsComponent::Update() { + m_velocity = {}; } Handle PhysicsComponent::CreateCollider() @@ -58,6 +59,7 @@ namespace ia::iae { IA_ASSERT(m_isDynamic); const auto v = direction * m_movementSpeed; + m_velocity += v; for(const auto& t: m_colliders) { if(!Physics::CanMove(m_physicsHandle, t, v)) diff --git a/Src/IAEngine/imp/cpp/Nodes/Node.cpp b/Src/IAEngine/imp/cpp/Nodes/Node.cpp index 7a70f44..1ed6da1 100644 --- a/Src/IAEngine/imp/cpp/Nodes/Node.cpp +++ b/Src/IAEngine/imp/cpp/Nodes/Node.cpp @@ -72,9 +72,10 @@ namespace ia::iae c->Disable(); } - VOID Node::AddChild(IN RefPtr node) + Node* Node::AddChild(IN RefPtr node) { m_children.pushBack(node); + return node.get(); } VOID Node::AddComponent(IN RefPtr component) diff --git a/Src/IAEngine/inc/IAEngine/Components/Physics.hpp b/Src/IAEngine/inc/IAEngine/Components/Physics.hpp index d72b723..83e2b37 100644 --- a/Src/IAEngine/inc/IAEngine/Components/Physics.hpp +++ b/Src/IAEngine/inc/IAEngine/Components/Physics.hpp @@ -58,14 +58,20 @@ namespace ia::iae return m_colliders; } + CONST glm::vec2& GetVelocity() CONST + { + return m_velocity; + } + public: VOID Draw(); VOID Update(); private: + glm::vec2 m_velocity{}; BOOL m_isDynamic{false}; - FLOAT32 m_movementSpeed{2.0f}; Vector m_colliders; + FLOAT32 m_movementSpeed{1.0f}; Handle m_physicsHandle{INVALID_HANDLE}; VOID OnCollision(IN PhysicsComponent *other); diff --git a/Src/IAEngine/inc/IAEngine/Nodes/Node.hpp b/Src/IAEngine/inc/IAEngine/Nodes/Node.hpp index 4cd5556..cbb7d78 100644 --- a/Src/IAEngine/inc/IAEngine/Nodes/Node.hpp +++ b/Src/IAEngine/inc/IAEngine/Nodes/Node.hpp @@ -39,7 +39,7 @@ namespace ia::iae VIRTUAL VOID Disable(); public: - VOID AddChild(IN RefPtr node); + Node* AddChild(IN RefPtr node); template _component_type *AddComponent();