You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-15 13:51:40 +00:00
Merge pull request #102373 from dsnopek/gdextension-set-script-instance
GDExtension: Add interface functions for `Object::set_script_instance()`
This commit is contained in:
@@ -1584,6 +1584,15 @@ static GDExtensionScriptInstancePtr gdextension_object_get_script_instance(GDExt
|
|||||||
return script_instance_extension->instance;
|
return script_instance_extension->instance;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void gdextension_object_set_script_instance(GDExtensionObjectPtr p_object, GDExtensionScriptInstancePtr p_script_instance) {
|
||||||
|
ERR_FAIL_NULL(p_object);
|
||||||
|
|
||||||
|
Object *o = (Object *)p_object;
|
||||||
|
ScriptInstance *script_instance = (ScriptInstanceExtension *)p_script_instance;
|
||||||
|
|
||||||
|
o->set_script_instance(script_instance);
|
||||||
|
}
|
||||||
|
|
||||||
#ifndef DISABLE_DEPRECATED
|
#ifndef DISABLE_DEPRECATED
|
||||||
static void gdextension_callable_custom_create(GDExtensionUninitializedTypePtr r_callable, GDExtensionCallableCustomInfo *p_custom_callable_info) {
|
static void gdextension_callable_custom_create(GDExtensionUninitializedTypePtr r_callable, GDExtensionCallableCustomInfo *p_custom_callable_info) {
|
||||||
memnew_placement(r_callable, Callable(memnew(CallableCustomExtension(p_custom_callable_info))));
|
memnew_placement(r_callable, Callable(memnew(CallableCustomExtension(p_custom_callable_info))));
|
||||||
@@ -1824,6 +1833,7 @@ void gdextension_setup_interface() {
|
|||||||
REGISTER_INTERFACE_FUNC(placeholder_script_instance_create);
|
REGISTER_INTERFACE_FUNC(placeholder_script_instance_create);
|
||||||
REGISTER_INTERFACE_FUNC(placeholder_script_instance_update);
|
REGISTER_INTERFACE_FUNC(placeholder_script_instance_update);
|
||||||
REGISTER_INTERFACE_FUNC(object_get_script_instance);
|
REGISTER_INTERFACE_FUNC(object_get_script_instance);
|
||||||
|
REGISTER_INTERFACE_FUNC(object_set_script_instance);
|
||||||
#ifndef DISABLE_DEPRECATED
|
#ifndef DISABLE_DEPRECATED
|
||||||
REGISTER_INTERFACE_FUNC(callable_custom_create);
|
REGISTER_INTERFACE_FUNC(callable_custom_create);
|
||||||
#endif // DISABLE_DEPRECATED
|
#endif // DISABLE_DEPRECATED
|
||||||
|
|||||||
@@ -2743,6 +2743,17 @@ typedef void (*GDExtensionInterfacePlaceHolderScriptInstanceUpdate)(GDExtensionS
|
|||||||
*/
|
*/
|
||||||
typedef GDExtensionScriptInstanceDataPtr (*GDExtensionInterfaceObjectGetScriptInstance)(GDExtensionConstObjectPtr p_object, GDExtensionObjectPtr p_language);
|
typedef GDExtensionScriptInstanceDataPtr (*GDExtensionInterfaceObjectGetScriptInstance)(GDExtensionConstObjectPtr p_object, GDExtensionObjectPtr p_language);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @name object_set_script_instance
|
||||||
|
* @since 4.5
|
||||||
|
*
|
||||||
|
* Set the script instance data attached to this object.
|
||||||
|
*
|
||||||
|
* @param p_object A pointer to the Object.
|
||||||
|
* @param p_script_instance A pointer to the script instance data to attach to this object.
|
||||||
|
*/
|
||||||
|
typedef void (*GDExtensionInterfaceObjectSetScriptInstance)(GDExtensionObjectPtr p_object, GDExtensionScriptInstanceDataPtr p_script_instance);
|
||||||
|
|
||||||
/* INTERFACE: Callable */
|
/* INTERFACE: Callable */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user