aboutsummaryrefslogtreecommitdiff
path: root/extension/src/TestSingleton.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'extension/src/TestSingleton.cpp')
-rw-r--r--extension/src/TestSingleton.cpp36
1 files changed, 36 insertions, 0 deletions
diff --git a/extension/src/TestSingleton.cpp b/extension/src/TestSingleton.cpp
new file mode 100644
index 0000000..0855a30
--- /dev/null
+++ b/extension/src/TestSingleton.cpp
@@ -0,0 +1,36 @@
+#include "TestSingleton.hpp"
+
+#include <godot_cpp/core/class_db.hpp>
+#include <godot_cpp/variant/utility_functions.hpp>
+
+using namespace godot;
+using namespace OpenVic2;
+
+TestSingleton *TestSingleton::singleton = nullptr;
+
+void TestSingleton::_bind_methods()
+{
+ ClassDB::bind_method(D_METHOD("hello_singleton"), &TestSingleton::hello_singleton);
+}
+
+TestSingleton *TestSingleton::get_singleton()
+{
+ return singleton;
+}
+
+TestSingleton::TestSingleton()
+{
+ ERR_FAIL_COND(singleton != nullptr);
+ singleton = this;
+}
+
+TestSingleton::~TestSingleton()
+{
+ ERR_FAIL_COND(singleton != this);
+ singleton = nullptr;
+}
+
+void TestSingleton::hello_singleton()
+{
+ UtilityFunctions::print("Hello GDExtension Singleton!");
+} \ No newline at end of file