Entities are now constructable

Added utility function to display error window
Added textures
Added font
Added a way to choose resources location
This commit is contained in:
trotFunky 2019-06-07 22:20:34 +02:00
parent a775d846d7
commit 06841915f0
17 changed files with 155 additions and 39 deletions

View file

@ -6,28 +6,37 @@
const std::map<std::string,EntityType> Entity::entityTypeLookup = {
{"Citizen",EntityType::Citizen},
{"Player",EntityType::Player},
{"Significant",EntityType::Significant},
{"House",EntityType::House},
{"Car",EntityType::Car}};
Entity::Entity(int x, int y, EntityType type, int width, int height)
Entity::Entity(int x, int y, EntityType type, sf::Texture* texture, int width, int height) : type(type)
{
shape = sf::RectangleShape(sf::Vector2f(width*pro_maat::pixelsPerUnit,height*pro_maat::pixelsPerUnit));
// Sets the origin at the center of the entity
shape.setOrigin(shape.getSize()/2.0f);
// Adjust position for offset origin
shape.setPosition((x+0.5*width)*pro_maat::pixelsPerUnit,(y+0.5*width)*pro_maat::pixelsPerUnit);
shape.setTexture(texture);
currentState = State::Idle;
nextState = State::Idle;
target = sf::Vector2i(shape.getPosition());
nextTarget = target;
}
Entity::Entity(const pugi::xml_node& entityNode)
{
}
void Entity::render(sf::RenderWindow& renderWindow) const
{
}
Entity::Entity(const pugi::xml_node& entityNode, sf::Texture* texture)
: Entity(entityNode.attribute("x").as_int(),
entityNode.attribute("y").as_int(),
entityTypeLookup.at(entityNode.attribute("type").as_string()),
texture,
entityNode.attribute("w").as_int(1),
entityNode.attribute("h").as_int(1)) {}
void Entity::move()
{
// FIXME : Testing purposes
shape.setRotation(shape.getRotation()+90);
}
void Entity::update()