#include #include #include #include namespace ia::iae::game { extern ResourceManager* g_resourceManager; Handle m_id; Player::Player(IN Engine *engine) : m_engine(engine) { m_spriteRenderer = AddComponent(); } VOID Player::OnAdded(IN Scene *scene) { Node::OnAdded(scene); iae::SpriteRendererComponent::AnimationKeyFrame keyFrame{}; const auto d = File::ReadToVector("Graphics/green.png"); keyFrame.Texture = g_resourceManager->CreateTexture(d.data(), d.size()); keyFrame.Scale = {0.2f, 0.2f, 1.0f}; m_spriteRenderer->AddAnimation({.ShouldLoop = true, .Keys = {keyFrame}}); m_spriteRenderer->BakeAnimations(); //m_id = Physics::CreateDynamicBody({GetPosition().X + 20, GetPosition().Y + 20}); //Physics::AddBoxCollider(m_id, {40.0f, 40.0f}); } VOID Player::OnRemoved() { Node::OnRemoved(); } VOID Player::Draw() { Node::Draw(); } VOID Player::Update() { Node::Update(); SetLocalPosition(Physics::GetBodyPosition(m_id) - glm::vec3{20.0f, 20.0f, 0.0f}); } } // namespace ia::iae::game