7 #include "system/terrain-type-definition.h"
9 std::vector<TerrainType> terrains_info;
11 bool TerrainType::is_permanent_wall() const
13 return this->flags.has_all_of({ TerrainCharacteristics::WALL, TerrainCharacteristics::PERMANENT });
16 TerrainList TerrainList::instance{};
18 TerrainList &TerrainList::get_instance()
23 TerrainType &TerrainList::operator[](short terrain_id)
25 return terrains_info.at(terrain_id);
28 const TerrainType &TerrainList::operator[](short terrain_id) const
30 return terrains_info.at(terrain_id);
33 std::vector<TerrainType>::iterator TerrainList::begin()
35 return terrains_info.begin();
38 const std::vector<TerrainType>::const_iterator TerrainList::begin() const
40 return terrains_info.begin();
43 std::vector<TerrainType>::iterator TerrainList::end()
45 return terrains_info.end();
48 const std::vector<TerrainType>::const_iterator TerrainList::end() const
50 return terrains_info.end();
53 size_t TerrainList::size() const
55 return terrains_info.size();
58 bool TerrainList::empty() const
60 return terrains_info.empty();
63 void TerrainList::resize(size_t new_size)
65 terrains_info.resize(new_size);