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()
{
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))

View File

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

View File

@ -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<Collider> m_colliders;
FLOAT32 m_movementSpeed{1.0f};
Handle m_physicsHandle{INVALID_HANDLE};
VOID OnCollision(IN PhysicsComponent *other);

View File

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