farmlands/src/GameState.h

69 lines
1020 B
C++

/*
* GameState.h
*
* Created on: Nov 13, 2016
* Author: tibi
*/
#ifndef MODEL_GAMESTATE_H_
#define MODEL_GAMESTATE_H_
#include <model/Level.h>
#include <model/Player.h>
#include <model/GameConfig.h>
#include <graphics/SdlRenderer.h>
#include <graphics/GameRenderer.h>
#include <graphics/GuiRenderer.h>
#include <resources/ResourceManager.h>
#include <memory>
namespace farmlands {
struct ViewportState
{
bool initialized;
int width, height;
};
struct Camera
{
float posX, posY;
float scale;
};
struct GuiState
{
};
struct GameState
{
// Resource layer
resources::ResourceManager resManager;
// Graphics layer
graphics::SdlRenderer sdlRenderer;
graphics::GuiRenderer guiRenderer;
graphics::GameRenderer gameRenderer;
// Gui
GuiState gui;
// Settings
model::GameConfig gameConfig;
// Current game
ViewportState viewport;
Camera camera;
model::Player player;
model::Level* currentLevel;
float elapsedTime;
};
}
#endif /* MODEL_GAMESTATE_H_ */