<?xml version="1.0" encoding="UTF-8" ?>
<class name="Script" inherits="Resource" category="Core" version="3.0.alpha.custom_build">
	<brief_description>
		A class stored as a resource.
	</brief_description>
	<description>
		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. [method Object.set_script] extends an existing object, if that object's class matches one of the script's base classes.
	</description>
	<tutorials>
	</tutorials>
	<demos>
	</demos>
	<methods>
		<method name="can_instance" qualifiers="const">
			<return type="bool">
			</return>
			<description>
				Returns true if the script can be instanced.
			</description>
		</method>
		<method name="get_source_code" qualifiers="const">
			<return type="String">
			</return>
			<description>
				Returns the script source code, or an empty string if source code is not available.
			</description>
		</method>
		<method name="has_script_signal" qualifiers="const">
			<return type="bool">
			</return>
			<argument index="0" name="signal_name" type="String">
			</argument>
			<description>
				Returns true if the script, or a base class, defines a signal with the given name.
			</description>
		</method>
		<method name="has_source_code" qualifiers="const">
			<return type="bool">
			</return>
			<description>
				Returns true if the script contains non-empty source code.
			</description>
		</method>
		<method name="instance_has" qualifiers="const">
			<return type="bool">
			</return>
			<argument index="0" name="base_object" type="Object">
			</argument>
			<description>
				Returns true if 'base_object' is an instance of this script.
			</description>
		</method>
		<method name="is_tool" qualifiers="const">
			<return type="bool">
			</return>
			<description>
				Returns true 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">
			</return>
			<argument index="0" name="keep_state" type="bool" default="false">
			</argument>
			<description>
				Reloads the script's class implementation. Returns an error code.
			</description>
		</method>
		<method name="set_source_code">
			<return type="void">
			</return>
			<argument index="0" name="source" type="String">
			</argument>
			<description>
				Sets the script source code. Does not reload the class implementation.
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>