<ClCompile Include="..\..\src\save\player-class-specific-data-writer.cpp" />\r
<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\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\store\service-checker.h" />\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\redrawing-flags-updater.h" />\r
<ClInclude Include="..\..\src\system\dungeon-data-definition.h" />\r
<ClInclude Include="..\..\src\system\floor-type-definition.h" />\r
<ClCompile Include="..\..\src\util\candidate-selector.cpp">\r
<Filter>util</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\src\system\angband-system.cpp">\r
+ <Filter>system</Filter>\r
+ </ClCompile>\r
</ItemGroup>\r
<ItemGroup>\r
<ClInclude Include="..\..\src\combat\shoot.h">\r
<ClInclude Include="..\..\src\util\candidate-selector.h">\r
<Filter>util</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\src\system\angband-system.h">\r
+ <Filter>system</Filter>\r
+ </ClInclude>\r
</ItemGroup>\r
<ItemGroup>\r
<None Include="..\..\src\wall.bmp" />\r
system/alloc-entries.cpp system/alloc-entries.h \
system/angband.h \
system/angband-exceptions.h \
+ system/angband-system.h system/angband-system.cpp \
system/angband-version.cpp system/angband-version.h \
system/artifact-type-definition.cpp system/artifact-type-definition.h \
system/baseitem-info.cpp system/baseitem-info.h \
--- /dev/null
+#include "system/angband-system.h"
+
+AngbandSystem AngbandSystem::instance{};
+
+AngbandSystem &AngbandSystem::get_instance()
+{
+ return instance;
+}
--- /dev/null
+#pragma once
+
+class AngbandSystem {
+public:
+ AngbandSystem(const AngbandSystem &) = delete;
+ AngbandSystem(AngbandSystem &&) = delete;
+ AngbandSystem &operator=(const AngbandSystem &) = delete;
+ AngbandSystem &operator=(AngbandSystem &&) = delete;
+
+ static AngbandSystem &get_instance();
+
+private:
+ AngbandSystem() = default;
+
+ static AngbandSystem instance;
+};