dungeon/src/PlayState.h
Adrian Hedqvist bb40711f84 Too big of a commit again
* Add and started using a proper state machine class
  * Uses a "StateResult" struct to handle state switches
* Add timers
* Move imgui to its own folder
* Add logger (not used yet)
2018-04-02 22:24:54 +02:00

40 lines
780 B
C++

#pragma once
#include "statemachine/StateStack.h"
#include "Tilemap.h"
#include "FieldOfView.h"
#include "World.h"
class SpriteAtlas;
class Actor;
class App;
class PlayState : public IState {
SpriteAtlas* ascii;
World world;
Tilemap* tilemap;
Actor * player_actor;
FieldOfView fov;
unsigned int current_entity_index;
bool is_player_turn;
unsigned int current_level;
vec2i camera_pos;
bool debug;
bool debug_actors = false;
bool debug_settings = false;
bool debug_disable_fov = false;
App* app;
public:
PlayState(App* app);
void new_game();
void enter() override;
StateResult update(float delta) override;
void draw() override;
void exit() override;
void input(InputEvent& event) override;
};