Inherits: :ref:`Resource<class_resource>` < :ref:`Reference<class_reference>` < :ref:`Object<class_object>`
Inherited By: :ref:`VisualScript<class_visualscript>`, :ref:`GDScript<class_gdscript>`, :ref:`CSharpScript<class_csharpscript>`, :ref:`NativeScript<class_nativescript>`, :ref:`PluginScript<class_pluginscript>`
Category: Core
A class stored as a resource.
- :ref:`String<class_string>` 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.
A class stored as a resource. The script exends the functionality of all objects that instance it.
The 'new' method of a script subclass creates a new instance. :ref:`Object.set_script<class_Object_set_script>` extends an existing object, if that object's class matches one of the script's base classes.
- :ref:`bool<class_bool>` can_instance ( ) const
Returns true if the script can be instanced.
- :ref:`Script<class_script>` get_base_script ( ) const
Returns the script directly inherited by this script.
- :ref:`String<class_string>` get_instance_base_type ( ) const
- :ref:`bool<class_bool>` has_script_signal ( :ref:`String<class_string>` signal_name ) const
Returns true if the script, or a base class, defines a signal with the given name.
- :ref:`bool<class_bool>` has_source_code ( ) const
Returns true if the script contains non-empty source code.
- :ref:`bool<class_bool>` instance_has ( :ref:`Object<class_object>` base_object ) const
Returns true if 'base_object' is an instance of this script.
- :ref:`bool<class_bool>` is_tool ( ) const
Returns true if the script is a tool script. A tool script can run in the editor.
- :ref:`int<class_int>` reload ( :ref:`bool<class_bool>` keep_state=false )
Reloads the script's class implementation. Returns an error code.