adg5/Engine.h
2025-04-20 14:24:02 +10:00

37 lines
655 B
C++

#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<Actor*> 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;