adg5/Engine.h
2025-04-20 17:57:56 +10:00

39 lines
703 B
C++

#pragma once
class Actor;
class Map;
class Gui;
#include "libtcod.hpp"
class Engine {
public:
enum GameStatus {
STARTUP,
IDLE,
NEW_TURN,
VICTORY,
DEFEAT,
QUIT
} gameStatus;
int screenWidth;
int screenHeight;
TCOD_mouse_t mouse;
TCODList<Actor*> actors;
Actor* player;
Map* map;
Gui* gui;
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;