Initialize Project
This commit is contained in:
24
src/gdexample.cpp
Normal file
24
src/gdexample.cpp
Normal file
@@ -0,0 +1,24 @@
|
||||
#include "gdexample.h"
|
||||
#include <godot_cpp/core/class_db.hpp>
|
||||
|
||||
using namespace godot;
|
||||
|
||||
void GDExample::_bind_methods() {}
|
||||
|
||||
GDExample::GDExample() {
|
||||
// Initialize any variables here.
|
||||
time_passed = 0.0;
|
||||
}
|
||||
|
||||
GDExample::~GDExample() {
|
||||
// Add your cleanup here.
|
||||
}
|
||||
|
||||
void GDExample::_process(double delta) {
|
||||
time_passed += delta;
|
||||
|
||||
Vector2 new_position = Vector2(10.0 + (10.0 * sin(time_passed * 2.0)),
|
||||
10.0 + (10.0 * cos(time_passed * 1.5)));
|
||||
|
||||
set_position(new_position);
|
||||
}
|
||||
23
src/gdexample.h
Normal file
23
src/gdexample.h
Normal file
@@ -0,0 +1,23 @@
|
||||
#pragma once
|
||||
|
||||
#include <godot_cpp/classes/sprite2d.hpp>
|
||||
|
||||
namespace godot {
|
||||
|
||||
class GDExample : public Sprite2D {
|
||||
GDCLASS(GDExample, Sprite2D)
|
||||
|
||||
private:
|
||||
double time_passed;
|
||||
|
||||
protected:
|
||||
static void _bind_methods();
|
||||
|
||||
public:
|
||||
GDExample();
|
||||
~GDExample();
|
||||
|
||||
void _process(double delta) override;
|
||||
};
|
||||
|
||||
} // namespace godot
|
||||
BIN
src/gdexample.os
Normal file
BIN
src/gdexample.os
Normal file
Binary file not shown.
41
src/register_types.cpp
Normal file
41
src/register_types.cpp
Normal file
@@ -0,0 +1,41 @@
|
||||
#include "register_types.h"
|
||||
|
||||
#include "gdexample.h"
|
||||
|
||||
#include <gdextension_interface.h>
|
||||
#include <godot_cpp/core/defs.hpp>
|
||||
#include <godot_cpp/godot.hpp>
|
||||
|
||||
using namespace godot;
|
||||
|
||||
void initialize_triangulation_module(ModuleInitializationLevel p_level) {
|
||||
if (p_level != MODULE_INITIALIZATION_LEVEL_SCENE) {
|
||||
return;
|
||||
}
|
||||
|
||||
GDREGISTER_RUNTIME_CLASS(GDExample);
|
||||
}
|
||||
|
||||
void uninitialize_triangulation_module(ModuleInitializationLevel p_level) {
|
||||
if (p_level != MODULE_INITIALIZATION_LEVEL_SCENE) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
extern "C" {
|
||||
// Initialization.
|
||||
GDExtensionBool GDE_EXPORT triangulation_library_init(
|
||||
GDExtensionInterfaceGetProcAddress p_get_proc_address,
|
||||
const GDExtensionClassLibraryPtr p_library,
|
||||
GDExtensionInitialization *r_initialization) {
|
||||
godot::GDExtensionBinding::InitObject init_obj(p_get_proc_address, p_library,
|
||||
r_initialization);
|
||||
|
||||
init_obj.register_initializer(initialize_triangulation_module);
|
||||
init_obj.register_terminator(uninitialize_triangulation_module);
|
||||
init_obj.set_minimum_library_initialization_level(
|
||||
MODULE_INITIALIZATION_LEVEL_SCENE);
|
||||
|
||||
return init_obj.init();
|
||||
}
|
||||
}
|
||||
8
src/register_types.h
Normal file
8
src/register_types.h
Normal file
@@ -0,0 +1,8 @@
|
||||
#pragma once
|
||||
|
||||
#include <godot_cpp/core/class_db.hpp>
|
||||
|
||||
using namespace godot;
|
||||
|
||||
void initialize_example_module(ModuleInitializationLevel p_level);
|
||||
void uninitialize_example_module(ModuleInitializationLevel p_level);
|
||||
BIN
src/register_types.os
Normal file
BIN
src/register_types.os
Normal file
Binary file not shown.
Reference in New Issue
Block a user