OSDN Git Service

[Refactor] #3783 InnerGameData クラスを作った
authorHourier <66951241+Hourier@users.noreply.github.com>
Sat, 1 Jun 2024 12:18:55 +0000 (21:18 +0900)
committerHourier <66951241+Hourier@users.noreply.github.com>
Sun, 2 Jun 2024 10:41:22 +0000 (19:41 +0900)
Hengband/Hengband/Hengband.vcxproj
Hengband/Hengband/Hengband.vcxproj.filters
src/Makefile.am
src/system/inner-game-data.cpp [new file with mode: 0644]
src/system/inner-game-data.h [new file with mode: 0644]

index 60be8b6..ebd0132 100644 (file)
     <ClCompile Include="..\..\src\specific-object\stone-of-lore.cpp" />\r
     <ClCompile Include="..\..\src\spell-class\spells-mirror-master.cpp" />\r
     <ClCompile Include="..\..\src\system\angband-system.cpp" />\r
+    <ClCompile Include="..\..\src\system\inner-game-data.cpp" />\r
     <ClCompile Include="..\..\src\system\redrawing-flags-updater.cpp" />\r
     <ClCompile Include="..\..\src\system\floor-type-definition.cpp" />\r
     <ClCompile Include="..\..\src\system\grid-type-definition.cpp" />\r
     <ClInclude Include="..\..\src\system\alloc-entries.h" />\r
     <ClInclude Include="..\..\src\system\angband-exceptions.h" />\r
     <ClInclude Include="..\..\src\system\angband-system.h" />\r
+    <ClInclude Include="..\..\src\system\inner-game-data.h" />\r
     <ClInclude Include="..\..\src\system\redrawing-flags-updater.h" />\r
     <ClInclude Include="..\..\src\system\dungeon-data-definition.h" />\r
     <ClInclude Include="..\..\src\system\floor-type-definition.h" />\r
index eed2cda..31cd457 100644 (file)
     <ClCompile Include="..\..\src\room\rooms-nest.cpp">\r
       <Filter>room</Filter>\r
     </ClCompile>\r
+    <ClCompile Include="..\..\src\system\inner-game-data.cpp">\r
+      <Filter>system</Filter>\r
+    </ClCompile>\r
   </ItemGroup>\r
   <ItemGroup>\r
     <ClInclude Include="..\..\src\combat\shoot.h">\r
     <ClInclude Include="..\..\src\room\rooms-nest.h">\r
       <Filter>room</Filter>\r
     </ClInclude>\r
+    <ClInclude Include="..\..\src\system\inner-game-data.h">\r
+      <Filter>system</Filter>\r
+    </ClInclude>\r
   </ItemGroup>\r
   <ItemGroup>\r
     <None Include="..\..\src\wall.bmp" />\r
index def656d..03fa8ac 100644 (file)
@@ -928,6 +928,7 @@ hengband_SOURCES = \
        system/game-option-types.h \
        system/h-basic.h system/h-config.h \
        system/h-system.h system/h-type.h \
+       system/inner-game-data.cpp system/inner-game-data.h \
        system/item-entity.cpp system/item-entity.h \
        system/monster-entity.cpp system/monster-entity.h \
        system/monster-race-info.cpp system/monster-race-info.h \
diff --git a/src/system/inner-game-data.cpp b/src/system/inner-game-data.cpp
new file mode 100644 (file)
index 0000000..755e91a
--- /dev/null
@@ -0,0 +1,14 @@
+/*!
+ * @brief 内部ゲームデータ定義
+ * @author Hourier
+ * @date 2024/06/01
+ */
+
+#include "system/inner-game-data.h"
+
+InnerGameData InnerGameData::instance{};
+
+InnerGameData &InnerGameData::get_instance()
+{
+    return instance;
+}
diff --git a/src/system/inner-game-data.h b/src/system/inner-game-data.h
new file mode 100644 (file)
index 0000000..574926b
--- /dev/null
@@ -0,0 +1,15 @@
+#pragma once
+
+class InnerGameData {
+public:
+    InnerGameData(InnerGameData &&) = delete;
+    InnerGameData(const InnerGameData &) = delete;
+    InnerGameData &operator=(const InnerGameData &) = delete;
+    InnerGameData &operator=(InnerGameData &&) = delete;
+    ~InnerGameData() = default;
+    static InnerGameData &get_instance();
+
+private:
+    InnerGameData() = default;
+    static InnerGameData instance;
+};