summaryrefslogtreecommitdiff
path: root/game/gamestate.h
blob: 85cb5dbdfc9962a9f92c942645cb1794d1e54544 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#pragma once

#include "assetFactory/assetFactory.h"
#include <collection.h>
#include <memory>
#include <special_members.h>

class WorldObject;
class Terrain;
class Environment;
class Renderable;

class GameState {
public:
	GameState();
	~GameState();
	NO_MOVE(GameState);
	NO_COPY(GameState);

	SharedCollection<WorldObject, Renderable> world;
	std::shared_ptr<Terrain> terrain;
	std::shared_ptr<Environment> environment;
	AssetFactory::Assets assets;
};

extern GameState * gameState;