Documentation
¶
Overview ¶
Package gdextension is the graphics.gd authorative Go representation of the Godot C GDExtension API.
Index ¶
- type API
- type Accepts
- type AnyPointer
- type AnyVariant
- type ArgumentMetadata
- type Array
- type CallAccepts
- type CallError
- type CallErrorType
- type CallMutates
- type CallReturns
- type Callable
- type CallableID
- type Callbacks
- type CallbacksForCallables
- type CallbacksForEditor
- type CallbacksForEngine
- type CallbacksForExtension
- type CallbacksForExtensionBinding
- type CallbacksForExtensionClass
- type CallbacksForExtensionInstance
- type CallbacksForExtensionScript
- type CallbacksForMainLoop
- type CallbacksForThreading
- type ClassLibrary
- type Dictionary
- type ExtensionBindingID
- type ExtensionClassID
- type ExtensionInstanceID
- type FunctionID
- type InitializationLevel
- type Iterator
- type MaybeError
- type MethodFlags
- type MethodForBuiltinType
- type MethodForClass
- type MethodList
- type NodePath
- type Object
- type ObjectID
- type ObjectType
- type Packable
- type PackedArray
- type Pointer
- type PropertyList
- type RefCounted
- type Returns
- type ScriptInstance
- type Shape
- type Signal
- type String
- type StringName
- type TaskID
- type Variant
- type VariantOperator
- type VariantType
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type API ¶
type API struct {
Version struct {
Major func() uint32 `gd:"version_major"`
Minor func() uint32 `gd:"version_minor"`
Patch func() uint32 `gd:"version_patch"`
Hex func() uint32 `gd:"version_hex"`
Status func() String `gd:"version_status"`
Build func() String `gd:"version_build"`
Hash func() String `gd:"version_hash"`
Timestamp func(CallReturns[uint64]) `gd:"version_timestamp"`
String func() String `gd:"version_string"`
}
Library struct {
Location func() String `gd:"library_location"`
}
Memory struct {
Malloc func(size int) Pointer `gd:"memory_malloc"`
Sizeof func(name StringName) int `gd:"memory_sizeof"`
Resize func(addr Pointer, size int) Pointer `gd:"memory_resize"`
Clear func(addr Pointer, size int) `gd:"memory_clear"`
Load struct {
Byte func(addr Pointer) byte `gd:"memory_load_byte"`
Uint16 func(addr Pointer) uint16 `gd:"memory_load_u16"`
Uint32 func(addr Pointer) uint32 `gd:"memory_load_u32"`
}
Edit struct {
Byte func(addr Pointer, value byte) `gd:"memory_edit_byte"`
Uint16 func(addr Pointer, value uint16) `gd:"memory_edit_u16"`
Uint32 func(addr Pointer, value uint32) `gd:"memory_edit_u32"`
Uint64 func(addr Pointer, value uint64) `gd:"memory_edit_u64"`
Bits128 func(addr Pointer, value [2]uint64) `gd:"memory_edit_128"`
Bits256 func(addr Pointer, value [4]uint64) `gd:"memory_edit_256"`
Bits512 func(addr Pointer, value [8]uint64) `gd:"memory_edit_512"`
}
Free func(addr Pointer) `gd:"memory_free"`
}
Threads struct {
Main func() bool `gd:"thread_is_main"`
}
Log struct {
Error func(text, code, fn, file string, line int32, notify_editor bool) `gd:"log_error"`
Warning func(text, code, fn, file string, line int32, notify_editor bool) `gd:"log_warning"`
}
Builtin struct {
Types struct {
Name func(vtype VariantType) String `gd:"variant_type_name"`
Make func(vtype VariantType, result CallReturns[Variant], arg_count int, args CallAccepts[Variant], err CallReturns[CallError]) `gd:"variant_type_make"`
Call func(vtype VariantType, static StringName, result CallReturns[Variant], arg_count int, args CallAccepts[Variant], err CallReturns[CallError]) `gd:"variant_type_call"`
Convertable func(vtype VariantType, to VariantType, strict bool) bool `gd:"variant_type_convertable"`
SetupArray func(array Array, vtype VariantType, class_name StringName, script Variant) `gd:"variant_type_setup_array"`
SetupDictionary func(dict Dictionary, key_type VariantType, key_class_name StringName, key_script Variant, val_type VariantType, val_class_name StringName, val_script Variant) `gd:"variant_type_setup_dictionary"`
FetchConstant func(vtype VariantType, constant StringName, result CallReturns[Variant]) `gd:"variant_type_fetch_constant"`
Constructor func(vtype VariantType, n int) FunctionID `gd:"variant_type_unsafe_constructor"`
Evaluator func(op VariantOperator, a, b VariantType) FunctionID `gd:"variant_type_evaluator"`
Setter func(vtype VariantType, field StringName) FunctionID `gd:"variant_type_setter"`
Getter func(vtype VariantType, field StringName) FunctionID `gd:"variant_type_getter"`
HasProperty func(vtype VariantType, field StringName) bool `gd:"variant_type_has_property"`
Method func(vtype VariantType, builtin StringName, hash int64) MethodForBuiltinType `gd:"variant_type_builtin_method"`
Unsafe struct {
Call func(value CallMutates[any], fn MethodForBuiltinType, result CallReturns[any], shape Shape, args CallAccepts[any]) `gd:"variant_type_unsafe_call"`
Make func(constructor FunctionID, result CallReturns[any], shape Shape, args CallAccepts[any]) `gd:"variant_type_unsafe_make"`
Free func(vtype VariantType, shape Shape, args CallAccepts[any]) `gd:"variant_type_unsafe_free"`
}
}
Functions struct {
Name func(utility StringName, hash int64) FunctionID `gd:"builtin_name"`
Call func(fn FunctionID, result CallReturns[any], shape Shape, args CallAccepts[any]) `gd:"builtin_call"`
}
}
Variants struct {
Zero func(result CallReturns[Variant]) `gd:"variant_zero"`
Copy func(v Variant, result CallReturns[Variant]) `gd:"variant_copy"`
Call func(v Variant, method StringName, result CallReturns[Variant], arg_count int, args CallAccepts[Variant], err CallReturns[CallError]) `gd:"variant_call"`
Eval func(op VariantOperator, a, b Variant, call CallReturns[Variant]) bool `gd:"variant_eval"`
Hash func(v Variant, hash CallReturns[int64]) `gd:"variant_hash"`
Bool func(v Variant) bool `gd:"variant_bool"`
Text func(v Variant) String `gd:"variant_text"`
Type func(v Variant) VariantType `gd:"variant_type"`
Deep struct {
Copy func(v Variant, result CallReturns[Variant]) `gd:"variant_deep_copy"`
Hash func(v Variant, recursion_count int64, hash CallReturns[int64]) `gd:"variant_deep_hash"`
}
Set struct {
Index func(v Variant, key, val Variant) bool `gd:"variant_set_index"`
Array func(v Variant, idx int, val Variant, err CallReturns[CallError]) bool `gd:"variant_set_array"`
Field func(v Variant, field StringName, value Variant) bool `gd:"variant_set_field"`
}
Get struct {
Index func(v Variant, key Variant, result CallReturns[Variant]) bool `gd:"variant_get_index"`
Array func(v Variant, idx int, result CallReturns[Variant], err CallReturns[CallError]) bool `gd:"variant_get_array"`
Field func(v Variant, field StringName, result CallReturns[Variant]) bool `gd:"variant_get_field"`
}
Has struct {
Index func(v Variant, index Variant) bool `gd:"variant_has_index"`
Method func(v Variant, method StringName) bool `gd:"variant_has_method"`
}
Unsafe struct {
Call func(fn FunctionID, result CallReturns[any], shape Shape, args CallAccepts[any]) `gd:"variant_unsafe_call"`
Eval func(fn FunctionID, result CallReturns[any], shape Shape, args CallAccepts[any]) `gd:"variant_unsafe_eval"`
Free func(v Variant) `gd:"variant_unsafe_free"`
MakeNative func(vtype VariantType, v Variant, shape Shape, result CallReturns[any]) `gd:"variant_unsafe_make_native"`
FromNative func(vtype VariantType, result CallReturns[Variant], shape Shape, args CallAccepts[any]) `gd:"variant_unsafe_from_native"`
Set struct {
Field func(setter FunctionID, shape Shape, args CallAccepts[any]) `gd:"variant_unsafe_set_field"`
Array func(vtype VariantType, idx int, shape Shape, args CallAccepts[any]) `gd:"variant_unsafe_set_array"`
Index func(vtype VariantType, shape Shape, args CallAccepts[any]) `gd:"variant_unsafe_set_index"`
}
Get struct {
Field func(getter FunctionID, result CallReturns[any], shape Shape, args CallAccepts[any]) `gd:"variant_unsafe_get_field"`
Array func(vtype VariantType, idx int, result CallReturns[any], shape Shape, args CallAccepts[any]) `gd:"variant_unsafe_get_array"`
Index func(vtype VariantType, result CallReturns[any], shape Shape, args CallAccepts[any]) `gd:"variant_unsafe_get_index"`
}
InternalPointer func(vtype VariantType, v Variant) Pointer `gd:"variant_unsafe_internal_pointer"`
}
}
Iterators struct {
Make func(v Variant, result CallReturns[Iterator], err CallReturns[CallError]) `gd:"iterator_make"`
Next func(v Variant, iter CallMutates[Iterator], err CallReturns[CallError]) bool `gd:"iterator_next"`
Load func(v Variant, iter Iterator, result CallReturns[Variant], err CallReturns[CallError]) `gd:"iterator_load"`
}
Strings struct {
Access func(s String, idx int) rune `gd:"string_access"`
Resize func(s String, size int) String `gd:"string_resize"`
Unsafe func(s String) Pointer `gd:"string_unsafe"`
Decode struct {
Latin1 func(s string) String `gd:"string_decode_latin1"`
UTF8 func(s string) String `gd:"string_decode_utf8"`
UTF16 func(s string, little_endian bool) String `gd:"string_decode_utf16"`
UTF32 func(s string) String `gd:"string_decode_utf32"`
Wide func(s string) String `gd:"string_decode_wide"`
}
Encode struct {
Latin1 func(s String, buf []byte) int `gd:"string_encode_latin1"`
UTF8 func(s String, buf []byte) int `gd:"string_encode_utf8"`
UTF16 func(s String, buf []byte) int `gd:"string_encode_utf16"`
UTF32 func(s String, buf []byte) int `gd:"string_encode_utf32"`
Wide func(s String, buf []byte) int `gd:"string_encode_wide"`
}
Append struct {
String func(s String, other String) String `gd:"string_append"`
Rune func(s String, char rune) String `gd:"string_append_rune"`
}
Intern struct {
Latin1 func(s string) StringName `gd:"string_intern_latin1"`
UTF8 func(s string) StringName `gd:"string_intern_utf8"`
}
}
Packed struct {
Bytes struct {
Unsafe func(p PackedArray[byte]) Pointer `gd:"packed_byte_array_unsafe"`
Access func(p PackedArray[byte], idx int) byte `gd:"packed_byte_array_access"`
}
Float32s struct {
Unsafe func(p PackedArray[float32]) Pointer `gd:"packed_float32_array_unsafe"`
Access func(p PackedArray[float32], idx int) float32 `gd:"packed_float32_array_access"`
}
Float64s struct {
Unsafe func(p PackedArray[float64]) Pointer `gd:"packed_float64_array_unsafe"`
Access func(p PackedArray[float64], idx int) float64 `gd:"packed_float64_array_access"`
}
Int32s struct {
Unsafe func(p PackedArray[int32]) Pointer `gd:"packed_int32_array_unsafe"`
Access func(p PackedArray[int32], idx int) int32 `gd:"packed_int32_array_access"`
}
Int64s struct {
Unsafe func(p PackedArray[int64]) Pointer `gd:"packed_int64_array_unsafe"`
Access func(p PackedArray[int64], idx int, result CallReturns[int64]) `gd:"packed_int64_array_access"`
}
Strings struct {
Unsafe func(p PackedArray[String]) Pointer `gd:"packed_string_array_unsafe"`
Access func(p PackedArray[String], idx int) String `gd:"packed_string_array_access"`
}
Vector2s struct {
Unsafe func(p PackedArray[Vector2.XY]) Pointer `gd:"packed_vector2_array_unsafe"`
Access func(p PackedArray[Vector2.XY], idx int, result CallReturns[Vector2.XY]) `gd:"packed_vector2_array_access"`
}
Vector3s struct {
Unsafe func(p PackedArray[Vector3.XYZ]) Pointer `gd:"packed_vector3_array_unsafe"`
Access func(p PackedArray[Vector3.XYZ], idx int, result CallReturns[Vector3.XYZ]) `gd:"packed_vector3_array_access"`
}
Vector4s struct {
Unsafe func(p PackedArray[Vector4.XYZW]) Pointer `gd:"packed_vector4_array_unsafe"`
Access func(p PackedArray[Vector4.XYZW], idx int, result CallReturns[Vector4.XYZW]) `gd:"packed_vector4_array_access"`
}
Colors struct {
Unsafe func(p PackedArray[Color.RGBA]) Pointer `gd:"packed_color_array_unsafe"`
Access func(p PackedArray[Color.RGBA], idx int, result CallReturns[Color.RGBA]) `gd:"packed_color_array_access"`
}
}
Array struct {
Get func(p Array, idx int, result CallReturns[Variant]) `gd:"array_get"`
Set func(p Array, idx int, value Variant) `gd:"array_set"`
}
Dictionaries struct {
Get func(dict Dictionary, index Variant, result CallReturns[Variant]) `gd:"packed_dictionary_access"`
Set func(dict Dictionary, index, value Variant) `gd:"packed_dictionary_modify"`
}
Callables struct {
Create func(id FunctionID, object ObjectID, result CallReturns[Callable]) `gd:"callable_create"`
Lookup func(Callable) FunctionID `gd:"callable_lookup"`
}
Objects struct {
Make func(name StringName) Object `gd:"object_make"`
Call func(obj Object, method MethodForClass, result CallReturns[Variant], arg_count int, args CallAccepts[Variant], err CallReturns[CallError]) `gd:"object_call"`
Name func(obj Object) StringName `gd:"object_name"`
Type func(name StringName) ObjectType `gd:"object_type"`
Cast func(obj Object, to ObjectType) Object `gd:"object_cast"`
ID struct {
Get func(obj Object, id CallReturns[ObjectID]) `gd:"object_id"`
InsideVariant func(v Variant, id CallReturns[ObjectID]) `gd:"object_id_inside_variant"`
}
Lookup func(id ObjectID) Object `gd:"object_lookup"`
Global func(name StringName) Object `gd:"object_global"`
Method struct {
Lookup func(name StringName, method StringName, hash int64) MethodForClass `gd:"object_method_lookup"`
}
Unsafe struct {
Call func(obj Object, fn MethodForClass, result CallReturns[any], shape Shape, args CallAccepts[any]) `gd:"object_unsafe_call"`
Free func(obj Object) `gd:"object_unsafe_free"`
}
Script struct {
Make func(fn ExtensionInstanceID) ScriptInstance `gd:"object_script_make"`
Call func(obj Object, name StringName, result CallReturns[Variant], arg_count int, args CallAccepts[Variant], err CallReturns[CallError]) `gd:"object_script_call"`
Setup func(obj Object, script ScriptInstance) `gd:"object_script_setup"`
Fetch func(obj Object, language Object) ScriptInstance `gd:"object_script_fetch"`
DefinesMethod func(obj Object, method StringName) bool `gd:"object_script_defines_method"`
AddPropertyState func(fn FunctionID, arg Pointer, name StringName, state Variant) `gd:"object_script_property_state_add"`
Placeholder struct {
Create func(language, script, owner Object) ScriptInstance `gd:"object_script_placeholder_create"`
Update func(script ScriptInstance, array Array, dict Dictionary) `gd:"object_script_placeholder_update"`
}
}
Extension struct {
Setup func(obj Object, name StringName, class ExtensionInstanceID) `gd:"object_extension_setup"`
Fetch func(obj Object) ExtensionInstanceID `gd:"object_extension_fetch"`
Close func(obj Object) `gd:"object_extension_close"`
}
}
RefCounted struct {
Get func(ref RefCounted) Object `gd:"ref_get_object"`
Set func(ref RefCounted, obj Object) `gd:"ref_set_object"`
}
Editor struct {
AddDocumentation func(xml string) `gd:"editor_add_documentation"`
AddPlugin func(name StringName) `gd:"editor_add_plugin"`
EndPlugin func(name StringName) `gd:"editor_end_plugin"`
}
ClassDB struct {
PropertyList struct {
Make func(length int) PropertyList `gd:"property_list_make"`
Push func(info PropertyList,
vtype VariantType,
name StringName,
class_name StringName,
hint uint32,
hint_string String,
usage uint32,
meta ArgumentMetadata,
) `gd:"property_list_push"`
Info struct {
Type func(info PropertyList) VariantType `gd:"property_info_type"`
Name func(info PropertyList) StringName `gd:"property_info_name"`
ClassName func(info PropertyList) StringName `gd:"property_info_class_name"`
Hint func(info PropertyList) uint32 `gd:"property_info_hint"`
HinString func(info PropertyList) String `gd:"property_info_hint_string"`
Usage func(info PropertyList) uint32 `gd:"property_info_usage"`
}
Free func(info PropertyList) `gd:"property_list_free"`
}
MethodList struct {
Make func(length int) MethodList `gd:"method_list_make"`
Push func(info MethodList,
name StringName,
call FunctionID,
method_flags MethodFlags,
return_value_info PropertyList,
arguments_info PropertyList,
count int,
default_arguments CallAccepts[Variant],
) `gd:"method_list_push"`
Free func(info MethodList) `gd:"method_list_free"`
}
Register struct {
Class func(class, parent_class StringName, id ExtensionClassID, virtual, abstract, exposed, runtime bool, icon_path String) `gd:"classdb_register"`
Methods func(class StringName, methods MethodList) `gd:"classdb_register_methods"`
Constant func(class, enum, name StringName, value int64, bitfield bool) `gd:"classdb_register_constant"`
Property func(class StringName, property PropertyList, setter, getter StringName) `gd:"classdb_register_property"`
PropertyIndexed func(class StringName, property PropertyList, setter, getter StringName, index int) `gd:"classdb_register_property_indexed"`
PropertyGroup func(class StringName, group, prefix String) `gd:"classdb_register_property_group"`
PropertySubgroup func(class StringName, subgroup, prefix String) `gd:"classdb_register_property_sub_group"`
Signal func(class, signal StringName, args PropertyList) `gd:"classdb_register_signal"`
Removal func(class StringName) `gd:"classdb_register_removal"`
}
Image struct {
Unsafe func(img Object) Pointer `gd:"classdb_Image_unsafe"`
Access func(img Object, idx int) byte `gd:"classdb_Image_access"`
}
XMLParser struct {
Load func(parser Object, buf []byte) int `gd:"classdb_XMLParser_load"`
}
FileAccess struct {
Write func(file Object, buf []byte) `gd:"classdb_FileAccess_write"`
Read func(file Object, buf []byte) int `gd:"classdb_FileAccess_read"`
}
WorkerThreadPool struct {
AddTask func(pool Object, fn TaskID, priority bool, description String) `gd:"classdb_WorkerThreadPool_add_task"`
AddGroupTask func(pool Object, fn TaskID, elements int32, task int32, priority bool, description String) `gd:"classdb_WorkerThreadPool_add_group_task"`
}
}
}
var Host API
type AnyPointer ¶
type AnyPointer interface {
Variant | String | Callable | Signal | Dictionary | Array | PackedArray[byte] |
StringName | NodePath | PackedArray[int32] | PackedArray[int64] |
PackedArray[float32] | PackedArray[float64] | PackedArray[String] | PackedArray[Vector2.XY] |
PackedArray[Vector3.XYZ] | PackedArray[Color.RGBA] | PackedArray[Vector4.XYZW]
}
type AnyVariant ¶
type AnyVariant interface {
Variant | ~byte | ~bool | ~int64 | ~float64 | ~float32 | ~int32 | String | ~Vector2i.XY | Vector2.XY | ~Rect2.PositionSize |
Rect2i.PositionSize | ~Vector3.XYZ | ~Vector3i.XYZ |
~Transform2D.OriginXY | ~Vector4.XYZW | ~Vector4i.XYZW | ~Plane.NormalD | ~Quaternion.IJKX | ~AABB.PositionSize |
~Basis.XYZ | ~Transform3D.BasisOrigin | ~Projection.XYZW | ~Color.RGBA | StringName | NodePath | ~uint64 |
Object | Callable | Signal | Dictionary | Array | PackedArray[byte] | PackedArray[int32] | PackedArray[int64] |
PackedArray[float32] | PackedArray[float64] | PackedArray[String] | PackedArray[Vector2.XY] |
PackedArray[Vector3.XYZ] | PackedArray[Color.RGBA] | PackedArray[Vector4.XYZW] | CallError
}
type ArgumentMetadata ¶
type ArgumentMetadata uint32
const ( ArgumentMetadataNone ArgumentMetadata = iota ArgumentMetadataIntIsInt8 ArgumentMetadataIntIsInt16 ArgumentMetadataIntIsInt32 ArgumentMetadataIntIsInt64 ArgumentMetadataIntIsUint8 ArgumentMetadataIntIsUint16 ArgumentMetadataIntIsUint32 ArgumentMetadataIntIsUint64 ArgumentMetadataRealIsFloat32 ArgumentMetadataRealIsFloat64 ArgumentMetadataIntIsChar16 ArgumentMetadataIntIsChar32 )
type CallAccepts ¶
type CallError ¶
type CallError struct {
Type CallErrorType
Argument int32
Expected int32
// contains filtered or unexported fields
}
type CallErrorType ¶
type CallErrorType uint32
const ( CallOK CallErrorType = iota CallInvalidMethod CallErrorType = 1 CallInvalidArguments CallErrorType = 2 CallTooManyArguments CallErrorType = 3 CallTooFewArguments CallErrorType = 4 CallInstanceIsNull CallErrorType = 5 CallMethodNotConst CallErrorType = 6 )
type CallMutates ¶
type CallReturns ¶
type CallableID ¶
type CallableID Pointer
type Callbacks ¶
type Callbacks struct {
Engine CallbacksForEngine
Editor CallbacksForEditor
MainLoop CallbacksForMainLoop
Callables CallbacksForCallables
Extension CallbacksForExtension
Threading CallbacksForThreading
}
var On Callbacks
type CallbacksForCallables ¶
type CallbacksForCallables struct {
Call func(fn FunctionID, result Returns[Variant], arg_count int, args Accepts[Variant], err Returns[CallError]) `gd:"on_callable_call"`
Validation func(fn FunctionID) bool `gd:"on_callable_validation"`
Free func(fn FunctionID) `gd:"on_callable_free"`
Hash func(fn FunctionID) uint32 `gd:"on_callable_hash"`
Compare func(fn FunctionID, other FunctionID) bool `gd:"on_callable_compare"`
LessThan func(fn FunctionID, other FunctionID) bool `gd:"on_callable_less_than"`
Stringify func(fn FunctionID, err Returns[CallError]) String `gd:"on_callable_stringify"`
ArgumentCount func(fn FunctionID, err Returns[CallError]) int `gd:"on_callable_get_argument_count"`
}
type CallbacksForEditor ¶
type CallbacksForEditor struct {
ClassInUseDetection func(classes PackedArray[String], result Returns[PackedArray[String]]) `gd:"on_editor_class_in_use_detection"`
}
type CallbacksForEngine ¶
type CallbacksForEngine struct {
Init func(level InitializationLevel) `gd:"on_engine_init"`
Exit func(level InitializationLevel) `gd:"on_engine_exit"`
}
type CallbacksForExtension ¶
type CallbacksForExtension struct {
Binding CallbacksForExtensionBinding
Instance CallbacksForExtensionInstance
Class CallbacksForExtensionClass
Script CallbacksForExtensionScript
}
type CallbacksForExtensionBinding ¶
type CallbacksForExtensionBinding struct {
Created func(instance ExtensionInstanceID) ExtensionBindingID `gd:"on_extension_binding_created"`
Removed func(instance ExtensionInstanceID, binding ExtensionBindingID) `gd:"on_extension_binding_removed"`
Reference func(instance ExtensionInstanceID, increment bool) bool `gd:"on_extension_binding_reference"`
}
type CallbacksForExtensionClass ¶
type CallbacksForExtensionClass struct {
Create func(class ExtensionClassID, notify_postinitialize bool) Object `gd:"on_extension_class_create"`
Method func(class ExtensionClassID, method StringName, hash uint32) FunctionID `gd:"on_extension_class_method"`
Caller func(class ExtensionClassID, method StringName, hash uint32) uintptr `gd:"on_extension_class_caller"`
}
type CallbacksForExtensionInstance ¶
type CallbacksForExtensionInstance struct {
Set func(instance ExtensionInstanceID, field StringName, value Variant) bool `gd:"on_extension_instance_set"`
Get func(instance ExtensionInstanceID, field StringName, result Returns[Variant]) bool `gd:"on_extension_instance_get"`
PropertyList func(instance ExtensionInstanceID) PropertyList `gd:"on_extension_instance_property_list"`
PropertyHasDefault func(instance ExtensionInstanceID, field StringName) bool `gd:"on_extension_instance_property_has_default"`
PropertyGetDefault func(instance ExtensionInstanceID, field StringName, result Returns[Variant]) bool `gd:"on_extension_instance_property_get_default"`
PropertyValidation func(instance ExtensionInstanceID, field PropertyList) bool `gd:"on_extension_instance_property_validation"`
Notification func(instance ExtensionInstanceID, what int32, reverse bool) `gd:"on_extension_instance_notification"`
Stringify func(instance ExtensionInstanceID) String `gd:"on_extension_instance_stringify"`
Reference func(instance ExtensionInstanceID, increment bool) bool `gd:"on_extension_instance_reference"`
RID func(instance ExtensionInstanceID, rid Returns[uint64]) `gd:"on_extension_instance_rid"`
CheckedCall func(instance ExtensionInstanceID, fn FunctionID, result Returns[any], args Accepts[any]) `gd:"on_extension_instance_checked_call"`
Called func(instance ExtensionInstanceID, callData Pointer, result Returns[any], args Accepts[any]) `gd:"on_extension_instance_called"`
VariantCall func(instance ExtensionInstanceID, fn FunctionID, result Returns[Variant], args Accepts[Variant]) `gd:"on_extension_instance_variant_call"`
DynamicCall func(instance ExtensionInstanceID, fn FunctionID, result Returns[Variant], arg_count int, args Accepts[Variant], err Returns[CallError]) `gd:"on_extension_instance_dynamic_call"`
Free func(instance ExtensionInstanceID) `gd:"on_extension_instance_free"`
}
type CallbacksForExtensionScript ¶
type CallbacksForExtensionScript struct {
Categorization func(instance ExtensionInstanceID, into PropertyList) bool `gd:"on_extension_script_categorization"`
PropertyType func(field StringName, err Returns[CallError]) VariantType `gd:"on_extension_script_get_property_type"`
Owner func(instance ExtensionInstanceID) Object `gd:"on_extension_script_get_owner"`
PropertyState func(instance ExtensionInstanceID, add FunctionID, arg Pointer) `gd:"on_extension_script_get_property_state"`
Methods func(instance ExtensionInstanceID) MethodList `gd:"on_extension_script_get_methods"`
HasMethod func(instance ExtensionInstanceID, method StringName) bool `gd:"on_extension_script_has_method"`
MethodArgumentCount func(instance ExtensionInstanceID, method StringName) int `gd:"on_extension_script_get_method_argument_count"`
Get func(instance ExtensionInstanceID) Object `gd:"on_extension_script_get"`
IsPlaceholder func(instance ExtensionInstanceID) bool `gd:"on_extension_script_is_placeholder"`
Language func(instance ExtensionInstanceID) Object `gd:"on_extension_script_get_language"`
}
type CallbacksForMainLoop ¶
type CallbacksForMainLoop struct {
FirstFrame func() `gd:"on_first_frame"`
EveryFrame func() `gd:"on_every_frame"`
FinalFrame func() `gd:"on_final_frame"`
}
type CallbacksForThreading ¶
type ClassLibrary ¶
type ClassLibrary Pointer
type Dictionary ¶
type Dictionary [1]Pointer
type ExtensionBindingID ¶
type ExtensionBindingID Pointer
type ExtensionClassID ¶
type ExtensionClassID Pointer
type ExtensionInstanceID ¶
type ExtensionInstanceID Pointer
type FunctionID ¶
type FunctionID Pointer
type InitializationLevel ¶
type InitializationLevel uint32
const ( InitializationLevelCore InitializationLevel = 0 InitializationLevelServers InitializationLevel = 1 InitializationLevelScene InitializationLevel = 2 InitializationLevelEditor InitializationLevel = 3 )
type MaybeError ¶
type MaybeError struct{}
type MethodFlags ¶
type MethodFlags uint32
const ( MethodFlagNormal MethodFlags = 1 MethodFlagEditor MethodFlags = 2 MethodFlagConst MethodFlags = 4 MethodFlagVirtual MethodFlags = 8 MethodFlagVararg MethodFlags = 16 MethodFlagStatic MethodFlags = 32 MethodFlagsDefault MethodFlags = MethodFlagNormal )
type MethodForBuiltinType ¶
type MethodForBuiltinType Pointer
type MethodForClass ¶
type MethodForClass Pointer
type MethodList ¶
type MethodList Pointer
type ObjectType ¶
type ObjectType Pointer
type PackedArray ¶
type PropertyList ¶
type PropertyList Pointer
type RefCounted ¶
type RefCounted Pointer
type ScriptInstance ¶
type ScriptInstance Pointer
type Shape ¶
type Shape uint64
Shape is used to correctly transfer data for unsafe calls into the engine.
const ( SizeVariant Shape = ShapeBytes8x3 SizeBool Shape = ShapeBytes1 SizeInt Shape = ShapeBytes8 SizeFloat Shape = ShapeBytes8 SizeVector2 Shape = ShapeBytes4x2 SizeVector3 Shape = ShapeBytes4x3 SizeVector4 Shape = ShapeBytes4x4 SizeColor Shape = ShapeBytes4x4 SizeRect2 Shape = ShapeBytes4x4 SizeRect2i Shape = ShapeBytes4x4 SizeVector2i Shape = ShapeBytes4x2 SizeVector3i Shape = ShapeBytes4x3 SizeVector4i Shape = ShapeBytes4x4 SizeTransform2D Shape = ShapeBytes4x6 SizeTransform3D Shape = ShapeBytes4x12 SizePlane Shape = ShapeBytes4x4 SizeQuaternion Shape = ShapeBytes4x4 SizeAABB Shape = ShapeBytes4x6 SizeBasis Shape = ShapeBytes4x9 SizeProjection Shape = ShapeBytes4x16 SizeRID Shape = ShapeBytes8 SizeCallable Shape = ShapeBytes8x2 SizeSignal Shape = ShapeBytes8x2 )
const ( SizeString Shape = ShapeBytes8 SizeObject Shape = ShapeBytes8 SizeArray Shape = ShapeBytes8 SizePackedArray Shape = ShapeBytes8x2 SizeDictionary Shape = ShapeBytes8 SizeStringName Shape = ShapeBytes8 SizeNodePath Shape = ShapeBytes8 SizePointer Shape = ShapeBytes8 )
func ShapeVariants ¶
func SizeOf ¶
func SizeOf[T AnyVariant]() Shape
func (Shape) SizeArguments ¶
func (Shape) SizeResult ¶
type StringName ¶
type StringName [1]Pointer
type VariantOperator ¶
type VariantOperator uint32
const ( Equal VariantOperator = iota NotEqual Less LessEqual Greater GreaterEqual Add Subtract Multiply Divide Negate Positive Module Power ShiftLeft ShiftRight BitAnd BitOr BitXor BitNegate LogicalAnd LogicalOr LogicalXor LogicalNegate In )
type VariantType ¶
type VariantType uint32
const ( TypeNil VariantType = 0 TypeBool VariantType = 1 TypeInt VariantType = 2 TypeFloat VariantType = 3 TypeString VariantType = 4 TypeVector2 VariantType = 5 TypeVector2i VariantType = 6 TypeRect2 VariantType = 7 TypeRect2i VariantType = 8 TypeVector3 VariantType = 9 TypeVector3i VariantType = 10 TypeTransform2D VariantType = 11 TypeVector4 VariantType = 12 TypeVector4i VariantType = 13 TypePlane VariantType = 14 TypeQuaternion VariantType = 15 TypeAABB VariantType = 16 TypeBasis VariantType = 17 TypeTransform3D VariantType = 18 TypeProjection VariantType = 19 TypeColor VariantType = 20 TypeStringName VariantType = 21 TypeNodePath VariantType = 22 TypeRID VariantType = 23 TypeObject VariantType = 24 TypeCallable VariantType = 25 TypeSignal VariantType = 26 TypeDictionary VariantType = 27 TypeArray VariantType = 28 TypePackedByteArray VariantType = 29 TypePackedInt32Array VariantType = 30 TypePackedInt64Array VariantType = 31 TypePackedFloat32Array VariantType = 32 TypePackedFloat64Array VariantType = 33 TypePackedStringArray VariantType = 34 TypePackedVector2Array VariantType = 35 TypePackedVector3Array VariantType = 36 TypePackedColorArray VariantType = 37 TypePackedVector4Array VariantType = 38 TypeMax VariantType = 39 )
func (VariantType) Call ¶
func (variant VariantType) Call(method StringName, args ...Variant) (Variant, error)
Call a static method on a variant type.
func (VariantType) New ¶
func (variant VariantType) New(args ...Variant) (Variant, error)
New calls the variant constructor with the given arguments and returns the result as a variant.
func (VariantType) String ¶
func (vtype VariantType) String() string
Click to show internal directories.
Click to hide internal directories.