#pragma once class Actor; class Map; #include "libtcod.hpp" class Engine { public: enum GameStatus { STARTUP, IDLE, NEW_TURN, VICTORY, DEFEAT, QUIT } gameStatus; int screenWidth; int screenHeight; TCODList actors; Actor* player; Map* map; int fovRadius; tcod::Context *context; tcod::Console* console; Engine(int screenWidth, int screenHeight, tcod::Context *context, tcod::Console *console); void init(); ~Engine(); bool update(); void render(); void sendToBack(Actor* actor); private: bool computeFov; }; extern Engine *engine;