std::optional<short> new_terrain_id(std::nullopt);
const auto previous_terrain_id = terrain_id;
while (true) {
- new_terrain_id = input_new_visual_id(ch, terrain_id, static_cast<short>(terrains_info.size()));
+ new_terrain_id = input_new_visual_id(ch, terrain_id, static_cast<short>(TerrainList::get_instance().size()));
if (!new_terrain_id.has_value()) {
terrain_id = previous_terrain_id;
break;
if (i < error_idx) {
return PARSE_ERROR_NON_SEQUENTIAL_RECORDS;
}
- if (i >= static_cast<int>(terrains_info.size())) {
+ if (i >= static_cast<int>(TerrainList::get_instance().size())) {
terrains_info.resize(i + 1);
}
}
int i = (int)strtol(zz[0], nullptr, 0);
- if (i >= static_cast<int>(terrains_info.size())) {
+ if (i >= static_cast<int>(TerrainList::get_instance().size())) {
return 1;
}
char char_old[F_LIT_MAX] = {};
const auto &[wid, hgt] = term_get_size();
- std::vector<FEAT_IDX> feat_idx(terrains_info.size());
+ std::vector<FEAT_IDX> feat_idx(TerrainList::get_instance().size());
concptr feature_group_text[] = { "terrains", nullptr };
int len;
{
return terrains_info.end();
}
+
+size_t TerrainList::size() const
+{
+ return terrains_info.size();
+}
const std::vector<TerrainType>::const_iterator begin() const;
std::vector<TerrainType>::iterator end();
const std::vector<TerrainType>::const_iterator end() const;
+ size_t size() const;
private:
TerrainList() = default;
}
auto *g_ptr = &player_ptr->current_floor_ptr->grid_array[y][x];
- const int max = terrains_info.size() - 1;
+ const int max = TerrainList::get_instance().size() - 1;
const auto f_val1 = input_numerics(_("実地形ID", "FeatureID"), 0, max, g_ptr->feat);
if (!f_val1.has_value()) {
return;