Deep RTS
Map.h
Go to the documentation of this file.
1//
2// Created by per on 04.02.18.
3//
4
5#ifndef DEEPRTS_MAP_H
6#define DEEPRTS_MAP_H
7
8#include <utility>
9#include <vector>
10#include <iostream>
11#include <map>
12#include <nlohmann/json.hpp>
13
14struct TileData {
16 std::string name;
24
25 TileData()= default;
26
28 int depleteTile,
29 std::string name,
30 bool walkable,
31 float walk_modifier,
32 bool harvestable,
33 int resources,
34 float lumber_yield,
35 float gold_yield,
39
40 }
41};
42
43
44class Map {
45
46public:
47
48 explicit Map(const std::string& map_file);
49
50 std::string mapFile;
51
54
57
60
63
64 std::vector<int> tileIDs;
65
66 std::map<int, TileData> tilesData;
67
68};
69
70
71#endif //DEEPRTS_MAP_H
Definition: Map.h:44
std::map< int, TileData > tilesData
Definition: Map.h:66
int MAP_HEIGHT
The Map Height (Num of tiles in height)
Definition: Map.h:62
int TILE_WIDTH
A tile's Width.
Definition: Map.h:53
int MAP_WIDTH
The Map Width (Num of tiles in width)
Definition: Map.h:59
Map(const std::string &map_file)
Definition: Map.cpp:12
std::vector< int > tileIDs
Definition: Map.h:64
int TILE_HEIGHT
A tile's Height.
Definition: Map.h:56
std::string mapFile
Definition: Map.h:50
Definition: Map.h:14
float walk_modifier
Definition: Map.h:19
int depleteTile
Definition: Map.h:15
TileData()=default
bool harvestable
Definition: Map.h:18
float lumber_yield
Definition: Map.h:21
bool walkable
Definition: Map.h:17
TileData(int depleteTile, std::string name, bool walkable, float walk_modifier, bool harvestable, int resources, float lumber_yield, float gold_yield, float stone_yield)
Definition: Map.h:27
float stone_yield
Definition: Map.h:23
int resources
Definition: Map.h:20
float gold_yield
Definition: Map.h:22
std::string name
Definition: Map.h:16