Add an example class and some demo code to the project.

This commit is contained in:
Lukas Tenbrink committed 2025-05-15 18:53:44 +02:00
1 parent 7ef3bea224
commit 65ca91beec
6 files changed
+65 -1

No files matched your search

+9
View File
@@ -0,0 +1,9 @@
#include "example_class.h"
void ExampleClass::_bind_methods() {
godot::ClassDB::bind_method(D_METHOD("print_type", "variant"), &ExampleClass::print_type);
}
void ExampleClass::print_type(const Variant &p_variant) const {
print_line(vformat("Type: %d", p_variant.get_type()));
}
+20
View File
@@ -0,0 +1,20 @@
#pragma once
#include "godot_cpp/classes/ref_counted.hpp"
#include "godot_cpp/classes/wrapped.hpp"
#include "godot_cpp/variant/variant.hpp"
using namespace godot;
class ExampleClass : public RefCounted {
GDCLASS(ExampleClass, RefCounted)
protected:
static void _bind_methods();
public:
ExampleClass() = default;
~ExampleClass() override = default;
void print_type(const Variant &p_variant) const;
};
+4 -1
View File
@@ -1,9 +1,12 @@
#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 "example_class.h"
using namespace godot;
void initialize_gdextension_types(ModuleInitializationLevel p_level)
@@ -11,7 +14,7 @@ void initialize_gdextension_types(ModuleInitializationLevel p_level)
if (p_level != MODULE_INITIALIZATION_LEVEL_SCENE) {
return;
}
//GDREGISTER_CLASS(YourClass);
GDREGISTER_CLASS(ExampleClass);
}
void uninitialize_gdextension_types(ModuleInitializationLevel p_level) {