aboutsummaryrefslogtreecommitdiff
path: root/extension/src/register_types.cpp
diff options
context:
space:
mode:
author Hop311 <hop3114@gmail.com>2023-03-30 23:50:50 +0200
committer Spartan322 <Megacake1234@gmail.com>2023-04-14 17:16:02 +0200
commitc0d76b78d3762e6eec3ed1c62618be84c5b7559b (patch)
treeacfcbeedd5a47136acdf883e791a297200b7d1b8 /extension/src/register_types.cpp
parent1f04a7827ae377372cb491ff0257a47d0d4c2967 (diff)
Add terrain map
With Directional movement using WASD With Directional movement using arrow keys With Click-Drag movement using middle mouse button With Province identifiers With Province shape loading With Province rendering With Province selection With Province overview panel With Color lookup texture
Diffstat (limited to 'extension/src/register_types.cpp')
-rw-r--r--extension/src/register_types.cpp20
1 files changed, 14 insertions, 6 deletions
diff --git a/extension/src/register_types.cpp b/extension/src/register_types.cpp
index d1613a5..16e59b2 100644
--- a/extension/src/register_types.cpp
+++ b/extension/src/register_types.cpp
@@ -9,6 +9,8 @@
#include "Simulation.hpp"
#include "Checksum.hpp"
#include "LoadLocalisation.hpp"
+#include "MapSingleton.hpp"
+#include "MapMesh.hpp"
using namespace godot;
using namespace OpenVic2;
@@ -17,9 +19,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 +42,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 +65,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(const GDExtensionInterface* 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);