OSDN Git Service

[Refactor] #3766 build_activation_description() をグローバル関数からItemEntity のオブジェクトメソッドへ移した
authorHourier <66951241+Hourier@users.noreply.github.com>
Wed, 29 Nov 2023 10:46:47 +0000 (19:46 +0900)
committerHourier <66951241+Hourier@users.noreply.github.com>
Thu, 30 Nov 2023 09:15:33 +0000 (18:15 +0900)
src/object/object-info.cpp
src/system/item-entity.cpp
src/system/item-entity.h

index df7e3d2..cef2206 100644 (file)
  */
 
 #include "object/object-info.h"
-#include "artifact/random-art-effects.h"
 #include "inventory/inventory-slot-types.h"
-#include "object-enchant/activation-info-table.h"
 #include "player-base/player-class.h"
 #include "player/player-realm.h"
 #include "realm/realm-names-table.h"
-#include "sv-definition/sv-ring-types.h"
 #include "system/floor-type-definition.h"
 #include "system/item-entity.h"
 #include "util/int-char-converter.h"
-#include <sstream>
-
-/*!
- * @brief オブジェクトの発動効果名称を返す(サブルーチン/汎用)
- * @param o_ptr 名称を取得する元のオブジェクト構造体参照ポインタ
- * @return 発動名称
- */
-static std::string build_activation_description(const ItemEntity *o_ptr)
-{
-    const auto it = o_ptr->find_activation_info();
-    if (it == activation_info.end()) {
-        return _("未定義", "something undefined");
-    }
-
-    const auto desc = o_ptr->build_activation_description(*it);
-    const auto timeout = o_ptr->build_timeout_description(*it);
-    std::stringstream ss;
-    ss << desc << _(" : ", " ") << timeout;
-    return ss.str();
-}
 
 /*!
  * @brief オブジェクトの発動効果名称を返す (メインルーチン)
@@ -55,7 +32,7 @@ std::string activation_explanation(const ItemEntity *o_ptr)
     }
 
     if (o_ptr->has_activation()) {
-        return build_activation_description(o_ptr);
+        return o_ptr->build_activation_description();
     }
 
     const auto tval = o_ptr->bi_key.tval();
index d51ddaa..794981d 100644 (file)
@@ -1001,6 +1001,24 @@ std::string ItemEntity::build_timeout_description(const activation_type &act) co
 }
 
 /*!
+ * @brief オブジェクトの発動効果名称を返す(サブルーチン/汎用)
+ * @return 発動名称
+ */
+std::string ItemEntity::build_activation_description() const
+{
+    const auto it = this->find_activation_info();
+    if (it == activation_info.end()) {
+        return _("未定義", "something undefined");
+    }
+
+    const auto activation_description = this->build_activation_description(*it);
+    const auto timeout_description = this->build_timeout_description(*it);
+    std::stringstream ss;
+    ss << activation_description << _(" : ", " ") << timeout_description;
+    return ss.str();
+}
+
+/*!
  * @brief オブジェクトを鑑定済にする
  */
 void ItemEntity::mark_as_known()
index bd5656b..7e4dcee 100644 (file)
@@ -149,6 +149,7 @@ public:
     TrFlags get_flags_known() const;
     std::string build_activation_description(const activation_type &act) const;
     std::string build_timeout_description(const activation_type &act) const;
+    std::string build_activation_description() const;
 
     void mark_as_known();
     void mark_as_tried();