Module gdnative_core::export

source ·
Expand description

Functionality for user-defined types exported to the engine (native scripts).

NativeScript allows users to have their own scripts in a native language (in this case Rust). It is not the same as GDNative, the native interface to call into Godot. Symbols in this module allow registration, exporting and management of user-defined types which are wrapped in native scripts.

If you are looking for how to manage Godot core types or classes (objects), check out the core_types and object modules, respectively.

To handle initialization and shutdown of godot-rust, take a look at the init module.

For full examples, see examples in the godot-rust repository.

Modules

Strongly typed property hints.
Customizable user-data wrappers.

Macros

Convenience macro to wrap an object’s method into a Method implementor that can be passed to the engine when registering a class.

Structs

Builder for providing additional argument information for error reporting.
Error during argument parsing.
Allows registration of exported properties, methods and signals.
Metadata about the exported property.
Defines which number of arguments is valid.
Builder type used to register a method on a NativeClass.
Placeholder type for exported properties with no backing field.
Builder type used to register a property on a NativeClass.
Class to construct a signal. Make sure to call Self::done() in the end.
Parameter in a signal declaration.
Adapter for methods whose arguments are statically determined. If the arguments would fail to type check, the method will print the errors to Godot’s debug console and return null.
Safe interface to a list of borrowed method arguments with a convenient API for common operations with them.

Enums

All possible errors that can occur when converting from Varargs.

Traits

Trait for exportable types.
Trait for structures that can be parsed from Varargs.
Safe low-level trait for stateful, variadic methods that can be called on a native script type.
Trait for mixins, manually registered #[methods] blocks that may be applied to multiple types.
Trait used for describing and initializing a Godot script class.
Trait used to provide information of Godot-exposed methods of a script class.
Trait for types that can be used as the owner arguments of exported methods. This trait is sealed and has no public interface.
Trait for methods whose argument lists are known at compile time. Not to be confused with a “static method”.
A NativeScript “class” that is statically named. NativeClass types that implement this trait can be registered using [InitHandle::add_class].