<?xml version="1.0" encoding="UTF-8" ?>
<class name="ClassDB" inherits="Object" category="Core" version="3.1">
	<brief_description>
		Class information repository.
	</brief_description>
	<description>
		Provides access to metadata stored for every available class.
	</description>
	<tutorials>
	</tutorials>
	<demos>
	</demos>
	<methods>
		<method name="can_instance" qualifiers="const">
			<return type="bool">
			</return>
			<argument index="0" name="class" type="String">
			</argument>
			<description>
				Returns true if you can instance objects from the specified 'class', false in other case.
			</description>
		</method>
		<method name="class_exists" qualifiers="const">
			<return type="bool">
			</return>
			<argument index="0" name="class" type="String">
			</argument>
			<description>
				Returns whether the specified 'class' is available or not.
			</description>
		</method>
		<method name="class_get_category" qualifiers="const">
			<return type="String">
			</return>
			<argument index="0" name="class" type="String">
			</argument>
			<description>
				Returns a category associated with the class for use in documentation and the Asset Library. Debug mode required.
			</description>
		</method>
		<method name="class_get_integer_constant" qualifiers="const">
			<return type="int">
			</return>
			<argument index="0" name="class" type="String">
			</argument>
			<argument index="1" name="name" type="String">
			</argument>
			<description>
				Returns the value of the integer constant 'name' of 'class' or its ancestry. Always returns 0 when the constant could not be found.
			</description>
		</method>
		<method name="class_get_integer_constant_list" qualifiers="const">
			<return type="PoolStringArray">
			</return>
			<argument index="0" name="class" type="String">
			</argument>
			<argument index="1" name="no_inheritance" type="bool" default="false">
			</argument>
			<description>
				Returns an array with the names all the integer constants of 'class' or its ancestry.
			</description>
		</method>
		<method name="class_get_method_list" qualifiers="const">
			<return type="Array">
			</return>
			<argument index="0" name="class" type="String">
			</argument>
			<argument index="1" name="no_inheritance" type="bool" default="false">
			</argument>
			<description>
				Returns an array with all the methods of 'class' or its ancestry if 'no_inheritance' is false. Every element of the array is a [Dictionary] with the following keys: args, default_args, flags, id, name, return: (class_name, hint, hint_string, name, type, usage).
			</description>
		</method>
		<method name="class_get_property" qualifiers="const">
			<return type="Variant">
			</return>
			<argument index="0" name="object" type="Object">
			</argument>
			<argument index="1" name="property" type="String">
			</argument>
			<description>
				Returns the value of 'property' of 'class' or its ancestry.
			</description>
		</method>
		<method name="class_get_property_list" qualifiers="const">
			<return type="Array">
			</return>
			<argument index="0" name="class" type="String">
			</argument>
			<argument index="1" name="no_inheritance" type="bool" default="false">
			</argument>
			<description>
				Returns an array with all the properties of 'class' or its ancestry if 'no_inheritance' is false.
			</description>
		</method>
		<method name="class_get_signal" qualifiers="const">
			<return type="Dictionary">
			</return>
			<argument index="0" name="class" type="String">
			</argument>
			<argument index="1" name="signal" type="String">
			</argument>
			<description>
				Returns the 'signal' data of 'class' or its ancestry. The returned value is a [Dictionary] with the following keys: args, default_args, flags, id, name, return: (class_name, hint, hint_string, name, type, usage).
			</description>
		</method>
		<method name="class_get_signal_list" qualifiers="const">
			<return type="Array">
			</return>
			<argument index="0" name="class" type="String">
			</argument>
			<argument index="1" name="no_inheritance" type="bool" default="false">
			</argument>
			<description>
				Returns an array with all the signals of 'class' or its ancestry if 'no_inheritance' is false. Every element of the array is a [Dictionary] as described in [method class_get_signal].
			</description>
		</method>
		<method name="class_has_integer_constant" qualifiers="const">
			<return type="bool">
			</return>
			<argument index="0" name="class" type="String">
			</argument>
			<argument index="1" name="name" type="String">
			</argument>
			<description>
				Return whether 'class' or its ancestry has an integer constant called 'name' or not.
			</description>
		</method>
		<method name="class_has_method" qualifiers="const">
			<return type="bool">
			</return>
			<argument index="0" name="class" type="String">
			</argument>
			<argument index="1" name="method" type="String">
			</argument>
			<argument index="2" name="no_inheritance" type="bool" default="false">
			</argument>
			<description>
				Return whether 'class' (or its ancestry if 'no_inheritance' is false) has a method called 'method' or not.
			</description>
		</method>
		<method name="class_has_signal" qualifiers="const">
			<return type="bool">
			</return>
			<argument index="0" name="class" type="String">
			</argument>
			<argument index="1" name="signal" type="String">
			</argument>
			<description>
				Return whether 'class' or its ancestry has a signal called 'signal' or not.
			</description>
		</method>
		<method name="class_set_property" qualifiers="const">
			<return type="int" enum="Error">
			</return>
			<argument index="0" name="object" type="Object">
			</argument>
			<argument index="1" name="property" type="String">
			</argument>
			<argument index="2" name="value" type="Variant">
			</argument>
			<description>
				Sets 'property' value of 'class' to 'value'.
			</description>
		</method>
		<method name="get_class_list" qualifiers="const">
			<return type="PoolStringArray">
			</return>
			<description>
				Returns the names of all the classes available.
			</description>
		</method>
		<method name="get_inheriters_from_class" qualifiers="const">
			<return type="PoolStringArray">
			</return>
			<argument index="0" name="class" type="String">
			</argument>
			<description>
				Returns the names of all the classes that directly or indirectly inherit from 'class'.
			</description>
		</method>
		<method name="get_parent_class" qualifiers="const">
			<return type="String">
			</return>
			<argument index="0" name="class" type="String">
			</argument>
			<description>
				Returns the parent class of 'class'.
			</description>
		</method>
		<method name="instance" qualifiers="const">
			<return type="Variant">
			</return>
			<argument index="0" name="class" type="String">
			</argument>
			<description>
				Creates an instance of 'class'.
			</description>
		</method>
		<method name="is_class_enabled" qualifiers="const">
			<return type="bool">
			</return>
			<argument index="0" name="class" type="String">
			</argument>
			<description>
				Returns whether this class is enabled or not.
			</description>
		</method>
		<method name="is_parent_class" qualifiers="const">
			<return type="bool">
			</return>
			<argument index="0" name="class" type="String">
			</argument>
			<argument index="1" name="inherits" type="String">
			</argument>
			<description>
				Returns whether 'inherits' is an ancestor of 'class' or not.
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
