Project_Maat/src/Level.cpp

38 lines
881 B
C++
Raw Normal View History

2019-06-06 17:07:24 +02:00
//
// Created by trotfunky on 06/06/19.
//
#include "Level.h"
Level::Level(const pugi::xml_document& xmlDoc, const TextureStore& textureStore)
: textures(textureStore),
size(xmlDoc.child("Level").attribute("width").as_int(),xmlDoc.child("Level").attribute("width").as_int())
{
pugi::xml_node levelNode = xmlDoc.child("Level");
for(const pugi::xml_node& child : levelNode.children())
{
if(!strncmp(child.name(),"Entity",6))
{
entities.emplace_back(child,textures.at(child.attribute("textureId").as_int(0)).get());
}
}
}
void Level::render(sf::RenderWindow& renderWindow) const
{
for(const Entity& entity : entities)
{
renderWindow.draw(entity.getShape());
}
}
void Level::runStep()
{
for(Entity& entity: entities)
{
// FIXME : For testing purposes
entity.move();
}
}