// // Created by trotfunky on 06/06/19. // #ifndef SRC_ENTITY_H #define SRC_ENTITY_H #include enum class EntityType { Citizen, Player, House, Car, }; enum class State { Moving, Fleeing, Waiting, Idle, }; enum class Orientation { Nort, East, South, West, }; class Entity { public: Entity(); void render(sf::RenderWindow& renderWindow) const; void move(); void update(); /// Position of the target of the current action on the map sf::Vector2i target; private: // As it contains position, size and orientation, we do not need anything more sf::RectangleShape shape; State currentState; /// Used with rules : last to update has priority State nextState; /// Used with rules : last to update has priority sf::Vector2i nextTarget; }; #endif //SRC_ENTITY_H