GDExtension

package
v0.0.0-...-ff35923 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 16, 2025 License: MIT Imports: 23 Imported by: 0

Documentation

Overview

The graphics.gd/classdb/GDExtension resource type represents a shared library which can expand the functionality of the engine. The graphics.gd/classdb/GDExtensionManager singleton is responsible for loading, reloading, and unloading graphics.gd/classdb/GDExtension resources.

Note: GDExtension itself is not a scripting language and has no relation to graphics.gd/classdb/GDScript resources.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func LibraryPath

func LibraryPath() string

LibraryPath is the path to the shared library that contains the current GD extension.

Types

type Advanced

type Advanced = class

Advanced exposes a 1:1 low-level instance of the class, undocumented, for those who know what they are doing.

type Any

type Any interface {
	gd.IsClass
	AsGDExtension() Instance
}

type Extension

type Extension[T gdclass.Interface] struct{ gdclass.Extension[T, Instance] }

Extension can be embedded in a new struct to create an extension of this class. T should be the type that is embedding this Extension

func (*Extension[T]) AsGDExtension

func (self *Extension[T]) AsGDExtension() Instance

func (*Extension[T]) AsObject

func (self *Extension[T]) AsObject() [1]gd.Object

func (*Extension[T]) AsRefCounted

func (self *Extension[T]) AsRefCounted() [1]gd.RefCounted

func (*Extension[T]) AsResource

func (self *Extension[T]) AsResource() Resource.Instance

type ID

type ID Object.ID

ID is a typed object ID (reference) to an instance of this class, use it to store references to objects with unknown lifetimes, as an ID will not panic on use if the underlying object has been destroyed.

func (ID) Instance

func (id ID) Instance() (Instance, bool)

type InitializationLevel

type InitializationLevel int //gd:GDExtension.InitializationLevel
const (
	// The library is initialized at the same time as the core features of the engine.
	InitializationLevelCore InitializationLevel = 0
	// The library is initialized at the same time as the engine's servers (such as [graphics.gd/classdb/RenderingServer] or [graphics.gd/classdb/PhysicsServer3D]).
	InitializationLevelServers InitializationLevel = 1
	// The library is initialized at the same time as the engine's scene-related classes.
	InitializationLevelScene InitializationLevel = 2
	// The library is initialized at the same time as the engine's editor classes. Only happens when loading the GDExtension in the editor.
	InitializationLevelEditor InitializationLevel = 3
)

type Instance

type Instance [1]gdclass.GDExtension

Instance of the class with convieniently typed arguments and results.

var Nil Instance

Nil is a nil/null instance of the class. Equivalent to the zero value.

func New

func New() Instance

func (Instance) AsGDExtension

func (self Instance) AsGDExtension() Instance

func (Instance) AsObject

func (self Instance) AsObject() [1]gd.Object

func (Instance) AsRefCounted

func (self Instance) AsRefCounted() [1]gd.RefCounted

func (Instance) AsResource

func (self Instance) AsResource() Resource.Instance

func (Instance) GetMinimumLibraryInitializationLevel

func (self Instance) GetMinimumLibraryInitializationLevel() InitializationLevel

Returns the lowest level required for this extension to be properly initialized (see the InitializationLevel enum).

func (Instance) ID

func (self Instance) ID() ID

func (Instance) IsLibraryOpen

func (self Instance) IsLibraryOpen() bool

Returns true if this extension's library has been opened.

func (*Instance) SetObject

func (self *Instance) SetObject(obj [1]gd.Object) bool

func (Instance) Virtual

func (self Instance) Virtual(name string) reflect.Value

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL