aboutsummaryrefslogtreecommitdiff
path: root/extension/src/openvic-extension/register_types.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'extension/src/openvic-extension/register_types.cpp')
-rw-r--r--extension/src/openvic-extension/register_types.cpp17
1 files changed, 13 insertions, 4 deletions
diff --git a/extension/src/openvic-extension/register_types.cpp b/extension/src/openvic-extension/register_types.cpp
index 750cc53..fffb370 100644
--- a/extension/src/openvic-extension/register_types.cpp
+++ b/extension/src/openvic-extension/register_types.cpp
@@ -15,14 +15,16 @@
#include "openvic-extension/singletons/Checksum.hpp"
#include "openvic-extension/singletons/GameSingleton.hpp"
#include "openvic-extension/singletons/LoadLocalisation.hpp"
+#include "openvic-extension/singletons/MenuSingleton.hpp"
using namespace godot;
using namespace OpenVic;
-static Checksum* _checksum_singleton;
-static LoadLocalisation* _load_localisation;
-static GameSingleton* _game_singleton;
-static AssetManager* _asset_manager_singleton;
+static Checksum* _checksum_singleton = nullptr;
+static LoadLocalisation* _load_localisation = nullptr;
+static GameSingleton* _game_singleton = nullptr;
+static MenuSingleton* _menu_singleton = nullptr;
+static AssetManager* _asset_manager_singleton = nullptr;
void initialize_openvic_types(ModuleInitializationLevel p_level) {
if (p_level != MODULE_INITIALIZATION_LEVEL_SCENE) {
@@ -41,6 +43,10 @@ void initialize_openvic_types(ModuleInitializationLevel p_level) {
_game_singleton = memnew(GameSingleton);
Engine::get_singleton()->register_singleton("GameSingleton", GameSingleton::get_singleton());
+ ClassDB::register_class<MenuSingleton>();
+ _menu_singleton = memnew(MenuSingleton);
+ Engine::get_singleton()->register_singleton("MenuSingleton", MenuSingleton::get_singleton());
+
ClassDB::register_class<AssetManager>();
_asset_manager_singleton = memnew(AssetManager);
Engine::get_singleton()->register_singleton("AssetManager", AssetManager::get_singleton());
@@ -77,6 +83,9 @@ void uninitialize_openvic_types(ModuleInitializationLevel p_level) {
Engine::get_singleton()->unregister_singleton("GameSingleton");
memdelete(_game_singleton);
+ Engine::get_singleton()->unregister_singleton("MenuSingleton");
+ memdelete(_menu_singleton);
+
Engine::get_singleton()->unregister_singleton("AssetManager");
memdelete(_asset_manager_singleton);
}