OSDN Git Service

[Refactor] #3649 terrains_info.size() をTerrainList::size() でカプセル化した
authorHourier <66951241+Hourier@users.noreply.github.com>
Sun, 15 Oct 2023 02:02:45 +0000 (11:02 +0900)
committerHourier <66951241+Hourier@users.noreply.github.com>
Sun, 15 Oct 2023 11:56:40 +0000 (20:56 +0900)
src/cmd-visual/cmd-visuals.cpp
src/info-reader/feature-reader.cpp
src/io/interpret-pref-file.cpp
src/knowledge/knowledge-features.cpp
src/system/terrain-type-definition.cpp
src/system/terrain-type-definition.h
src/wizard/wizard-special-process.cpp

index 4e01fd5..1c46352 100644 (file)
@@ -411,7 +411,7 @@ void do_cmd_visuals(PlayerType *player_ptr)
                     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;
index 1c0233e..3956aec 100644 (file)
@@ -78,7 +78,7 @@ errr parse_terrains_info(std::string_view buf, angband_header *)
         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);
         }
 
index 4e51635..0144aa9 100644 (file)
@@ -165,7 +165,7 @@ static errr interpret_f_token(char *buf)
     }
 
     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;
     }
 
index b648c37..cccc08a 100644 (file)
@@ -108,7 +108,7 @@ void do_cmd_knowledge_features(bool *need_redraw, bool visual_only, IDX direct_f
     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;
index e8dc643..1004e14 100644 (file)
@@ -49,3 +49,8 @@ const std::vector<TerrainType>::const_iterator TerrainList::end() const
 {
     return terrains_info.end();
 }
+
+size_t TerrainList::size() const
+{
+    return terrains_info.size();
+}
index 978d44d..fd2aade 100644 (file)
@@ -63,6 +63,7 @@ public:
     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;
index 3b9c5cd..bbb2acd 100644 (file)
@@ -490,7 +490,7 @@ void wiz_create_feature(PlayerType *player_ptr)
     }
 
     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;