This commit is contained in:
Isuru Samarathunga
2025-09-30 01:41:48 +05:30
parent 0d5c2e639e
commit f6c022f38e
4 changed files with 12 additions and 3 deletions

View File

@ -35,6 +35,7 @@ namespace ia::iae
VOID PhysicsComponent::Update() VOID PhysicsComponent::Update()
{ {
m_velocity = {};
} }
Handle PhysicsComponent::CreateCollider() Handle PhysicsComponent::CreateCollider()
@ -58,6 +59,7 @@ namespace ia::iae
{ {
IA_ASSERT(m_isDynamic); IA_ASSERT(m_isDynamic);
const auto v = direction * m_movementSpeed; const auto v = direction * m_movementSpeed;
m_velocity += v;
for(const auto& t: m_colliders) for(const auto& t: m_colliders)
{ {
if(!Physics::CanMove(m_physicsHandle, t, v)) if(!Physics::CanMove(m_physicsHandle, t, v))

View File

@ -72,9 +72,10 @@ namespace ia::iae
c->Disable(); c->Disable();
} }
VOID Node::AddChild(IN RefPtr<Node> node) Node* Node::AddChild(IN RefPtr<Node> node)
{ {
m_children.pushBack(node); m_children.pushBack(node);
return node.get();
} }
VOID Node::AddComponent(IN RefPtr<IComponent> component) VOID Node::AddComponent(IN RefPtr<IComponent> component)

View File

@ -58,14 +58,20 @@ namespace ia::iae
return m_colliders; return m_colliders;
} }
CONST glm::vec2& GetVelocity() CONST
{
return m_velocity;
}
public: public:
VOID Draw(); VOID Draw();
VOID Update(); VOID Update();
private: private:
glm::vec2 m_velocity{};
BOOL m_isDynamic{false}; BOOL m_isDynamic{false};
FLOAT32 m_movementSpeed{2.0f};
Vector<Collider> m_colliders; Vector<Collider> m_colliders;
FLOAT32 m_movementSpeed{1.0f};
Handle m_physicsHandle{INVALID_HANDLE}; Handle m_physicsHandle{INVALID_HANDLE};
VOID OnCollision(IN PhysicsComponent *other); VOID OnCollision(IN PhysicsComponent *other);

View File

@ -39,7 +39,7 @@ namespace ia::iae
VIRTUAL VOID Disable(); VIRTUAL VOID Disable();
public: public:
VOID AddChild(IN RefPtr<Node> node); Node* AddChild(IN RefPtr<Node> node);
template<typename _component_type> _component_type *AddComponent(); template<typename _component_type> _component_type *AddComponent();