2022-03-15 13:29:32 +01:00
<?xml version="1.0" encoding="UTF-8" ?>
2024-04-26 17:32:25 +02:00
<class name= "Script" inherits= "Resource" version= "4.4" >
2022-03-15 13:29:32 +01:00
<brief_description >
A class stored as a resource.
</brief_description>
<description >
A class stored as a resource. A script extends the functionality of all objects that instance it.
The [code]new[/code] method of a script subclass creates a new instance. [method Object.set_script] extends an existing object, if that object's class matches one of the script's base classes.
</description>
<tutorials >
2023-08-29 22:33:15 +02:00
<link > $DOCS_URL/tutorials/scripting/index.md</link>
2022-03-15 13:29:32 +01:00
</tutorials>
<methods >
<method name= "can_instance" qualifiers= "const" >
<return type= "bool" />
<description >
Returns [code]true[/code] if the script can be instanced.
</description>
</method>
<method name= "get_base_script" qualifiers= "const" >
<return type= "Script" />
<description >
Returns the script directly inherited by this script.
</description>
</method>
<method name= "get_instance_base_type" qualifiers= "const" >
2022-03-24 01:22:45 +01:00
<return type= "StringName" />
2022-03-15 13:29:32 +01:00
<description >
Returns the script's base type.
</description>
</method>
<method name= "get_property_default_value" >
<return type= "Variant" />
2022-03-24 01:22:45 +01:00
<argument index= "0" name= "property" type= "StringName" />
2022-03-15 13:29:32 +01:00
<description >
2023-12-21 00:48:25 +01:00
Returns the default value of the specified property.
2022-03-15 13:29:32 +01:00
</description>
</method>
<method name= "get_script_constant_map" >
<return type= "Dictionary" />
<description >
Returns a dictionary containing constant names and their values.
</description>
</method>
<method name= "get_script_method_list" >
<return type= "Array" />
<description >
Returns the list of methods in this [Script].
</description>
</method>
<method name= "get_script_property_list" >
<return type= "Array" />
<description >
Returns the list of properties in this [Script].
</description>
</method>
<method name= "get_script_signal_list" >
<return type= "Array" />
<description >
Returns the list of user signals defined in this [Script].
</description>
</method>
<method name= "has_script_signal" qualifiers= "const" >
<return type= "bool" />
2022-03-24 01:22:45 +01:00
<argument index= "0" name= "signal_name" type= "StringName" />
2022-03-15 13:29:32 +01:00
<description >
2023-12-21 00:48:25 +01:00
Returns [code]true[/code] if the script, or a base class, defines a signal with the given name.
2022-03-15 13:29:32 +01:00
</description>
</method>
<method name= "has_source_code" qualifiers= "const" >
<return type= "bool" />
<description >
Returns [code]true[/code] if the script contains non-empty source code.
</description>
</method>
<method name= "instance_has" qualifiers= "const" >
<return type= "bool" />
<argument index= "0" name= "base_object" type= "Object" />
<description >
Returns [code]true[/code] if [code]base_object[/code] is an instance of this script.
</description>
</method>
<method name= "is_tool" qualifiers= "const" >
<return type= "bool" />
<description >
Returns [code]true[/code] if the script is a tool script. A tool script can run in the editor.
</description>
</method>
<method name= "reload" >
<return type= "int" enum= "Error" />
<argument index= "0" name= "keep_state" type= "bool" default= "false" />
<description >
Reloads the script's class implementation. Returns an error code.
</description>
</method>
</methods>
<members >
<member name= "source_code" type= "String" setter= "set_source_code" getter= "get_source_code" >
The script source code or an empty string if source code is not available. When set, does not reload the class implementation automatically.
</member>
</members>
<constants >
</constants>
</class>