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 @@ -1584,6 +1584,15 @@ static GDExtensionScriptInstancePtr gdextension_object_get_script_instance(GDExt
15841584 return script_instance_extension->instance ;
15851585}
15861586
1587+ static void gdextension_object_set_script_instance (GDExtensionObjectPtr p_object, GDExtensionScriptInstancePtr p_script_instance) {
1588+ ERR_FAIL_NULL (p_object);
1589+
1590+ Object *o = (Object *)p_object;
1591+ ScriptInstance *script_instance = (ScriptInstanceExtension *)p_script_instance;
1592+
1593+ o->set_script_instance (script_instance);
1594+ }
1595+
15871596#ifndef DISABLE_DEPRECATED
15881597static void gdextension_callable_custom_create (GDExtensionUninitializedTypePtr r_callable, GDExtensionCallableCustomInfo *p_custom_callable_info) {
15891598 memnew_placement (r_callable, Callable (memnew (CallableCustomExtension (p_custom_callable_info))));
@@ -1824,6 +1833,7 @@ void gdextension_setup_interface() {
18241833 REGISTER_INTERFACE_FUNC (placeholder_script_instance_create);
18251834 REGISTER_INTERFACE_FUNC (placeholder_script_instance_update);
18261835 REGISTER_INTERFACE_FUNC (object_get_script_instance);
1836+ REGISTER_INTERFACE_FUNC (object_set_script_instance);
18271837#ifndef DISABLE_DEPRECATED
18281838 REGISTER_INTERFACE_FUNC (callable_custom_create);
18291839#endif // DISABLE_DEPRECATED
Original file line number Diff line number Diff line change @@ -2743,6 +2743,17 @@ typedef void (*GDExtensionInterfacePlaceHolderScriptInstanceUpdate)(GDExtensionS
27432743 */
27442744typedef GDExtensionScriptInstanceDataPtr (* GDExtensionInterfaceObjectGetScriptInstance )(GDExtensionConstObjectPtr p_object , GDExtensionObjectPtr p_language );
27452745
2746+ /**
2747+ * @name object_set_script_instance
2748+ * @since 4.5
2749+ *
2750+ * Set the script instance data attached to this object.
2751+ *
2752+ * @param p_object A pointer to the Object.
2753+ * @param p_script_instance A pointer to the script instance data to attach to this object.
2754+ */
2755+ typedef void (* GDExtensionInterfaceObjectSetScriptInstance )(GDExtensionObjectPtr p_object , GDExtensionScriptInstanceDataPtr p_script_instance );
2756+
27462757/* INTERFACE: Callable */
27472758
27482759/**
You can’t perform that action at this time.
0 commit comments