File tree Expand file tree Collapse file tree 2 files changed +21
-0
lines changed Expand file tree Collapse file tree 2 files changed +21
-0
lines changed Original file line number Diff line number Diff line change @@ -1572,6 +1572,15 @@ static GDExtensionScriptInstancePtr gdextension_object_get_script_instance(GDExt
15721572 return script_instance_extension->instance ;
15731573}
15741574
1575+ static void gdextension_object_set_script_instance (GDExtensionObjectPtr p_object, GDExtensionScriptInstancePtr p_script_instance) {
1576+ ERR_FAIL_NULL (p_object);
1577+
1578+ Object *o = (Object *)p_object;
1579+ ScriptInstance *script_instance = (ScriptInstanceExtension *)p_script_instance;
1580+
1581+ o->set_script_instance (script_instance);
1582+ }
1583+
15751584#ifndef DISABLE_DEPRECATED
15761585static void gdextension_callable_custom_create (GDExtensionUninitializedTypePtr r_callable, GDExtensionCallableCustomInfo *p_custom_callable_info) {
15771586 memnew_placement (r_callable, Callable (memnew (CallableCustomExtension (p_custom_callable_info))));
@@ -1809,6 +1818,7 @@ void gdextension_setup_interface() {
18091818 REGISTER_INTERFACE_FUNC (placeholder_script_instance_create);
18101819 REGISTER_INTERFACE_FUNC (placeholder_script_instance_update);
18111820 REGISTER_INTERFACE_FUNC (object_get_script_instance);
1821+ REGISTER_INTERFACE_FUNC (object_set_script_instance);
18121822#ifndef DISABLE_DEPRECATED
18131823 REGISTER_INTERFACE_FUNC (callable_custom_create);
18141824#endif // DISABLE_DEPRECATED
Original file line number Diff line number Diff line change @@ -2721,6 +2721,17 @@ typedef void (*GDExtensionInterfacePlaceHolderScriptInstanceUpdate)(GDExtensionS
27212721 */
27222722typedef GDExtensionScriptInstanceDataPtr (* GDExtensionInterfaceObjectGetScriptInstance )(GDExtensionConstObjectPtr p_object , GDExtensionObjectPtr p_language );
27232723
2724+ /**
2725+ * @name object_set_script_instance
2726+ * @since 4.5
2727+ *
2728+ * Set the script instance data attached to this object.
2729+ *
2730+ * @param p_object A pointer to the Object.
2731+ * @param p_script_instance A pointer to the script instance data to attach to this object.
2732+ */
2733+ typedef void (* GDExtensionInterfaceObjectSetScriptInstance )(GDExtensionObjectPtr p_object , GDExtensionScriptInstanceDataPtr p_script_instance );
2734+
27242735/* INTERFACE: Callable */
27252736
27262737/**
You can’t perform that action at this time.
0 commit comments