aboutsummaryrefslogtreecommitdiff
path: root/extension/src/register_types.cpp
diff options
context:
space:
mode:
author George L. Albany <Megacake1234@gmail.com>2023-04-14 18:31:58 +0200
committer GitHub <noreply@github.com>2023-04-14 18:31:58 +0200
commit436b038c1806e326ff6458f1692e9009d3a54346 (patch)
treeb5a33a733398b511eb0aa7781860c8accbadd2a0 /extension/src/register_types.cpp
parent1f04a7827ae377372cb491ff0257a47d0d4c2967 (diff)
parent7241811bd8c9493b7b6c6480e8d63a5fb7f38e4e (diff)
Merge pull request #84 from OpenVic2Project/terrain-map
Diffstat (limited to 'extension/src/register_types.cpp')
-rw-r--r--extension/src/register_types.cpp25
1 files changed, 15 insertions, 10 deletions
diff --git a/extension/src/register_types.cpp b/extension/src/register_types.cpp
index d1613a5..9fd934e 100644
--- a/extension/src/register_types.cpp
+++ b/extension/src/register_types.cpp
@@ -1,14 +1,13 @@
#include "register_types.h"
-#include <gdextension_interface.h>
-#include <godot_cpp/core/class_db.hpp>
-#include <godot_cpp/core/defs.hpp>
-#include <godot_cpp/godot.hpp>
+
#include <godot_cpp/classes/engine.hpp>
#include "TestSingleton.hpp"
#include "Simulation.hpp"
#include "Checksum.hpp"
#include "LoadLocalisation.hpp"
+#include "MapSingleton.hpp"
+#include "MapMesh.hpp"
using namespace godot;
using namespace OpenVic2;
@@ -17,9 +16,9 @@ static TestSingleton* _test_singleton;
static Simulation* _simulation;
static Checksum* _checksum;
static LoadLocalisation* _load_localisation;
+static MapSingleton* _map_singleton;
-void initialize_openvic2_types(ModuleInitializationLevel p_level)
-{
+void initialize_openvic2_types(ModuleInitializationLevel p_level) {
if (p_level != MODULE_INITIALIZATION_LEVEL_SCENE) {
return;
}
@@ -40,6 +39,11 @@ void initialize_openvic2_types(ModuleInitializationLevel p_level)
_load_localisation = memnew(LoadLocalisation);
Engine::get_singleton()->register_singleton("LoadLocalisation", LoadLocalisation::get_singleton());
+ ClassDB::register_class<MapSingleton>();
+ _map_singleton = memnew(MapSingleton);
+ Engine::get_singleton()->register_singleton("MapSingleton", MapSingleton::get_singleton());
+
+ ClassDB::register_class<MapMesh>();
}
void uninitialize_openvic2_types(ModuleInitializationLevel p_level) {
@@ -58,15 +62,16 @@ void uninitialize_openvic2_types(ModuleInitializationLevel p_level) {
Engine::get_singleton()->unregister_singleton("LoadLocalisation");
memdelete(_load_localisation);
+
+ Engine::get_singleton()->unregister_singleton("MapSingleton");
+ memdelete(_map_singleton);
}
-extern "C"
-{
+extern "C" {
// Initialization.
- GDExtensionBool GDE_EXPORT openvic2_library_init(const GDExtensionInterface *p_interface, const GDExtensionClassLibraryPtr p_library, GDExtensionInitialization *r_initialization)
- {
+ GDExtensionBool GDE_EXPORT openvic2_library_init(GDExtensionInterface const* p_interface, const GDExtensionClassLibraryPtr p_library, GDExtensionInitialization* r_initialization) {
GDExtensionBinding::InitObject init_obj(p_interface, p_library, r_initialization);
init_obj.register_initializer(initialize_openvic2_types);