Skip to content

gdext #

Module meant for working with gdext, the glue that ties everything together.

fn register_class #

fn register_class[T](parent_class string)

fn register_class_methods #

fn register_class_methods[T](mut ci ClassInfo)

fn register_class_properties #

fn register_class_properties[T](mut ci ClassInfo)

fn register_class_with_name #

fn register_class_with_name[T](parent_class string, class_name string)

fn setup #

fn setup(gpaddr fn (&i8) gd.GDExtensionInterfaceFunctionPtr, clp gd.GDExtensionClassLibraryPtr) &GDExt

interface IClassDeinit #

interface IClassDeinit {
mut:
	deinit()
}

interface IClassInit #

interface IClassInit {
mut:
	init()
}

struct ClassInfo #

struct ClassInfo {
mut:
	name            string
	class_name      gd.StringName
	parent_name     gd.StringName
	virtual_methods gd.Dictionary
}

struct GDExt #

struct GDExt {
	gd.GDExtensionInterfaceFunctions
mut:
	reload Reload
}

fn (GDExt) cxa_thread_atexit #

fn (mut g GDExt) cxa_thread_atexit(func voidptr, obj voidptr, dso voidptr)

fn (GDExt) disable_hot_reload #

fn (mut g GDExt) disable_hot_reload()

fn (GDExt) enable_hot_reload #

fn (mut g GDExt) enable_hot_reload()

fn (GDExt) info #

fn (g GDExt) info() Info

struct Info #

struct Info {
	version InfoVersion
	godot   InfoVersion
}

struct InfoVersion #

struct InfoVersion {
	name        string
	description string
	major       int
	minor       int
	patch       int
	full        string
	time        time.Time
	status      string
	build       string
}