godot/doc/base/classes.xml
Rémi Verschelde 106199dfa7 classref: Add docs for InputEvent* and InputMap
(cherry picked from commit 69c8b583e7)
2016-07-08 23:45:31 +02:00

43990 lines
1.3 MiB
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="UTF-8" ?>
<doc version="2.0.3.stable.custom_build" name="Engine Types">
<class name="@GDScript" category="Core">
<brief_description>
Built-in GDScript functions.
</brief_description>
<description>
This contains the list of built-in gdscript functions. Mostly math functions and other utilities. Everything else is expanded by objects.
</description>
<methods>
<method name="Color8">
<return type="Color">
</return>
<argument index="0" name="r8" type="int">
</argument>
<argument index="1" name="g8" type="int">
</argument>
<argument index="2" name="b8" type="int">
</argument>
<argument index="3" name="a8" type="int">
</argument>
<description>
Make a color from red, green, blue and alpha. Arguments can range from 0 to 255.
</description>
</method>
<method name="abs">
<return type="float">
</return>
<argument index="0" name="s" type="float">
</argument>
<description>
Remove sign (works for integer and float).
</description>
</method>
<method name="acos">
<return type="float">
</return>
<argument index="0" name="s" type="float">
</argument>
<description>
Arc-cosine.
</description>
</method>
<method name="asin">
<return type="float">
</return>
<argument index="0" name="s" type="float">
</argument>
<description>
Arc-sine.
</description>
</method>
<method name="assert">
<return type="Nil">
</return>
<argument index="0" name="condition" type="bool">
</argument>
<description>
Assert that the condition is true. If the condition is false, generates an error.
</description>
</method>
<method name="atan">
<return type="float">
</return>
<argument index="0" name="s" type="float">
</argument>
<description>
Arc-tangent.
</description>
</method>
<method name="atan2">
<return type="float">
</return>
<argument index="0" name="x" type="float">
</argument>
<argument index="1" name="y" type="float">
</argument>
<description>
Arc-tangent that takes a 2D vector as argument, returns the full -pi to +pi range.
</description>
</method>
<method name="bytes2var">
<return type="Variant">
</return>
<argument index="0" name="bytes" type="RawArray">
</argument>
<description>
Decode a byte array back to a value.
</description>
</method>
<method name="ceil">
<return type="float">
</return>
<argument index="0" name="s" type="float">
</argument>
<description>
Ceiling (rounds up to nearest integer).
</description>
</method>
<method name="clamp">
<return type="float">
</return>
<argument index="0" name="val" type="float">
</argument>
<argument index="1" name="min" type="float">
</argument>
<argument index="2" name="max" type="float">
</argument>
<description>
Clamp both values to a range.
</description>
</method>
<method name="convert">
<return type="Object">
</return>
<argument index="0" name="what" type="Variant">
</argument>
<argument index="1" name="type" type="int">
</argument>
<description>
Convert from a type to another in the best way possible. The "type" parameter uses the enum TYPE_* in [@Global Scope].
</description>
</method>
<method name="cos">
<return type="float">
</return>
<argument index="0" name="s" type="float">
</argument>
<description>
Standard cosine function.
</description>
</method>
<method name="cosh">
<return type="float">
</return>
<argument index="0" name="s" type="float">
</argument>
<description>
Hyperbolic cosine.
</description>
</method>
<method name="db2linear">
<return type="float">
</return>
<argument index="0" name="db" type="float">
</argument>
<description>
Convert from decibels to linear energy (audio).
</description>
</method>
<method name="decimals">
<return type="float">
</return>
<argument index="0" name="step" type="float">
</argument>
<description>
Return the amount of decimals in the floating point value.
</description>
</method>
<method name="dectime">
<return type="float">
</return>
<argument index="0" name="value" type="float">
</argument>
<argument index="1" name="amount" type="float">
</argument>
<argument index="2" name="step" type="float">
</argument>
<description>
Decreases time by a specified amount.
</description>
</method>
<method name="deg2rad">
<return type="float">
</return>
<argument index="0" name="deg" type="float">
</argument>
<description>
Convert from degrees to radians.
</description>
</method>
<method name="dict2inst">
<return type="Object">
</return>
<argument index="0" name="dict" type="Dictionary">
</argument>
<description>
Convert a previously converted instances to dictionary back into an instance. Useful for deserializing.
</description>
</method>
<method name="ease">
<return type="float">
</return>
<argument index="0" name="s" type="float">
</argument>
<argument index="1" name="curve" type="float">
</argument>
<description>
Easing function, based on exponent. 0 is constant, 1 is linear, 0 to 1 is ease-in, 1+ is ease out. Negative values are in-out/out in.
</description>
</method>
<method name="exp">
<return type="float">
</return>
<argument index="0" name="s" type="float">
</argument>
<description>
Exponential logarithm.
</description>
</method>
<method name="floor">
<return type="float">
</return>
<argument index="0" name="s" type="float">
</argument>
<description>
Floor (rounds down to nearest integer).
</description>
</method>
<method name="fmod">
<return type="float">
</return>
<argument index="0" name="x" type="float">
</argument>
<argument index="1" name="y" type="float">
</argument>
<description>
Module (remainder of x/y).
</description>
</method>
<method name="fposmod">
<return type="float">
</return>
<argument index="0" name="x" type="float">
</argument>
<argument index="1" name="y" type="float">
</argument>
<description>
Module (remainder of x/y) that wraps equally in positive and negative.
</description>
</method>
<method name="funcref">
<return type="FuncRef">
</return>
<argument index="0" name="instance" type="Object">
</argument>
<argument index="1" name="funcname" type="String">
</argument>
<description>
Return a reference to the specified function.
</description>
</method>
<method name="hash">
<return type="int">
</return>
<argument index="0" name="var:Variant" type="Variant">
</argument>
<description>
Hash the variable passed and return an integer.
</description>
</method>
<method name="inst2dict">
<return type="Dictionary">
</return>
<argument index="0" name="inst" type="Object">
</argument>
<description>
Convert a script class instance to a dictionary (useful for serializing).
</description>
</method>
<method name="instance_from_id">
<return type="Object">
</return>
<argument index="0" name="instance_id" type="int">
</argument>
<description>
Get an object by its ID.
</description>
</method>
<method name="is_inf">
<return type="float">
</return>
<argument index="0" name="s" type="float">
</argument>
<description>
Return true if the float is infinite.
</description>
</method>
<method name="is_nan">
<return type="float">
</return>
<argument index="0" name="s" type="float">
</argument>
<description>
Return true if the float is not a number.
</description>
</method>
<method name="lerp">
<return type="float">
</return>
<argument index="0" name="from" type="float">
</argument>
<argument index="1" name="to" type="float">
</argument>
<argument index="2" name="weight" type="float">
</argument>
<description>
Linear interpolates between two values by a normalized value.
</description>
</method>
<method name="linear2db">
<return type="float">
</return>
<argument index="0" name="nrg" type="float">
</argument>
<description>
Convert from linear energy to decibels (audio).
</description>
</method>
<method name="load">
<return type="Resource">
</return>
<argument index="0" name="path" type="String">
</argument>
<description>
Load a resource from the filesystem, pass a valid path as argument.
</description>
</method>
<method name="log">
<return type="float">
</return>
<argument index="0" name="s" type="float">
</argument>
<description>
Natural logarithm.
</description>
</method>
<method name="max">
<return type="float">
</return>
<argument index="0" name="a" type="float">
</argument>
<argument index="1" name="b" type="float">
</argument>
<description>
Return the maximum of two values.
</description>
</method>
<method name="min">
<return type="float">
</return>
<argument index="0" name="a" type="float">
</argument>
<argument index="1" name="b" type="float">
</argument>
<description>
Return the minimum of two values.
</description>
</method>
<method name="nearest_po2">
<return type="int">
</return>
<argument index="0" name="val" type="int">
</argument>
<description>
Return the nearest larger power of 2 for an integer.
</description>
</method>
<method name="pow">
<return type="float">
</return>
<argument index="0" name="x" type="float">
</argument>
<argument index="1" name="y" type="float">
</argument>
<description>
Power function, x elevate to y.
</description>
</method>
<method name="preload">
<return type="Resource">
</return>
<argument index="0" name="path" type="String">
</argument>
<description>
Preload a resource from the filesystem. The resource is loaded during script parsing.
</description>
</method>
<method name="print">
<return type="Nil">
</return>
<argument index="0" name="what" type="Variant">
</argument>
<argument index="1" name="..." type="Variant">
</argument>
<description>
Print one or more arguments to strings in the best way possible to a console line.
</description>
</method>
<method name="print_stack">
<return type="Nil">
</return>
<description>
Print a stack track at code location, only works when running with debugger turned on.
</description>
</method>
<method name="printerr">
<return type="Nil">
</return>
<argument index="0" name="what" type="Variant">
</argument>
<argument index="1" name="..." type="Variant">
</argument>
<description>
Print one or more arguments to strings in the best way possible to standard error line.
</description>
</method>
<method name="printraw">
<return type="Nil">
</return>
<argument index="0" name="what" type="Variant">
</argument>
<argument index="1" name="..." type="Variant">
</argument>
<description>
Print one or more arguments to strings in the best way possible to console. No newline is added at the end.
</description>
</method>
<method name="prints">
<return type="Nil">
</return>
<argument index="0" name="what" type="Variant">
</argument>
<argument index="1" name="..." type="Variant">
</argument>
<description>
Print one or more arguments to the console with a space between each argument.
</description>
</method>
<method name="printt">
<return type="Nil">
</return>
<argument index="0" name="what" type="Variant">
</argument>
<argument index="1" name="..." type="Variant">
</argument>
<description>
Print one or more arguments to the console with a tab between each argument.
</description>
</method>
<method name="rad2deg">
<return type="float">
</return>
<argument index="0" name="rad" type="float">
</argument>
<description>
Convert from radians to degrees.
</description>
</method>
<method name="rand_range">
<return type="float">
</return>
<argument index="0" name="from" type="float">
</argument>
<argument index="1" name="to" type="float">
</argument>
<description>
Random range, any floating point value between 'from' and 'to'
</description>
</method>
<method name="rand_seed">
<return type="Array">
</return>
<argument index="0" name="seed" type="float">
</argument>
<description>
Random from seed, pass a seed and an array with both number and new seed is returned.
</description>
</method>
<method name="randf">
<return type="float">
</return>
<description>
Random value (0 to 1 float).
</description>
</method>
<method name="randi">
<return type="int">
</return>
<description>
Random 32 bits value (integer). To obtain a value from 0 to N, you can use remainder, like (for random from 0 to 19): randi() % 20.
</description>
</method>
<method name="randomize">
<return type="Nil">
</return>
<description>
Reset the seed of the random number generator with a new, different one.
</description>
</method>
<method name="range">
<return type="Array">
</return>
<argument index="0" name="..." type="Variant">
</argument>
<description>
Return an array with the given range. Range can be 1 argument N (0 to N-1), two arguments (initial, final-1) or three arguments (initial, final-1, increment).
</description>
</method>
<method name="round">
<return type="float">
</return>
<argument index="0" name="s" type="float">
</argument>
<description>
Round to nearest integer.
</description>
</method>
<method name="seed">
<return type="Nil">
</return>
<argument index="0" name="seed" type="float">
</argument>
<description>
Set seed for the random number generator.
</description>
</method>
<method name="sign">
<return type="float">
</return>
<argument index="0" name="s" type="float">
</argument>
<description>
Return sign (-1 or +1).
</description>
</method>
<method name="sin">
<return type="float">
</return>
<argument index="0" name="s" type="float">
</argument>
<description>
Standard sine function.
</description>
</method>
<method name="sinh">
<return type="float">
</return>
<argument index="0" name="s" type="float">
</argument>
<description>
Hyperbolic sine.
</description>
</method>
<method name="sqrt">
<return type="float">
</return>
<argument index="0" name="s" type="float">
</argument>
<description>
Square root.
</description>
</method>
<method name="stepify">
<return type="float">
</return>
<argument index="0" name="s" type="float">
</argument>
<argument index="1" name="step" type="float">
</argument>
<description>
Snap float value to a given step.
</description>
</method>
<method name="str">
<return type="String">
</return>
<argument index="0" name="what" type="Variant">
</argument>
<argument index="1" name="..." type="Variant">
</argument>
<description>
Convert one or more arguments to strings in the best way possible.
</description>
</method>
<method name="str2var">
<return type="Variant">
</return>
<argument index="0" name="string" type="String">
</argument>
<description>
Convert a formatted string that was returned by [method var2str] to the original value.
</description>
</method>
<method name="tan">
<return type="float">
</return>
<argument index="0" name="s" type="float">
</argument>
<description>
Standard tangent function.
</description>
</method>
<method name="tanh">
<return type="float">
</return>
<argument index="0" name="s" type="float">
</argument>
<description>
Hyperbolic tangent.
</description>
</method>
<method name="typeof">
<return type="int">
</return>
<argument index="0" name="what" type="Variant">
</argument>
<description>
Return the internal type of the given Variant object, using the TYPE_* enum in [@Global Scope].
</description>
</method>
<method name="var2bytes">
<return type="RawArray">
</return>
<argument index="0" name="var" type="Variant">
</argument>
<description>
Encode a variable value to a byte array.
</description>
</method>
<method name="var2str">
<return type="String">
</return>
<argument index="0" name="var" type="Variant">
</argument>
<description>
Convert a value to a formatted string that can later be parsed using [method str2var].
</description>
</method>
<method name="weakref">
<return type="WeakRef">
</return>
<argument index="0" name="obj" type="Object">
</argument>
<description>
Return a weak reference to an object.
</description>
</method>
<method name="yield">
<return type="Nil">
</return>
<argument index="0" name="object" type="Object">
</argument>
<argument index="1" name="signal" type="String">
</argument>
<description>
Stop the function execution and return the current state. Call resume on the state to resume execution. This makes the state invalid.
Returns anything that was passed to the resume function call.
If passed an object and a signal, the execution is resumed when the object's signal is emmited.
</description>
</method>
</methods>
<constants>
<constant name="PI" value="3.141593">
Constant that represents how many times the diameter of a circumference fits around it's perimeter.
</constant>
</constants>
</class>
<class name="@Global Scope" category="Core">
<brief_description>
Global scope constants and variables.
</brief_description>
<description>
Global scope constants and variables. This is all that resides in the globals, constants regarding error codes, scancodes, property hints, etc. It's not much.
Singletons are also documented here, since they can be accessed from anywhere.
</description>
<methods>
</methods>
<members>
<member name="AS" type="AudioServer">
[AudioServer] singleton
</member>
<member name="AudioServer" type="AudioServer">
[AudioServer] singleton
</member>
<member name="Geometry" type="Geometry">
[Geometry] singleton
</member>
<member name="Globals" type="Globals">
[Globals] singleton
</member>
<member name="IP" type="IP">
[IP] singleton
</member>
<member name="Input" type="Input">
[Input] singleton
</member>
<member name="InputMap" type="InputMap">
[InputMap] singleton
</member>
<member name="Marshalls" type="Reference">
[Marshalls] singleton
</member>
<member name="OS" type="OS">
[OS] singleton
</member>
<member name="PS" type="PhysicsServer">
[PhysicsServer] singleton
</member>
<member name="PS2D" type="Physics2DServer">
[Physics2DServer] singleton
</member>
<member name="PathRemap" type="PathRemap">
[PathRemap] singleton
</member>
<member name="Performance" type="Performance">
[Performance] singleton
</member>
<member name="Physics2DServer" type="Physics2DServer">
[Physics2DServer] singleton
</member>
<member name="PhysicsServer" type="PhysicsServer">
[PhysicsServer] singleton
</member>
<member name="ResourceLoader" type="ResourceLoader">
[ResourceLoader] singleton
</member>
<member name="ResourceSaver" type="ResourceSaver">
[ResourceSaver] singleton
</member>
<member name="SS" type="SpatialSoundServer">
[SpatialSoundServer] singleton
</member>
<member name="SS2D" type="SpatialSound2DServer">
[SpatialSound2DServer] singleton
</member>
<member name="SpatialSound2DServer" type="SpatialSound2DServer">
[SpatialSound2DServer] singleton
</member>
<member name="SpatialSoundServer" type="SpatialSoundServer">
[SpatialSoundServer] singleton
</member>
<member name="TS" type="TranslationServer">
[TranslationServer] singleton
</member>
<member name="TranslationServer" type="TranslationServer">
[TranslationServer] singleton
</member>
<member name="VS" type="VisualServer">
[VisualServer] singleton
</member>
<member name="VisualServer" type="VisualServer">
[VisualServer] singleton
</member>
</members>
<constants>
<constant name="MARGIN_LEFT" value="0">
Left margin, used usually for [Control] or [StyleBox] derived classes.
</constant>
<constant name="MARGIN_TOP" value="1">
Top margin, used usually for [Control] or [StyleBox] derived classes.
</constant>
<constant name="MARGIN_RIGHT" value="2">
Right margin, used usually for [Control] or [StyleBox] derived classes.
</constant>
<constant name="MARGIN_BOTTOM" value="3">
Bottom margin, used usually for [Control] or [StyleBox] derived classes.
</constant>
<constant name="VERTICAL" value="1">
General vertical alignment, used usually for [Separator], [ScrollBar], [Slider], etc.
</constant>
<constant name="HORIZONTAL" value="0">
General horizontal alignment, used usually for [Separator], [ScrollBar], [Slider], etc.
</constant>
<constant name="HALIGN_LEFT" value="0">
Horizontal left alignment, usually for text-derived classes.
</constant>
<constant name="HALIGN_CENTER" value="1">
Horizontal center alignment, usually for text-derived classes.
</constant>
<constant name="HALIGN_RIGHT" value="2">
Horizontal right alignment, usually for text-derived classes.
</constant>
<constant name="VALIGN_TOP" value="0">
Vertical top alignment, usually for text-derived classes.
</constant>
<constant name="VALIGN_CENTER" value="1">
Vertical center alignment, usually for text-derived classes.
</constant>
<constant name="VALIGN_BOTTOM" value="2">
Vertical bottom alignment, usually for text-derived classes.
</constant>
<constant name="SPKEY" value="16777216">
Scancodes with this bit applied are non printable.
</constant>
<constant name="KEY_ESCAPE" value="16777217">
Escape Key
</constant>
<constant name="KEY_TAB" value="16777218">
Tab Key
</constant>
<constant name="KEY_BACKTAB" value="16777219">
Shift-Tab Key
</constant>
<constant name="KEY_BACKSPACE" value="16777220">
Backspace Key
</constant>
<constant name="KEY_RETURN" value="16777221">
Return Key (On Main Keyboard)
</constant>
<constant name="KEY_ENTER" value="16777222">
Enter Key (On Numpad)
</constant>
<constant name="KEY_INSERT" value="16777223">
Insert Key
</constant>
<constant name="KEY_DELETE" value="16777224">
Delete Key
</constant>
<constant name="KEY_PAUSE" value="16777225">
Pause Key
</constant>
<constant name="KEY_PRINT" value="16777226">
Printscreen Key
</constant>
<constant name="KEY_SYSREQ" value="16777227">
</constant>
<constant name="KEY_CLEAR" value="16777228">
</constant>
<constant name="KEY_HOME" value="16777229">
Home Key
</constant>
<constant name="KEY_END" value="16777230">
End Key
</constant>
<constant name="KEY_LEFT" value="16777231">
Left Arrow Key
</constant>
<constant name="KEY_UP" value="16777232">
Up Arrow Key
</constant>
<constant name="KEY_RIGHT" value="16777233">
Right Arrow Key
</constant>
<constant name="KEY_DOWN" value="16777234">
Down Arrow Key
</constant>
<constant name="KEY_PAGEUP" value="16777235">
Pageup Key
</constant>
<constant name="KEY_PAGEDOWN" value="16777236">
Pagedown Key
</constant>
<constant name="KEY_SHIFT" value="16777237">
Shift Key
</constant>
<constant name="KEY_CONTROL" value="16777238">
Control Key
</constant>
<constant name="KEY_META" value="16777239">
</constant>
<constant name="KEY_ALT" value="16777240">
Alt Key
</constant>
<constant name="KEY_CAPSLOCK" value="16777241">
Capslock Key
</constant>
<constant name="KEY_NUMLOCK" value="16777242">
Numlock Key
</constant>
<constant name="KEY_SCROLLLOCK" value="16777243">
Scrolllock Key
</constant>
<constant name="KEY_F1" value="16777244">
F1 Key
</constant>
<constant name="KEY_F2" value="16777245">
F2 Key
</constant>
<constant name="KEY_F3" value="16777246">
F3 Key
</constant>
<constant name="KEY_F4" value="16777247">
F4 Key
</constant>
<constant name="KEY_F5" value="16777248">
F5 Key
</constant>
<constant name="KEY_F6" value="16777249">
F6 Key
</constant>
<constant name="KEY_F7" value="16777250">
F7 Key
</constant>
<constant name="KEY_F8" value="16777251">
F8 Key
</constant>
<constant name="KEY_F9" value="16777252">
F9 Key
</constant>
<constant name="KEY_F10" value="16777253">
F10 Key
</constant>
<constant name="KEY_F11" value="16777254">
F11 Key
</constant>
<constant name="KEY_F12" value="16777255">
F12 Key
</constant>
<constant name="KEY_F13" value="16777256">
F13 Key
</constant>
<constant name="KEY_F14" value="16777257">
F14 Key
</constant>
<constant name="KEY_F15" value="16777258">
F15 Key
</constant>
<constant name="KEY_F16" value="16777259">
F16 Key
</constant>
<constant name="KEY_KP_ENTER" value="16777344">
Enter Key on Numpad
</constant>
<constant name="KEY_KP_MULTIPLY" value="16777345">
Multiply Key on Numpad
</constant>
<constant name="KEY_KP_DIVIDE" value="16777346">
Divide Key on Numpad
</constant>
<constant name="KEY_KP_SUBTRACT" value="16777347">
Subtract Key on Numpad
</constant>
<constant name="KEY_KP_PERIOD" value="16777348">
Period Key on Numpad
</constant>
<constant name="KEY_KP_ADD" value="16777349">
Add Key on Numpad
</constant>
<constant name="KEY_KP_0" value="16777350">
Number 0 on Numpad
</constant>
<constant name="KEY_KP_1" value="16777351">
Number 1 on Numpad
</constant>
<constant name="KEY_KP_2" value="16777352">
Number 2 on Numpad
</constant>
<constant name="KEY_KP_3" value="16777353">
Number 3 on Numpad
</constant>
<constant name="KEY_KP_4" value="16777354">
Number 4 on Numpad
</constant>
<constant name="KEY_KP_5" value="16777355">
Number 5 on Numpad
</constant>
<constant name="KEY_KP_6" value="16777356">
Number 6 on Numpad
</constant>
<constant name="KEY_KP_7" value="16777357">
Number 7 on Numpad
</constant>
<constant name="KEY_KP_8" value="16777358">
Number 8 on Numpad
</constant>
<constant name="KEY_KP_9" value="16777359">
Number 9 on Numpad
</constant>
<constant name="KEY_SUPER_L" value="16777260">
Super Left key (windows key)
</constant>
<constant name="KEY_SUPER_R" value="16777261">
Super Left key (windows key)
</constant>
<constant name="KEY_MENU" value="16777262">
Context menu key
</constant>
<constant name="KEY_HYPER_L" value="16777263">
</constant>
<constant name="KEY_HYPER_R" value="16777264">
</constant>
<constant name="KEY_HELP" value="16777265">
Help key
</constant>
<constant name="KEY_DIRECTION_L" value="16777266">
</constant>
<constant name="KEY_DIRECTION_R" value="16777267">
</constant>
<constant name="KEY_BACK" value="16777280">
Back key
</constant>
<constant name="KEY_FORWARD" value="16777281">
Forward key
</constant>
<constant name="KEY_STOP" value="16777282">
Stop key
</constant>
<constant name="KEY_REFRESH" value="16777283">
Refresh key
</constant>
<constant name="KEY_VOLUMEDOWN" value="16777284">
Volume down key
</constant>
<constant name="KEY_VOLUMEMUTE" value="16777285">
Mute volume key
</constant>
<constant name="KEY_VOLUMEUP" value="16777286">
Volume up key
</constant>
<constant name="KEY_BASSBOOST" value="16777287">
</constant>
<constant name="KEY_BASSUP" value="16777288">
</constant>
<constant name="KEY_BASSDOWN" value="16777289">
</constant>
<constant name="KEY_TREBLEUP" value="16777290">
</constant>
<constant name="KEY_TREBLEDOWN" value="16777291">
</constant>
<constant name="KEY_MEDIAPLAY" value="16777292">
Media play key
</constant>
<constant name="KEY_MEDIASTOP" value="16777293">
Media stop key
</constant>
<constant name="KEY_MEDIAPREVIOUS" value="16777294">
Previous song key
</constant>
<constant name="KEY_MEDIANEXT" value="16777295">
Next song key
</constant>
<constant name="KEY_MEDIARECORD" value="16777296">
Media record key
</constant>
<constant name="KEY_HOMEPAGE" value="16777297">
Home page key
</constant>
<constant name="KEY_FAVORITES" value="16777298">
Favorites key
</constant>
<constant name="KEY_SEARCH" value="16777299">
Search key
</constant>
<constant name="KEY_STANDBY" value="16777300">
</constant>
<constant name="KEY_OPENURL" value="16777301">
</constant>
<constant name="KEY_LAUNCHMAIL" value="16777302">
</constant>
<constant name="KEY_LAUNCHMEDIA" value="16777303">
</constant>
<constant name="KEY_LAUNCH0" value="16777304">
</constant>
<constant name="KEY_LAUNCH1" value="16777305">
</constant>
<constant name="KEY_LAUNCH2" value="16777306">
</constant>
<constant name="KEY_LAUNCH3" value="16777307">
</constant>
<constant name="KEY_LAUNCH4" value="16777308">
</constant>
<constant name="KEY_LAUNCH5" value="16777309">
</constant>
<constant name="KEY_LAUNCH6" value="16777310">
</constant>
<constant name="KEY_LAUNCH7" value="16777311">
</constant>
<constant name="KEY_LAUNCH8" value="16777312">
</constant>
<constant name="KEY_LAUNCH9" value="16777313">
</constant>
<constant name="KEY_LAUNCHA" value="16777314">
</constant>
<constant name="KEY_LAUNCHB" value="16777315">
</constant>
<constant name="KEY_LAUNCHC" value="16777316">
</constant>
<constant name="KEY_LAUNCHD" value="16777317">
</constant>
<constant name="KEY_LAUNCHE" value="16777318">
</constant>
<constant name="KEY_LAUNCHF" value="16777319">
</constant>
<constant name="KEY_UNKNOWN" value="33554431">
</constant>
<constant name="KEY_SPACE" value="32">
Space Key
</constant>
<constant name="KEY_EXCLAM" value="33">
! key
</constant>
<constant name="KEY_QUOTEDBL" value="34">
" key
</constant>
<constant name="KEY_NUMBERSIGN" value="35">
# key
</constant>
<constant name="KEY_DOLLAR" value="36">
$ key
</constant>
<constant name="KEY_PERCENT" value="37">
% key
</constant>
<constant name="KEY_AMPERSAND" value="38">
&amp; key
</constant>
<constant name="KEY_APOSTROPHE" value="39">
' key
</constant>
<constant name="KEY_PARENLEFT" value="40">
( key
</constant>
<constant name="KEY_PARENRIGHT" value="41">
) key
</constant>
<constant name="KEY_ASTERISK" value="42">
* key
</constant>
<constant name="KEY_PLUS" value="43">
+ key
</constant>
<constant name="KEY_COMMA" value="44">
, key
</constant>
<constant name="KEY_MINUS" value="45">
- key
</constant>
<constant name="KEY_PERIOD" value="46">
. key
</constant>
<constant name="KEY_SLASH" value="47">
/ key
</constant>
<constant name="KEY_0" value="48">
Number 0
</constant>
<constant name="KEY_1" value="49">
Number 1
</constant>
<constant name="KEY_2" value="50">
Number 2
</constant>
<constant name="KEY_3" value="51">
Number 3
</constant>
<constant name="KEY_4" value="52">
Number 4
</constant>
<constant name="KEY_5" value="53">
Number 5
</constant>
<constant name="KEY_6" value="54">
Number 6
</constant>
<constant name="KEY_7" value="55">
Number 7
</constant>
<constant name="KEY_8" value="56">
Number 8
</constant>
<constant name="KEY_9" value="57">
Number 9
</constant>
<constant name="KEY_COLON" value="58">
: key
</constant>
<constant name="KEY_SEMICOLON" value="59">
; key
</constant>
<constant name="KEY_LESS" value="60">
Lower than key
</constant>
<constant name="KEY_EQUAL" value="61">
= key
</constant>
<constant name="KEY_GREATER" value="62">
Greater than key
</constant>
<constant name="KEY_QUESTION" value="63">
? key
</constant>
<constant name="KEY_AT" value="64">
@ key
</constant>
<constant name="KEY_A" value="65">
A Key
</constant>
<constant name="KEY_B" value="66">
B Key
</constant>
<constant name="KEY_C" value="67">
C Key
</constant>
<constant name="KEY_D" value="68">
D Key
</constant>
<constant name="KEY_E" value="69">
E Key
</constant>
<constant name="KEY_F" value="70">
F Key
</constant>
<constant name="KEY_G" value="71">
G Key
</constant>
<constant name="KEY_H" value="72">
H Key
</constant>
<constant name="KEY_I" value="73">
I Key
</constant>
<constant name="KEY_J" value="74">
J Key
</constant>
<constant name="KEY_K" value="75">
K Key
</constant>
<constant name="KEY_L" value="76">
L Key
</constant>
<constant name="KEY_M" value="77">
M Key
</constant>
<constant name="KEY_N" value="78">
N Key
</constant>
<constant name="KEY_O" value="79">
O Key
</constant>
<constant name="KEY_P" value="80">
P Key
</constant>
<constant name="KEY_Q" value="81">
Q Key
</constant>
<constant name="KEY_R" value="82">
R Key
</constant>
<constant name="KEY_S" value="83">
S Key
</constant>
<constant name="KEY_T" value="84">
T Key
</constant>
<constant name="KEY_U" value="85">
U Key
</constant>
<constant name="KEY_V" value="86">
V Key
</constant>
<constant name="KEY_W" value="87">
W Key
</constant>
<constant name="KEY_X" value="88">
X Key
</constant>
<constant name="KEY_Y" value="89">
Y Key
</constant>
<constant name="KEY_Z" value="90">
Z Key
</constant>
<constant name="KEY_BRACKETLEFT" value="91">
[ key
</constant>
<constant name="KEY_BACKSLASH" value="92">
\ key
</constant>
<constant name="KEY_BRACKETRIGHT" value="93">
] key
</constant>
<constant name="KEY_ASCIICIRCUM" value="94">
^ key
</constant>
<constant name="KEY_UNDERSCORE" value="95">
_ key
</constant>
<constant name="KEY_QUOTELEFT" value="96">
</constant>
<constant name="KEY_BRACELEFT" value="123">
{ key
</constant>
<constant name="KEY_BAR" value="124">
| key
</constant>
<constant name="KEY_BRACERIGHT" value="125">
} key
</constant>
<constant name="KEY_ASCIITILDE" value="126">
~ key
</constant>
<constant name="KEY_NOBREAKSPACE" value="160">
</constant>
<constant name="KEY_EXCLAMDOWN" value="161">
</constant>
<constant name="KEY_CENT" value="162">
¢ key
</constant>
<constant name="KEY_STERLING" value="163">
</constant>
<constant name="KEY_CURRENCY" value="164">
</constant>
<constant name="KEY_YEN" value="165">
</constant>
<constant name="KEY_BROKENBAR" value="166">
¦ key
</constant>
<constant name="KEY_SECTION" value="167">
§ key
</constant>
<constant name="KEY_DIAERESIS" value="168">
¨ key
</constant>
<constant name="KEY_COPYRIGHT" value="169">
© key
</constant>
<constant name="KEY_ORDFEMININE" value="170">
</constant>
<constant name="KEY_GUILLEMOTLEFT" value="171">
« key
</constant>
<constant name="KEY_NOTSIGN" value="172">
» key
</constant>
<constant name="KEY_HYPHEN" value="173">
key
</constant>
<constant name="KEY_REGISTERED" value="174">
® key
</constant>
<constant name="KEY_MACRON" value="175">
</constant>
<constant name="KEY_DEGREE" value="176">
° key
</constant>
<constant name="KEY_PLUSMINUS" value="177">
± key
</constant>
<constant name="KEY_TWOSUPERIOR" value="178">
² key
</constant>
<constant name="KEY_THREESUPERIOR" value="179">
³ key
</constant>
<constant name="KEY_ACUTE" value="180">
´ key
</constant>
<constant name="KEY_MU" value="181">
µ key
</constant>
<constant name="KEY_PARAGRAPH" value="182">
</constant>
<constant name="KEY_PERIODCENTERED" value="183">
· key
</constant>
<constant name="KEY_CEDILLA" value="184">
¬ key
</constant>
<constant name="KEY_ONESUPERIOR" value="185">
</constant>
<constant name="KEY_MASCULINE" value="186">
</constant>
<constant name="KEY_GUILLEMOTRIGHT" value="187">
</constant>
<constant name="KEY_ONEQUARTER" value="188">
</constant>
<constant name="KEY_ONEHALF" value="189">
½ key
</constant>
<constant name="KEY_THREEQUARTERS" value="190">
</constant>
<constant name="KEY_QUESTIONDOWN" value="191">
</constant>
<constant name="KEY_AGRAVE" value="192">
</constant>
<constant name="KEY_AACUTE" value="193">
</constant>
<constant name="KEY_ACIRCUMFLEX" value="194">
</constant>
<constant name="KEY_ATILDE" value="195">
</constant>
<constant name="KEY_ADIAERESIS" value="196">
</constant>
<constant name="KEY_ARING" value="197">
</constant>
<constant name="KEY_AE" value="198">
</constant>
<constant name="KEY_CCEDILLA" value="199">
</constant>
<constant name="KEY_EGRAVE" value="200">
</constant>
<constant name="KEY_EACUTE" value="201">
</constant>
<constant name="KEY_ECIRCUMFLEX" value="202">
</constant>
<constant name="KEY_EDIAERESIS" value="203">
</constant>
<constant name="KEY_IGRAVE" value="204">
</constant>
<constant name="KEY_IACUTE" value="205">
</constant>
<constant name="KEY_ICIRCUMFLEX" value="206">
</constant>
<constant name="KEY_IDIAERESIS" value="207">
</constant>
<constant name="KEY_ETH" value="208">
</constant>
<constant name="KEY_NTILDE" value="209">
</constant>
<constant name="KEY_OGRAVE" value="210">
</constant>
<constant name="KEY_OACUTE" value="211">
</constant>
<constant name="KEY_OCIRCUMFLEX" value="212">
</constant>
<constant name="KEY_OTILDE" value="213">
</constant>
<constant name="KEY_ODIAERESIS" value="214">
</constant>
<constant name="KEY_MULTIPLY" value="215">
</constant>
<constant name="KEY_OOBLIQUE" value="216">
</constant>
<constant name="KEY_UGRAVE" value="217">
</constant>
<constant name="KEY_UACUTE" value="218">
</constant>
<constant name="KEY_UCIRCUMFLEX" value="219">
</constant>
<constant name="KEY_UDIAERESIS" value="220">
</constant>
<constant name="KEY_YACUTE" value="221">
</constant>
<constant name="KEY_THORN" value="222">
</constant>
<constant name="KEY_SSHARP" value="223">
</constant>
<constant name="KEY_DIVISION" value="247">
</constant>
<constant name="KEY_YDIAERESIS" value="255">
</constant>
<constant name="KEY_CODE_MASK" value="33554431">
</constant>
<constant name="KEY_MODIFIER_MASK" value="-16777216">
</constant>
<constant name="KEY_MASK_SHIFT" value="33554432">
</constant>
<constant name="KEY_MASK_ALT" value="67108864">
</constant>
<constant name="KEY_MASK_META" value="134217728">
</constant>
<constant name="KEY_MASK_CTRL" value="268435456">
</constant>
<constant name="KEY_MASK_CMD" value="268435456">
</constant>
<constant name="KEY_MASK_KPAD" value="536870912">
</constant>
<constant name="KEY_MASK_GROUP_SWITCH" value="1073741824">
</constant>
<constant name="BUTTON_LEFT" value="1">
Left Mouse Button
</constant>
<constant name="BUTTON_RIGHT" value="2">
Right Mouse Button
</constant>
<constant name="BUTTON_MIDDLE" value="3">
Middle Mouse Button
</constant>
<constant name="BUTTON_WHEEL_UP" value="4">
Mouse wheel up
</constant>
<constant name="BUTTON_WHEEL_DOWN" value="5">
Mouse wheel down
</constant>
<constant name="BUTTON_WHEEL_LEFT" value="6">
Mouse wheel left button
</constant>
<constant name="BUTTON_WHEEL_RIGHT" value="7">
Mouse wheel right button
</constant>
<constant name="BUTTON_MASK_LEFT" value="1">
</constant>
<constant name="BUTTON_MASK_RIGHT" value="2">
</constant>
<constant name="BUTTON_MASK_MIDDLE" value="4">
</constant>
<constant name="JOY_BUTTON_0" value="0">
Joystick Button 0
</constant>
<constant name="JOY_BUTTON_1" value="1">
Joystick Button 1
</constant>
<constant name="JOY_BUTTON_2" value="2">
Joystick Button 2
</constant>
<constant name="JOY_BUTTON_3" value="3">
Joystick Button 3
</constant>
<constant name="JOY_BUTTON_4" value="4">
Joystick Button 4
</constant>
<constant name="JOY_BUTTON_5" value="5">
Joystick Button 5
</constant>
<constant name="JOY_BUTTON_6" value="6">
Joystick Button 6
</constant>
<constant name="JOY_BUTTON_7" value="7">
Joystick Button 7
</constant>
<constant name="JOY_BUTTON_8" value="8">
Joystick Button 8
</constant>
<constant name="JOY_BUTTON_9" value="9">
Joystick Button 9
</constant>
<constant name="JOY_BUTTON_10" value="10">
Joystick Button 10
</constant>
<constant name="JOY_BUTTON_11" value="11">
Joystick Button 11
</constant>
<constant name="JOY_BUTTON_12" value="12">
Joystick Button 12
</constant>
<constant name="JOY_BUTTON_13" value="13">
Joystick Button 13
</constant>
<constant name="JOY_BUTTON_14" value="14">
Joystick Button 14
</constant>
<constant name="JOY_BUTTON_15" value="15">
Joystick Button 15
</constant>
<constant name="JOY_BUTTON_MAX" value="16">
Joystick Button 16
</constant>
<constant name="JOY_SNES_A" value="1">
Super Nintendo Entertaiment System controller A button
</constant>
<constant name="JOY_SNES_B" value="0">
Super Nintendo Entertaiment System controller B button
</constant>
<constant name="JOY_SNES_X" value="3">
Super Nintendo Entertaiment System controller X button
</constant>
<constant name="JOY_SNES_Y" value="2">
Super Nintendo Entertaiment System controller Y button
</constant>
<constant name="JOY_SONY_CIRCLE" value="1">
DUALSHOCK circle button
</constant>
<constant name="JOY_SONY_X" value="0">
DUALSHOCK X button
</constant>
<constant name="JOY_SONY_SQUARE" value="2">
DUALSHOCK square button
</constant>
<constant name="JOY_SONY_TRIANGLE" value="3">
DUALSHOCK triangle button
</constant>
<constant name="JOY_SEGA_B" value="1">
SEGA controller B button
</constant>
<constant name="JOY_SEGA_A" value="0">
SEGA controller A button
</constant>
<constant name="JOY_SEGA_X" value="2">
SEGA controller X button
</constant>
<constant name="JOY_SEGA_Y" value="3">
SEGA controller Y button
</constant>
<constant name="JOY_XBOX_B" value="1">
XBOX controller B button
</constant>
<constant name="JOY_XBOX_A" value="0">
XBOX controller A button
</constant>
<constant name="JOY_XBOX_X" value="2">
XBOX controller X button
</constant>
<constant name="JOY_XBOX_Y" value="3">
XBOX controller Y button
</constant>
<constant name="JOY_DS_A" value="1">
</constant>
<constant name="JOY_DS_B" value="0">
</constant>
<constant name="JOY_DS_X" value="3">
</constant>
<constant name="JOY_DS_Y" value="2">
</constant>
<constant name="JOY_SELECT" value="10">
Joystick Button Select
</constant>
<constant name="JOY_START" value="11">
Joystick Button Start
</constant>
<constant name="JOY_DPAD_UP" value="12">
Joystick DPad Up
</constant>
<constant name="JOY_DPAD_DOWN" value="13">
Joystick DPad Down
</constant>
<constant name="JOY_DPAD_LEFT" value="14">
Joystick DPad Left
</constant>
<constant name="JOY_DPAD_RIGHT" value="15">
Joystick DPad Right
</constant>
<constant name="JOY_L" value="4">
Joystick Left Shoulder Button
</constant>
<constant name="JOY_L2" value="6">
Joystick Left Trigger
</constant>
<constant name="JOY_L3" value="8">
Joystick Left Stick Click
</constant>
<constant name="JOY_R" value="5">
Joystick Right Shoulder Button
</constant>
<constant name="JOY_R2" value="7">
Joystick Right Trigger
</constant>
<constant name="JOY_R3" value="9">
Joystick Right Stick Click
</constant>
<constant name="JOY_AXIS_0" value="0">
Joystick Left Stick Horizontal Axis
</constant>
<constant name="JOY_AXIS_1" value="1">
Joystick Left Stick Vertical Axis
</constant>
<constant name="JOY_AXIS_2" value="2">
Joystick Right Stick Horizontal Axis
</constant>
<constant name="JOY_AXIS_3" value="3">
Joystick Right Stick Vertical Axis
</constant>
<constant name="JOY_AXIS_4" value="4">
</constant>
<constant name="JOY_AXIS_5" value="5">
</constant>
<constant name="JOY_AXIS_6" value="6">
Joystick Left Trigger Analog Axis
</constant>
<constant name="JOY_AXIS_7" value="7">
Joystick Right Trigger Analog Axis
</constant>
<constant name="JOY_AXIS_MAX" value="8">
</constant>
<constant name="JOY_ANALOG_0_X" value="0">
Joystick Left Stick Horizontal Axis
</constant>
<constant name="JOY_ANALOG_0_Y" value="1">
Joystick Left Stick Vertical Axis
</constant>
<constant name="JOY_ANALOG_1_X" value="2">
Joystick Right Stick Horizontal Axis
</constant>
<constant name="JOY_ANALOG_1_Y" value="3">
Joystick Right Stick Vertical Axis
</constant>
<constant name="JOY_ANALOG_2_X" value="4">
</constant>
<constant name="JOY_ANALOG_2_Y" value="5">
</constant>
<constant name="JOY_ANALOG_L2" value="6">
</constant>
<constant name="JOY_ANALOG_R2" value="7">
</constant>
<constant name="OK" value="0">
Functions that return Error return OK when everything went ok. Most functions don't return error anyway and/or just print errors to stdout.
</constant>
<constant name="FAILED" value="1">
Generic fail return error.
</constant>
<constant name="ERR_UNAVAILABLE" value="2">
</constant>
<constant name="ERR_UNCONFIGURED" value="3">
</constant>
<constant name="ERR_UNAUTHORIZED" value="4">
</constant>
<constant name="ERR_PARAMETER_RANGE_ERROR" value="5">
</constant>
<constant name="ERR_OUT_OF_MEMORY" value="6">
</constant>
<constant name="ERR_FILE_NOT_FOUND" value="7">
</constant>
<constant name="ERR_FILE_BAD_DRIVE" value="8">
</constant>
<constant name="ERR_FILE_BAD_PATH" value="9">
</constant>
<constant name="ERR_FILE_NO_PERMISSION" value="10">
</constant>
<constant name="ERR_FILE_ALREADY_IN_USE" value="11">
</constant>
<constant name="ERR_FILE_CANT_OPEN" value="12">
</constant>
<constant name="ERR_FILE_CANT_WRITE" value="13">
</constant>
<constant name="ERR_FILE_CANT_READ" value="14">
</constant>
<constant name="ERR_FILE_UNRECOGNIZED" value="15">
</constant>
<constant name="ERR_FILE_CORRUPT" value="16">
</constant>
<constant name="ERR_FILE_MISSING_DEPENDENCIES" value="17">
</constant>
<constant name="ERR_FILE_EOF" value="18">
</constant>
<constant name="ERR_CANT_OPEN" value="19">
</constant>
<constant name="ERR_CANT_CREATE" value="20">
</constant>
<constant name="ERROR_QUERY_FAILED" value="21">
</constant>
<constant name="ERR_ALREADY_IN_USE" value="22">
</constant>
<constant name="ERR_LOCKED" value="23">
</constant>
<constant name="ERR_TIMEOUT" value="24">
</constant>
<constant name="ERR_CANT_AQUIRE_RESOURCE" value="28">
</constant>
<constant name="ERR_INVALID_DATA" value="30">
</constant>
<constant name="ERR_INVALID_PARAMETER" value="31">
</constant>
<constant name="ERR_ALREADY_EXISTS" value="32">
</constant>
<constant name="ERR_DOES_NOT_EXIST" value="33">
</constant>
<constant name="ERR_DATABASE_CANT_READ" value="34">
</constant>
<constant name="ERR_DATABASE_CANT_WRITE" value="35">
</constant>
<constant name="ERR_COMPILATION_FAILED" value="36">
</constant>
<constant name="ERR_METHOD_NOT_FOUND" value="37">
</constant>
<constant name="ERR_LINK_FAILED" value="38">
</constant>
<constant name="ERR_SCRIPT_FAILED" value="39">
</constant>
<constant name="ERR_CYCLIC_LINK" value="40">
</constant>
<constant name="ERR_BUSY" value="44">
</constant>
<constant name="ERR_HELP" value="46">
</constant>
<constant name="ERR_BUG" value="47">
</constant>
<constant name="ERR_WTF" value="49">
</constant>
<constant name="PROPERTY_HINT_NONE" value="0">
No hint for edited property.
</constant>
<constant name="PROPERTY_HINT_RANGE" value="1">
Hints that the string is a range, defined as "min,max" or "min,max,step". This is valid for integers and floats.
</constant>
<constant name="PROPERTY_HINT_EXP_RANGE" value="2">
Hints that the string is an exponential range, defined as "min,max" or "min,max,step". This is valid for integers and floats.
</constant>
<constant name="PROPERTY_HINT_ENUM" value="3">
Property hint for an enumerated value, like "Hello,Something,Else". This is valid for integer, float and string properties.
</constant>
<constant name="PROPERTY_HINT_EXP_EASING" value="4">
</constant>
<constant name="PROPERTY_HINT_LENGTH" value="5">
</constant>
<constant name="PROPERTY_HINT_KEY_ACCEL" value="7">
</constant>
<constant name="PROPERTY_HINT_FLAGS" value="8">
Property hint for a bitmask description, for bits 0,1,2,3 and 5 the hint would be like "Bit0,Bit1,Bit2,Bit3,,Bit5". Valid only for integers.
</constant>
<constant name="PROPERTY_HINT_ALL_FLAGS" value="9">
Property hint for a bitmask description that covers all 32 bits. Valid only for integers.
</constant>
<constant name="PROPERTY_HINT_FILE" value="10">
String property is a file (so pop up a file dialog when edited). Hint string can be a set of wildcards like "*.doc".
</constant>
<constant name="PROPERTY_HINT_DIR" value="11">
String property is a directory (so pop up a file dialog when edited).
</constant>
<constant name="PROPERTY_HINT_GLOBAL_FILE" value="12">
</constant>
<constant name="PROPERTY_HINT_GLOBAL_DIR" value="13">
</constant>
<constant name="PROPERTY_HINT_RESOURCE_TYPE" value="14">
String property is a resource, so open the resource popup menu when edited.
</constant>
<constant name="PROPERTY_HINT_MULTILINE_TEXT" value="15">
</constant>
<constant name="PROPERTY_HINT_COLOR_NO_ALPHA" value="16">
</constant>
<constant name="PROPERTY_HINT_IMAGE_COMPRESS_LOSSY" value="17">
</constant>
<constant name="PROPERTY_HINT_IMAGE_COMPRESS_LOSSLESS" value="18">
</constant>
<constant name="PROPERTY_USAGE_STORAGE" value="1">
Property will be used as storage (default).
</constant>
<constant name="PROPERTY_USAGE_EDITOR" value="2">
Property will be visible in editor (default).
</constant>
<constant name="PROPERTY_USAGE_NETWORK" value="4">
</constant>
<constant name="PROPERTY_USAGE_DEFAULT" value="7">
Default usage (storage and editor).
</constant>
<constant name="METHOD_FLAG_NORMAL" value="1">
</constant>
<constant name="METHOD_FLAG_EDITOR" value="2">
</constant>
<constant name="METHOD_FLAG_NOSCRIPT" value="4">
</constant>
<constant name="METHOD_FLAG_CONST" value="8">
</constant>
<constant name="METHOD_FLAG_REVERSE" value="16">
</constant>
<constant name="METHOD_FLAG_VIRTUAL" value="32">
</constant>
<constant name="METHOD_FLAG_FROM_SCRIPT" value="64">
</constant>
<constant name="METHOD_FLAGS_DEFAULT" value="1">
</constant>
<constant name="TYPE_NIL" value="0">
Variable is of type nil (only applied for null).
</constant>
<constant name="TYPE_BOOL" value="1">
Variable is of type [bool].
</constant>
<constant name="TYPE_INT" value="2">
Variable is of type [int].
</constant>
<constant name="TYPE_REAL" value="3">
Variable is of type [float]/real.
</constant>
<constant name="TYPE_STRING" value="4">
Variable is of type [String].
</constant>
<constant name="TYPE_VECTOR2" value="5">
Variable is of type [Vector2].
</constant>
<constant name="TYPE_RECT2" value="6">
Variable is of type [Rect2].
</constant>
<constant name="TYPE_VECTOR3" value="7">
Variable is of type [Vector3].
</constant>
<constant name="TYPE_MATRIX32" value="8">
Variable is of type [Matrix32].
</constant>
<constant name="TYPE_PLANE" value="9">
Variable is of type [Plane].
</constant>
<constant name="TYPE_QUAT" value="10">
Variable is of type [Quat].
</constant>
<constant name="TYPE_AABB" value="11">
Variable is of type [AABB].
</constant>
<constant name="TYPE_MATRIX3" value="12">
Variable is of type [Matrix3].
</constant>
<constant name="TYPE_TRANSFORM" value="13">
Variable is of type [Transform].
</constant>
<constant name="TYPE_COLOR" value="14">
Variable is of type [Color].
</constant>
<constant name="TYPE_IMAGE" value="15">
Variable is of type [Image].
</constant>
<constant name="TYPE_NODE_PATH" value="16">
Variable is of type [NodePath].
</constant>
<constant name="TYPE_RID" value="17">
Variable is of type [RID].
</constant>
<constant name="TYPE_OBJECT" value="18">
Variable is of type [Object].
</constant>
<constant name="TYPE_INPUT_EVENT" value="19">
Variable is of type [InputEvent].
</constant>
<constant name="TYPE_DICTIONARY" value="20">
Variable is of type [Dictionary].
</constant>
<constant name="TYPE_ARRAY" value="21">
Variable is of type [Array].
</constant>
<constant name="TYPE_RAW_ARRAY" value="22">
</constant>
<constant name="TYPE_INT_ARRAY" value="23">
</constant>
<constant name="TYPE_REAL_ARRAY" value="24">
</constant>
<constant name="TYPE_STRING_ARRAY" value="25">
</constant>
<constant name="TYPE_VECTOR2_ARRAY" value="26">
</constant>
<constant name="TYPE_VECTOR3_ARRAY" value="27">
</constant>
<constant name="TYPE_COLOR_ARRAY" value="28">
</constant>
<constant name="TYPE_MAX" value="29">
</constant>
</constants>
</class>
<class name="AABB" category="Built-In Types">
<brief_description>
Axis-Aligned Bounding Box.
</brief_description>
<description>
AABB provides an 3D Axis-Aligned Bounding Box. It consists of a position, a size, and several utility functions. It is typically used for simple (fast) overlap tests.
</description>
<methods>
<method name="AABB">
<return type="AABB">
</return>
<argument index="0" name="pos" type="Vector3">
</argument>
<argument index="1" name="size" type="Vector3">
</argument>
<description>
Optional constructor, accepts position and size.
</description>
</method>
<method name="encloses">
<return type="bool">
</return>
<argument index="0" name="with" type="AABB">
</argument>
<description>
Return true if this [AABB] completely encloses another one.
</description>
</method>
<method name="expand">
<return type="AABB">
</return>
<argument index="0" name="to_point" type="Vector3">
</argument>
<description>
Return this [AABB] expanded to include a given point.
</description>
</method>
<method name="get_area">
<return type="float">
</return>
<description>
Get the area of the [AABB].
</description>
</method>
<method name="get_endpoint">
<return type="Vector3">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
Get the position of the 8 endpoints of the [AABB] in space.
</description>
</method>
<method name="get_longest_axis">
<return type="Vector3">
</return>
<description>
Return the normalized longest axis of the [AABB].
</description>
</method>
<method name="get_longest_axis_index">
<return type="int">
</return>
<description>
Return the index of the longest axis of the [AABB] (according to [Vector3]::AXIS* enum).
</description>
</method>
<method name="get_longest_axis_size">
<return type="float">
</return>
<description>
Return the scalar length of the longest axis of the [AABB].
</description>
</method>
<method name="get_shortest_axis">
<return type="Vector3">
</return>
<description>
Return the normalized shortest axis of the [AABB].
</description>
</method>
<method name="get_shortest_axis_index">
<return type="int">
</return>
<description>
Return the index of the shortest axis of the [AABB] (according to [Vector3]::AXIS* enum).
</description>
</method>
<method name="get_shortest_axis_size">
<return type="float">
</return>
<description>
Return the scalar length of the shortest axis of the [AABB].
</description>
</method>
<method name="get_support">
<return type="Vector3">
</return>
<argument index="0" name="dir" type="Vector3">
</argument>
<description>
Return the support point in a given direction. This is useful for collision detection algorithms.
</description>
</method>
<method name="grow">
<return type="AABB">
</return>
<argument index="0" name="by" type="float">
</argument>
<description>
Return a copy of the [AABB] grown a given amount of units towards all the sides.
</description>
</method>
<method name="has_no_area">
<return type="bool">
</return>
<description>
Return true if the [AABB] is flat or empty.
</description>
</method>
<method name="has_no_surface">
<return type="bool">
</return>
<description>
Return true if the [AABB] is empty.
</description>
</method>
<method name="has_point">
<return type="bool">
</return>
<argument index="0" name="point" type="Vector3">
</argument>
<description>
Return true if the [AABB] contains a point.
</description>
</method>
<method name="intersection">
<return type="AABB">
</return>
<argument index="0" name="with" type="AABB">
</argument>
<description>
Return the intersection between two [AABB]. An empty AABB (size 0,0,0) is returned on failure.
</description>
</method>
<method name="intersects">
<return type="bool">
</return>
<argument index="0" name="with" type="AABB">
</argument>
<description>
Return true if the [AABB] overlaps with another.
</description>
</method>
<method name="intersects_plane">
<return type="bool">
</return>
<argument index="0" name="plane" type="Plane">
</argument>
<description>
Return true if the [AABB] is at both sides of a plane.
</description>
</method>
<method name="intersects_segment">
<return type="bool">
</return>
<argument index="0" name="from" type="Vector3">
</argument>
<argument index="1" name="to" type="Vector3">
</argument>
<description>
Return true if the [AABB] intersects the line segment between from and to
</description>
</method>
<method name="merge">
<return type="AABB">
</return>
<argument index="0" name="with" type="AABB">
</argument>
<description>
Combine this [AABB] with another, a larger one is returned that contains both.
</description>
</method>
</methods>
<members>
<member name="end" type="Vector3">
Ending corner.
</member>
<member name="pos" type="Vector3">
Position (starting corner).
</member>
<member name="size" type="Vector3">
Size from position to end.
</member>
</members>
<constants>
</constants>
</class>
<class name="AcceptDialog" inherits="WindowDialog" category="Core">
<brief_description>
Base dialog for user notification.
</brief_description>
<description>
This dialog is useful for small notifications to the user about an event. It can only be accepted or closed, with the same result.
</description>
<methods>
<method name="add_button">
<return type="Button">
</return>
<argument index="0" name="text" type="String">
</argument>
<argument index="1" name="right" type="bool" default="false">
</argument>
<argument index="2" name="action" type="String" default="&quot;&quot;">
</argument>
<description>
Add custom button to the dialog and return the created button.
The button titled with [i]text[/i] and the [i]action[/i] will be passed to [custom_action] signal when it is pressed.
</description>
</method>
<method name="add_cancel">
<return type="Button">
</return>
<argument index="0" name="name" type="String">
</argument>
<description>
Add custom cancel button to the dialog and return the created button.
</description>
</method>
<method name="get_hide_on_ok" qualifiers="const">
<return type="bool">
</return>
<description>
Return true if the dialog will be hidden when accepted (default true).
</description>
</method>
<method name="get_label">
<return type="Object">
</return>
<description>
Return the label used for built-in text.
</description>
</method>
<method name="get_ok">
<return type="Object">
</return>
<description>
Return the OK Button.
</description>
</method>
<method name="get_text" qualifiers="const">
<return type="String">
</return>
<description>
Return the built-in label text.
</description>
</method>
<method name="register_text_enter">
<return type="LineEdit">
</return>
<argument index="0" name="line_edit" type="Object">
</argument>
<description>
Register a [LineEdit] in the dialog. When the enter key is pressed, the dialog will be accepted.
</description>
</method>
<method name="set_hide_on_ok">
<argument index="0" name="enabled" type="bool">
</argument>
<description>
Set whether the dialog is hidden when accepted (default true).
</description>
</method>
<method name="set_text">
<argument index="0" name="text" type="String">
</argument>
<description>
Set the built-in label text.
</description>
</method>
</methods>
<signals>
<signal name="confirmed">
<description>
Emitted when accepted.
</description>
</signal>
<signal name="custom_action">
<argument index="0" name="action" type="String">
</argument>
<description>
Emitted with a custom button is added.
</description>
</signal>
</signals>
<constants>
</constants>
</class>
<class name="AnimatedSprite" inherits="Node2D" category="Core">
<brief_description>
Sprite node that can use multiple textures for animation.
</brief_description>
<description>
Sprite node that can use multiple textures for animation.
</description>
<methods>
<method name="get_frame" qualifiers="const">
<return type="int">
</return>
<description>
Return the visible frame index.
</description>
</method>
<method name="get_modulate" qualifiers="const">
<return type="Color">
</return>
<description>
Return the color modulation for this sprite.
</description>
</method>
<method name="get_offset" qualifiers="const">
<return type="Vector2">
</return>
<description>
Return the offset of the sprite in the node origin.
</description>
</method>
<method name="get_sprite_frames" qualifiers="const">
<return type="SpriteFrames">
</return>
<description>
Get the [SpriteFrames] resource, which contains all frames.
</description>
</method>
<method name="is_centered" qualifiers="const">
<return type="bool">
</return>
<description>
Return true when centered. See [method set_centered].
</description>
</method>
<method name="is_flipped_h" qualifiers="const">
<return type="bool">
</return>
<description>
Return true if sprite is flipped horizontally.
</description>
</method>
<method name="is_flipped_v" qualifiers="const">
<return type="bool">
</return>
<description>
Return true if sprite is flipped vertically.
</description>
</method>
<method name="set_centered">
<argument index="0" name="centered" type="bool">
</argument>
<description>
When turned on, offset at (0,0) is the center of the sprite, when off, the top-left corner is.
</description>
</method>
<method name="set_flip_h">
<argument index="0" name="flip_h" type="bool">
</argument>
<description>
If true, sprite is flipped horizontally.
</description>
</method>
<method name="set_flip_v">
<argument index="0" name="flip_v" type="bool">
</argument>
<description>
If true, sprite is flipped vertically.
</description>
</method>
<method name="set_frame">
<argument index="0" name="frame" type="int">
</argument>
<description>
Set the visible sprite frame index (from the list of frames inside the [SpriteFrames] resource).
</description>
</method>
<method name="set_modulate">
<argument index="0" name="modulate" type="Color">
</argument>
<description>
Change the color modulation (multiplication) for this sprite.
</description>
</method>
<method name="set_offset">
<argument index="0" name="offset" type="Vector2">
</argument>
<description>
Set the offset of the sprite in the node origin. Position varies depending on whether it is centered or not.
</description>
</method>
<method name="set_sprite_frames">
<argument index="0" name="sprite_frames" type="SpriteFrames">
</argument>
<description>
Set the [SpriteFrames] resource, which contains all frames.
</description>
</method>
</methods>
<signals>
<signal name="frame_changed">
<description>
Emmited when frame is changed.
</description>
</signal>
</signals>
<constants>
</constants>
</class>
<class name="AnimatedSprite3D" inherits="SpriteBase3D" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
<method name="get_frame" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_sprite_frames" qualifiers="const">
<return type="Texture">
</return>
<description>
</description>
</method>
<method name="set_frame">
<argument index="0" name="frame" type="int">
</argument>
<description>
</description>
</method>
<method name="set_sprite_frames">
<argument index="0" name="sprite_frames" type="SpriteFrames">
</argument>
<description>
</description>
</method>
</methods>
<signals>
<signal name="frame_changed">
<description>
</description>
</signal>
</signals>
<constants>
</constants>
</class>
<class name="Animation" inherits="Resource" category="Core">
<brief_description>
Contains data used to animate everything in the engine.
</brief_description>
<description>
An Animation resource contains data used to animate everything in the engine. Animations are divided into tracks, and each track must be linked to a node. The state of that node can be changed through time, by adding timed keys (events) to the track.
Animations are just data containers, and must be added to odes such as an [AnimationPlayer] or [AnimationTreePlayer] to be played back.
</description>
<methods>
<method name="add_track">
<return type="int">
</return>
<argument index="0" name="type" type="int">
</argument>
<argument index="1" name="at_pos" type="int" default="-1">
</argument>
<description>
Add a track to the Animation. The track type must be specified as any of the values in the TYPE_* enumeration.
</description>
</method>
<method name="clear">
<description>
Clear the animation (clear all tracks and reset all).
</description>
</method>
<method name="find_track" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="path" type="NodePath">
</argument>
<description>
</description>
</method>
<method name="get_length" qualifiers="const">
<return type="float">
</return>
<description>
Return the total length of the animation (in seconds).
</description>
</method>
<method name="get_step" qualifiers="const">
<return type="float">
</return>
<description>
</description>
</method>
<method name="get_track_count" qualifiers="const">
<return type="int">
</return>
<description>
Return the amount of tracks in the animation.
</description>
</method>
<method name="has_loop" qualifiers="const">
<return type="bool">
</return>
<description>
Return whether the animation has the loop flag set.
</description>
</method>
<method name="method_track_get_key_indices" qualifiers="const">
<return type="IntArray">
</return>
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="time_sec" type="float">
</argument>
<argument index="2" name="delta" type="float">
</argument>
<description>
Return all the key indices of a method track, given a position and delta time.
</description>
</method>
<method name="method_track_get_name" qualifiers="const">
<return type="String">
</return>
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="key_idx" type="int">
</argument>
<description>
Return the method name of a method track.
</description>
</method>
<method name="method_track_get_params" qualifiers="const">
<return type="Array">
</return>
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="key_idx" type="int">
</argument>
<description>
Return the arguments values to be called on a method track for a given key in a given track.
</description>
</method>
<method name="remove_track">
<argument index="0" name="idx" type="int">
</argument>
<description>
Remove a track by specifying the track index.
</description>
</method>
<method name="set_length">
<argument index="0" name="time_sec" type="float">
</argument>
<description>
Set the total length of the animation (in seconds). Note that length is not delimited by the last key, as this one may be before or after the end to ensure correct interpolation and looping.
</description>
</method>
<method name="set_loop">
<argument index="0" name="enabled" type="bool">
</argument>
<description>
Set a flag indicating that the animation must loop. This is uses for correct interpolation of animation cycles, and for hinting the player that it must restart the animation.
</description>
</method>
<method name="set_step">
<argument index="0" name="size_sec" type="float">
</argument>
<description>
</description>
</method>
<method name="track_find_key" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="time" type="float">
</argument>
<argument index="2" name="exact" type="bool" default="false">
</argument>
<description>
Find the key index by time in a given track. Optionally, only find it if the exact time is given.
</description>
</method>
<method name="track_get_interpolation_type" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
Return the interpolation type of a given track, from the INTERPOLATION_* enum.
</description>
</method>
<method name="track_get_key_count" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
Return the amount of keys in a given track.
</description>
</method>
<method name="track_get_key_time" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="key_idx" type="int">
</argument>
<description>
Return the time at which the key is located.
</description>
</method>
<method name="track_get_key_transition" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="key_idx" type="int">
</argument>
<description>
Return the transition curve (easing) for a specific key (see built-in math function "ease").
</description>
</method>
<method name="track_get_key_value" qualifiers="const">
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="key_idx" type="int">
</argument>
<description>
Return the value of a given key in a given track.
</description>
</method>
<method name="track_get_path" qualifiers="const">
<return type="NodePath">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
Get the path of a track. for more information on the path format, see [method track_set_path]
</description>
</method>
<method name="track_get_type" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
Get the type of a track.
</description>
</method>
<method name="track_insert_key">
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="time" type="float">
</argument>
<argument index="2" name="key" type="var">
</argument>
<argument index="3" name="transition" type="float" default="1">
</argument>
<description>
Insert a generic key in a given track.
</description>
</method>
<method name="track_move_down">
<argument index="0" name="idx" type="int">
</argument>
<description>
Move a track down.
</description>
</method>
<method name="track_move_up">
<argument index="0" name="idx" type="int">
</argument>
<description>
Move a track up.
</description>
</method>
<method name="track_remove_key">
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="key_idx" type="int">
</argument>
<description>
Remove a key by index in a given track.
</description>
</method>
<method name="track_remove_key_at_pos">
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="pos" type="float">
</argument>
<description>
Remove a key by position (seconds) in a given track.
</description>
</method>
<method name="track_set_interpolation_type">
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="interpolation" type="int">
</argument>
<description>
Set the interpolation type of a given track, from the INTERPOLATION_* enum.
</description>
</method>
<method name="track_set_key_transition">
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="key_idx" type="int">
</argument>
<argument index="2" name="transition" type="float">
</argument>
<description>
Set the transition curve (easing) for a specific key (see built-in math function "ease").
</description>
</method>
<method name="track_set_key_value">
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="key" type="int">
</argument>
<argument index="2" name="value" type="var">
</argument>
<description>
Set the value of an existing key.
</description>
</method>
<method name="track_set_path">
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="path" type="NodePath">
</argument>
<description>
Set the path of a track. Paths must be valid scene-tree paths to a node, and must be specified starting from the parent node of the node that will reproduce the animation. Tracks that control properties or bones must append their name after the path, separated by ":". Example: "character/skeleton:ankle" or "character/mesh:transform/local"
</description>
</method>
<method name="transform_track_insert_key">
<return type="int">
</return>
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="time" type="float">
</argument>
<argument index="2" name="loc" type="Vector3">
</argument>
<argument index="3" name="rot" type="Quat">
</argument>
<argument index="4" name="scale" type="Vector3">
</argument>
<description>
Insert a transform key for a transform track.
</description>
</method>
<method name="transform_track_interpolate" qualifiers="const">
<return type="Array">
</return>
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="time_sec" type="float">
</argument>
<description>
Return the interpolated value of a transform track at a given time (in seconds). An array consisting of 3 elements: position ([Vector3]), rotation ([Quat]) and scale ([Vector3]).
</description>
</method>
<method name="value_track_get_key_indices" qualifiers="const">
<return type="IntArray">
</return>
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="time_sec" type="float">
</argument>
<argument index="2" name="delta" type="float">
</argument>
<description>
Return all the key indices of a value track, given a position and delta time.
</description>
</method>
<method name="value_track_is_continuous" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
Return whether interpolation is enabled or disabled for a whole track. By default tracks are interpolated.
</description>
</method>
<method name="value_track_set_continuous">
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="continuous" type="bool">
</argument>
<description>
Enable or disable interpolation for a whole track. By default tracks are interpolated.
</description>
</method>
</methods>
<constants>
<constant name="TYPE_VALUE" value="0">
Value tracks set values in node properties, but only those which can be Interpolated.
</constant>
<constant name="TYPE_TRANSFORM" value="1">
Transform tracks are used to change node local transforms or skeleton pose bones. Transitions are Interpolated.
</constant>
<constant name="TYPE_METHOD" value="2">
Method tracks call functions with given arguments per key.
</constant>
<constant name="INTERPOLATION_NEAREST" value="0">
No interpolation (nearest value).
</constant>
<constant name="INTERPOLATION_LINEAR" value="1">
Linear interpolation.
</constant>
<constant name="INTERPOLATION_CUBIC" value="2">
Cubic interpolation.
</constant>
</constants>
</class>
<class name="AnimationPlayer" inherits="Node" category="Core">
<brief_description>
Container and player of [Animation] resources.
</brief_description>
<description>
An animation player is used for general purpose playback of [Animation] resources. It contains a dictionary of animations (referenced by name) and custom blend times between their transitions. Additionally, animations can be played and blended in different channels.
</description>
<methods>
<method name="add_animation">
<return type="int">
</return>
<argument index="0" name="name" type="String">
</argument>
<argument index="1" name="animation" type="Animation">
</argument>
<description>
Add an animation resource to the player, which will be later referenced by the "name" argument.
</description>
</method>
<method name="advance">
<argument index="0" name="delta" type="float">
</argument>
<description>
Used to skip ahead or skip back in an animation. Delta is the time in seconds to skip.
</description>
</method>
<method name="animation_get_next" qualifiers="const">
<return type="String">
</return>
<argument index="0" name="anim_from" type="String">
</argument>
<description>
</description>
</method>
<method name="animation_set_next">
<argument index="0" name="anim_from" type="String">
</argument>
<argument index="1" name="anim_to" type="String">
</argument>
<description>
</description>
</method>
<method name="clear_caches">
<description>
The animation player creates caches for faster access to the nodes it will animate. However, if a specific node is removed, it may not notice it, so clear_caches will force the player to search for the nodes again.
</description>
</method>
<method name="clear_queue">
<description>
If animations are queued to play, clear them.
</description>
</method>
<method name="find_animation" qualifiers="const">
<return type="String">
</return>
<argument index="0" name="animation" type="Animation">
</argument>
<description>
Find an animation name by resource.
</description>
</method>
<method name="get_animation" qualifiers="const">
<return type="Animation">
</return>
<argument index="0" name="name" type="String">
</argument>
<description>
Get an [Animation] resource by requesting a name.
</description>
</method>
<method name="get_animation_list" qualifiers="const">
<return type="StringArray">
</return>
<description>
Get the list of names of the animations stored in the player.
</description>
</method>
<method name="get_animation_process_mode" qualifiers="const">
<return type="int">
</return>
<description>
Return the mode in which the animation player processes. See [method set_animation_process_mode].
</description>
</method>
<method name="get_autoplay" qualifiers="const">
<return type="String">
</return>
<description>
Return the name of the animation that will be automatically played when the scene is loaded.
</description>
</method>
<method name="get_blend_time" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="anim_from" type="String">
</argument>
<argument index="1" name="anim_to" type="String">
</argument>
<description>
Get the blend time between two animations, referenced by their names.
</description>
</method>
<method name="get_current_animation" qualifiers="const">
<return type="String">
</return>
<description>
Return the name of the animation being played.
</description>
</method>
<method name="get_current_animation_length" qualifiers="const">
<return type="float">
</return>
<description>
Get the length (in seconds) of the currently being played animation.
</description>
</method>
<method name="get_current_animation_pos" qualifiers="const">
<return type="float">
</return>
<description>
Get the position (in seconds) of the currently being played animation.
</description>
</method>
<method name="get_default_blend_time" qualifiers="const">
<return type="float">
</return>
<description>
Return the default blend time between animations.
</description>
</method>
<method name="get_pos" qualifiers="const">
<return type="float">
</return>
<description>
Return the playback position (in seconds) in an animation channel (or channel 0 if none is provided).
</description>
</method>
<method name="get_root" qualifiers="const">
<return type="NodePath">
</return>
<description>
Return path to root node (see [method set_root]).
</description>
</method>
<method name="get_speed" qualifiers="const">
<return type="float">
</return>
<description>
Get the speed scaling ratio in a given animation channel (or channel 0 if none is provided). Default ratio is [i]1[/i] (no scaling).
</description>
</method>
<method name="has_animation" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="name" type="String">
</argument>
<description>
Request whether an [Animation] name exist within the player.
</description>
</method>
<method name="is_active" qualifiers="const">
<return type="bool">
</return>
<description>
Return true if the player is active.
</description>
</method>
<method name="is_playing" qualifiers="const">
<return type="bool">
</return>
<description>
Return whether an animation is playing.
</description>
</method>
<method name="play">
<argument index="0" name="name" type="String" default="&quot;&quot;">
</argument>
<argument index="1" name="custom_blend" type="float" default="-1">
</argument>
<argument index="2" name="custom_speed" type="float" default="1">
</argument>
<argument index="3" name="from_end" type="bool" default="false">
</argument>
<description>
Play a given animation by the animation name. Custom speed and blend times can be set. If custom speed is negative (-1), 'from_end' being true can play the animation backwards.
</description>
</method>
<method name="play_backwards">
<argument index="0" name="name" type="String" default="&quot;&quot;">
</argument>
<argument index="1" name="custom_blend" type="float" default="-1">
</argument>
<description>
Play a given animation by the animation name in reverse.
</description>
</method>
<method name="queue">
<argument index="0" name="name" type="String">
</argument>
<description>
Queue an animation for playback once the current one is done.
</description>
</method>
<method name="remove_animation">
<argument index="0" name="name" type="String">
</argument>
<description>
Remove an animation from the player (by supplying the same name used to add it).
</description>
</method>
<method name="rename_animation">
<argument index="0" name="name" type="String">
</argument>
<argument index="1" name="newname" type="String">
</argument>
<description>
Rename an existing animation.
</description>
</method>
<method name="seek">
<argument index="0" name="pos_sec" type="float">
</argument>
<argument index="1" name="update" type="bool" default="false">
</argument>
<description>
Seek the animation to a given position in time (in seconds). If 'update' is true, the animation will be updated too, otherwise it will be updated at process time.
</description>
</method>
<method name="set_active">
<argument index="0" name="active" type="bool">
</argument>
<description>
Set the player as active (playing). If false, it
will do nothing.
</description>
</method>
<method name="set_animation_process_mode">
<argument index="0" name="mode" type="int">
</argument>
<description>
Set the mode in which the animation player processes. By default, it processes on idle time (framerate dependent), but using fixed time works well for animating static collision bodies in 2D and 3D. See enum ANIMATION_PROCESS_*.
</description>
</method>
<method name="set_autoplay">
<argument index="0" name="name" type="String">
</argument>
<description>
Set the name of the animation that will be automatically played when the scene is loaded.
</description>
</method>
<method name="set_blend_time">
<argument index="0" name="anim_from" type="String">
</argument>
<argument index="1" name="anim_to" type="String">
</argument>
<argument index="2" name="sec" type="float">
</argument>
<description>
Specify a blend time (in seconds) between two animations, referenced by their names.
</description>
</method>
<method name="set_current_animation">
<argument index="0" name="anim" type="String">
</argument>
<description>
Set the current animation (even if no playback occurs). Using set_current_animation() and set_active() are similar to calling play().
</description>
</method>
<method name="set_default_blend_time">
<argument index="0" name="sec" type="float">
</argument>
<description>
Set the default blend time between animations.
</description>
</method>
<method name="set_root">
<argument index="0" name="path" type="NodePath">
</argument>
<description>
AnimationPlayer resolves animation track paths from this node (which is relative to itself), by default root is "..", but it can be changed.
</description>
</method>
<method name="set_speed">
<argument index="0" name="speed" type="float">
</argument>
<description>
Set a speed scaling ratio in a given animation channel (or channel 0 if none is provided). Default ratio is [i]1[/i] (no scaling).
</description>
</method>
<method name="stop">
<argument index="0" name="reset" type="bool" default="true">
</argument>
<description>
Stop the currently playing animation.
</description>
</method>
<method name="stop_all">
<description>
Stop playback of animations (deprecated).
</description>
</method>
</methods>
<signals>
<signal name="animation_changed">
<argument index="0" name="old_name" type="String">
</argument>
<argument index="1" name="new_name" type="String">
</argument>
<description>
If the currently being played animation changes, this signal will notify of such change.
</description>
</signal>
<signal name="finished">
<description>
Notifies when an animation finished playing.
</description>
</signal>
</signals>
<constants>
<constant name="ANIMATION_PROCESS_FIXED" value="0">
Process animation on fixed process. This is specially useful when animating kinematic bodies.
</constant>
<constant name="ANIMATION_PROCESS_IDLE" value="1">
Process animation on idle process.
</constant>
</constants>
</class>
<class name="AnimationTreePlayer" inherits="Node" category="Core">
<brief_description>
Animation Player that uses a node graph for the blending.
</brief_description>
<description>
Animation Player that uses a node graph for the blending. This kind of player is very useful when animating character or other skeleton based rigs, because it can combine several animations to form a desired pose.
</description>
<methods>
<method name="add_node">
<argument index="0" name="type" type="int">
</argument>
<argument index="1" name="id" type="String">
</argument>
<description>
Add a node of a given type in the graph with given id.
</description>
</method>
<method name="advance">
<argument index="0" name="delta" type="float">
</argument>
<description>
</description>
</method>
<method name="animation_node_get_animation" qualifiers="const">
<return type="Animation">
</return>
<argument index="0" name="id" type="String">
</argument>
<description>
</description>
</method>
<method name="animation_node_get_master_animation" qualifiers="const">
<return type="String">
</return>
<argument index="0" name="id" type="String">
</argument>
<description>
</description>
</method>
<method name="animation_node_set_animation">
<argument index="0" name="id" type="String">
</argument>
<argument index="1" name="animation" type="Animation">
</argument>
<description>
Set the animation for an animation node.
</description>
</method>
<method name="animation_node_set_master_animation">
<argument index="0" name="id" type="String">
</argument>
<argument index="1" name="source" type="String">
</argument>
<description>
</description>
</method>
<method name="blend2_node_get_amount" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="id" type="String">
</argument>
<description>
</description>
</method>
<method name="blend2_node_set_amount">
<argument index="0" name="id" type="String">
</argument>
<argument index="1" name="blend" type="float">
</argument>
<description>
</description>
</method>
<method name="blend2_node_set_filter_path">
<argument index="0" name="id" type="String">
</argument>
<argument index="1" name="path" type="NodePath">
</argument>
<argument index="2" name="enable" type="bool">
</argument>
<description>
</description>
</method>
<method name="blend3_node_get_amount" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="id" type="String">
</argument>
<description>
</description>
</method>
<method name="blend3_node_set_amount">
<argument index="0" name="id" type="String">
</argument>
<argument index="1" name="blend" type="float">
</argument>
<description>
</description>
</method>
<method name="blend4_node_get_amount" qualifiers="const">
<return type="Vector2">
</return>
<argument index="0" name="id" type="String">
</argument>
<description>
</description>
</method>
<method name="blend4_node_set_amount">
<argument index="0" name="id" type="String">
</argument>
<argument index="1" name="blend" type="Vector2">
</argument>
<description>
</description>
</method>
<method name="connect">
<return type="int">
</return>
<argument index="0" name="id" type="String">
</argument>
<argument index="1" name="dst_id" type="String">
</argument>
<argument index="2" name="dst_input_idx" type="int">
</argument>
<description>
</description>
</method>
<method name="disconnect">
<argument index="0" name="id" type="String">
</argument>
<argument index="1" name="dst_input_idx" type="int">
</argument>
<description>
</description>
</method>
<method name="get_animation_process_mode" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_base_path" qualifiers="const">
<return type="NodePath">
</return>
<description>
</description>
</method>
<method name="get_master_player" qualifiers="const">
<return type="NodePath">
</return>
<description>
</description>
</method>
<method name="get_node_list">
<return type="StringArray">
</return>
<description>
</description>
</method>
<method name="is_active" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="is_connected" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="id" type="String">
</argument>
<argument index="1" name="dst_id" type="String">
</argument>
<argument index="2" name="dst_input_idx" type="int">
</argument>
<description>
</description>
</method>
<method name="mix_node_get_amount" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="id" type="String">
</argument>
<description>
</description>
</method>
<method name="mix_node_set_amount">
<argument index="0" name="id" type="String">
</argument>
<argument index="1" name="ratio" type="float">
</argument>
<description>
</description>
</method>
<method name="node_exists" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="node" type="String">
</argument>
<description>
Check if a node exists (by name).
</description>
</method>
<method name="node_get_input_count" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="id" type="String">
</argument>
<description>
Return the input count for a given node. Different types of nodes have different amount of inputs.
</description>
</method>
<method name="node_get_input_source" qualifiers="const">
<return type="String">
</return>
<argument index="0" name="id" type="String">
</argument>
<argument index="1" name="idx" type="int">
</argument>
<description>
Return the input source for a given node input.
</description>
</method>
<method name="node_get_pos" qualifiers="const">
<return type="Vector2">
</return>
<argument index="0" name="id" type="String">
</argument>
<description>
</description>
</method>
<method name="node_get_type" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="id" type="String">
</argument>
<description>
Get the node type, will return from NODE_* enum.
</description>
</method>
<method name="node_rename">
<return type="int">
</return>
<argument index="0" name="node" type="String">
</argument>
<argument index="1" name="new_name" type="String">
</argument>
<description>
Rename a node in the graph.
</description>
</method>
<method name="node_set_pos">
<argument index="0" name="id" type="String">
</argument>
<argument index="1" name="screen_pos" type="Vector2">
</argument>
<description>
</description>
</method>
<method name="oneshot_node_get_autorestart_delay" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="id" type="String">
</argument>
<description>
</description>
</method>
<method name="oneshot_node_get_autorestart_random_delay" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="id" type="String">
</argument>
<description>
</description>
</method>
<method name="oneshot_node_get_fadein_time" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="id" type="String">
</argument>
<description>
</description>
</method>
<method name="oneshot_node_get_fadeout_time" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="id" type="String">
</argument>
<description>
</description>
</method>
<method name="oneshot_node_has_autorestart" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="id" type="String">
</argument>
<description>
</description>
</method>
<method name="oneshot_node_is_active" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="id" type="String">
</argument>
<description>
</description>
</method>
<method name="oneshot_node_set_autorestart">
<argument index="0" name="id" type="String">
</argument>
<argument index="1" name="enable" type="bool">
</argument>
<description>
</description>
</method>
<method name="oneshot_node_set_autorestart_delay">
<argument index="0" name="id" type="String">
</argument>
<argument index="1" name="delay_sec" type="float">
</argument>
<description>
</description>
</method>
<method name="oneshot_node_set_autorestart_random_delay">
<argument index="0" name="id" type="String">
</argument>
<argument index="1" name="rand_sec" type="float">
</argument>
<description>
</description>
</method>
<method name="oneshot_node_set_fadein_time">
<argument index="0" name="id" type="String">
</argument>
<argument index="1" name="time_sec" type="float">
</argument>
<description>
</description>
</method>
<method name="oneshot_node_set_fadeout_time">
<argument index="0" name="id" type="String">
</argument>
<argument index="1" name="time_sec" type="float">
</argument>
<description>
</description>
</method>
<method name="oneshot_node_set_filter_path">
<argument index="0" name="id" type="String">
</argument>
<argument index="1" name="path" type="NodePath">
</argument>
<argument index="2" name="enable" type="bool">
</argument>
<description>
</description>
</method>
<method name="oneshot_node_start">
<argument index="0" name="id" type="String">
</argument>
<description>
</description>
</method>
<method name="oneshot_node_stop">
<argument index="0" name="id" type="String">
</argument>
<description>
</description>
</method>
<method name="recompute_caches">
<description>
</description>
</method>
<method name="remove_node">
<argument index="0" name="id" type="String">
</argument>
<description>
</description>
</method>
<method name="reset">
<description>
</description>
</method>
<method name="set_active">
<argument index="0" name="enabled" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_animation_process_mode">
<argument index="0" name="mode" type="int">
</argument>
<description>
</description>
</method>
<method name="set_base_path">
<argument index="0" name="path" type="NodePath">
</argument>
<description>
</description>
</method>
<method name="set_master_player">
<argument index="0" name="nodepath" type="NodePath">
</argument>
<description>
</description>
</method>
<method name="timescale_node_get_scale" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="id" type="String">
</argument>
<description>
</description>
</method>
<method name="timescale_node_set_scale">
<argument index="0" name="id" type="String">
</argument>
<argument index="1" name="scale" type="float">
</argument>
<description>
</description>
</method>
<method name="timeseek_node_seek">
<argument index="0" name="id" type="String">
</argument>
<argument index="1" name="pos_sec" type="float">
</argument>
<description>
</description>
</method>
<method name="transition_node_delete_input">
<argument index="0" name="id" type="String">
</argument>
<argument index="1" name="input_idx" type="int">
</argument>
<description>
</description>
</method>
<method name="transition_node_get_current" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="id" type="String">
</argument>
<description>
</description>
</method>
<method name="transition_node_get_input_count" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="id" type="String">
</argument>
<description>
</description>
</method>
<method name="transition_node_get_xfade_time" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="id" type="String">
</argument>
<description>
</description>
</method>
<method name="transition_node_has_input_auto_advance" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="id" type="String">
</argument>
<argument index="1" name="input_idx" type="int">
</argument>
<description>
</description>
</method>
<method name="transition_node_set_current">
<argument index="0" name="id" type="String">
</argument>
<argument index="1" name="input_idx" type="int">
</argument>
<description>
</description>
</method>
<method name="transition_node_set_input_auto_advance">
<argument index="0" name="id" type="String">
</argument>
<argument index="1" name="input_idx" type="int">
</argument>
<argument index="2" name="enable" type="bool">
</argument>
<description>
</description>
</method>
<method name="transition_node_set_input_count">
<argument index="0" name="id" type="String">
</argument>
<argument index="1" name="count" type="int">
</argument>
<description>
</description>
</method>
<method name="transition_node_set_xfade_time">
<argument index="0" name="id" type="String">
</argument>
<argument index="1" name="time_sec" type="float">
</argument>
<description>
</description>
</method>
</methods>
<constants>
<constant name="NODE_OUTPUT" value="0">
</constant>
<constant name="NODE_ANIMATION" value="1">
</constant>
<constant name="NODE_ONESHOT" value="2">
</constant>
<constant name="NODE_MIX" value="3">
</constant>
<constant name="NODE_BLEND2" value="4">
</constant>
<constant name="NODE_BLEND3" value="5">
</constant>
<constant name="NODE_BLEND4" value="6">
</constant>
<constant name="NODE_TIMESCALE" value="7">
</constant>
<constant name="NODE_TIMESEEK" value="8">
</constant>
<constant name="NODE_TRANSITION" value="9">
</constant>
</constants>
</class>
<class name="Area" inherits="CollisionObject" category="Core">
<brief_description>
General purpose area detection and influence for 3D physics.
</brief_description>
<description>
General purpose area detection for 3D physics. Areas can be used for detection of objects that enter/exit them, as well as overriding space parameters (changing gravity, damping, etc). For this, use any space override different from AREA_SPACE_OVERRIDE_DISABLE and point gravity at the center of mass.
</description>
<methods>
<method name="get_angular_damp" qualifiers="const">
<return type="float">
</return>
<description>
Return the angular damp rate.
</description>
</method>
<method name="get_gravity" qualifiers="const">
<return type="float">
</return>
<description>
Return the gravity intensity.
</description>
</method>
<method name="get_gravity_distance_scale" qualifiers="const">
<return type="float">
</return>
<description>
Return the falloff factor for point gravity.
</description>
</method>
<method name="get_gravity_vector" qualifiers="const">
<return type="Vector3">
</return>
<description>
Return the gravity vector. If gravity is a point (see [method is_gravity_a_point]), this will be the attraction center.
</description>
</method>
<method name="get_linear_damp" qualifiers="const">
<return type="float">
</return>
<description>
Return the linear damp rate.
</description>
</method>
<method name="get_overlapping_areas" qualifiers="const">
<return type="Array">
</return>
<description>
Return a list of the areas that are totally or partially inside this area.
</description>
</method>
<method name="get_overlapping_bodies" qualifiers="const">
<return type="Array">
</return>
<description>
Return a list of the bodies ([PhysicsBody]) that are totally or partially inside this area.
</description>
</method>
<method name="get_priority" qualifiers="const">
<return type="float">
</return>
<description>
Return the processing order of this area.
</description>
</method>
<method name="get_space_override_mode" qualifiers="const">
<return type="int">
</return>
<description>
Return the space override mode.
</description>
</method>
<method name="is_gravity_a_point" qualifiers="const">
<return type="bool">
</return>
<description>
Return whether gravity is a point. A point gravity will attract objects towards it, as opposed to a gravity vector, which moves them in a given direction.
</description>
</method>
<method name="is_monitorable" qualifiers="const">
<return type="bool">
</return>
<description>
Return whether this area can be detected by other, monitoring, areas.
</description>
</method>
<method name="is_monitoring_enabled" qualifiers="const">
<return type="bool">
</return>
<description>
Return whether this area detects bodies/areas entering/exiting it.
</description>
</method>
<method name="overlaps_area" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="area" type="Object">
</argument>
<description>
Return whether the area passed is totally or partially inside this area.
</description>
</method>
<method name="overlaps_body" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="body" type="Object">
</argument>
<description>
Return whether the body passed is totally or partially inside this area.
</description>
</method>
<method name="set_angular_damp">
<argument index="0" name="angular_damp" type="float">
</argument>
<description>
Set the rate at which objects stop spinning in this area, if there are not any other forces making it spin. The value is a fraction of its current speed, lost per second. Thus, a value of 1.0 should mean stopping immediately, and 0.0 means the object never stops.
In practice, as the fraction of speed lost gets smaller with each frame, a value of 1.0 does not mean the object will stop in exactly one second. Only when the physics calculations are done at 1 frame per second, it does stop in a second.
</description>
</method>
<method name="set_enable_monitoring">
<argument index="0" name="enable" type="bool">
</argument>
<description>
Set whether this area can detect bodies/areas entering/exiting it.
</description>
</method>
<method name="set_gravity">
<argument index="0" name="gravity" type="float">
</argument>
<description>
Set the gravity intensity. This is useful to alter the force of gravity without altering its direction.
This value multiplies the gravity vector, whether it is the given vector ([method set_gravity_vector]), or a calculated one (when using a center of gravity).
</description>
</method>
<method name="set_gravity_distance_scale">
<argument index="0" name="distance_scale" type="float">
</argument>
<description>
Set the falloff factor for point gravity. The greater this value is, the faster the strength of gravity decreases with the square of distance.
</description>
</method>
<method name="set_gravity_is_point">
<argument index="0" name="enable" type="bool">
</argument>
<description>
When overriding space parameters, this method sets whether this area has a center of gravity. To set/get the location of the center of gravity, use [method set_gravity_vector]/[method get_gravity_vector].
</description>
</method>
<method name="set_gravity_vector">
<argument index="0" name="vector" type="Vector3">
</argument>
<description>
Set the gravity vector. This vector does not have to be normalized.
If gravity is a point (see [method is_gravity_a_point]), this will be the attraction center.
</description>
</method>
<method name="set_linear_damp">
<argument index="0" name="linear_damp" type="float">
</argument>
<description>
Set the rate at which objects stop moving in this area, if there are not any other forces moving it. The value is a fraction of its current speed, lost per second. Thus, a value of 1.0 should mean stopping immediately, and 0.0 means the object never stops.
In practice, as the fraction of speed lost gets smaller with each frame, a value of 1.0 does not mean the object will stop in exactly one second. Only when the physics calculations are done at 1 frame per second, it does stop in a second.
</description>
</method>
<method name="set_monitorable">
<argument index="0" name="enable" type="bool">
</argument>
<description>
Set whether this area can be detected by other, monitoring, areas. Only areas need to be marked as monitorable. Bodies are always so.
</description>
</method>
<method name="set_priority">
<argument index="0" name="priority" type="float">
</argument>
<description>
Set the order in which the area is processed. Greater values mean the area gets processed first. This is useful for areas which have an space override different from AREA_SPACE_OVERRIDE_DISABLED or AREA_SPACE_OVERRIDE_COMBINE, as they replace values, and are thus order-dependent.
Areas with the same priority value get evaluated in an unpredictable order, and should be differentiated if evaluation order is to be important.
</description>
</method>
<method name="set_space_override_mode">
<argument index="0" name="enable" type="int">
</argument>
<description>
Set the space override mode. This mode controls how an area affects gravity and damp.
AREA_SPACE_OVERRIDE_DISABLED: This area does not affect gravity/damp. These are generally areas that exist only to detect collisions, and objects entering or exiting them.
AREA_SPACE_OVERRIDE_COMBINE: This area adds its gravity/damp values to whatever has been calculated so far. This way, many overlapping areas can combine their physics to make interesting effects.
AREA_SPACE_OVERRIDE_COMBINE_REPLACE: This area adds its gravity/damp values to whatever has been calculated so far. Then stops taking into account the rest of the areas, even the default one.
AREA_SPACE_OVERRIDE_REPLACE: This area replaces any gravity/damp, even the default one, and stops taking into account the rest of the areas.
AREA_SPACE_OVERRIDE_REPLACE_COMBINE: This area replaces any gravity/damp calculated so far, but keeps calculating the rest of the areas, down to the default one.
</description>
</method>
</methods>
<signals>
<signal name="area_enter">
<argument index="0" name="area" type="Object">
</argument>
<description>
This signal is triggered only once when an area enters this area. The only parameter passed is the area that entered this area.
</description>
</signal>
<signal name="area_enter_shape">
<argument index="0" name="area_id" type="int">
</argument>
<argument index="1" name="area" type="Object">
</argument>
<argument index="2" name="area_shape" type="int">
</argument>
<argument index="3" name="area_shape" type="int">
</argument>
<description>
This signal triggers only once when an area enters this area. The first parameter is the area's [RID]. The second one is the area as an object. The third one is the index of the shape entering this area, and the fourth one is the index of the shape in this area that reported the entering.
</description>
</signal>
<signal name="area_exit">
<argument index="0" name="area" type="Object">
</argument>
<description>
This signal is triggered only once when an area exits this area. The only parameter passed is the area that exited this area.
</description>
</signal>
<signal name="area_exit_shape">
<argument index="0" name="area_id" type="int">
</argument>
<argument index="1" name="area" type="Object">
</argument>
<argument index="2" name="area_shape" type="int">
</argument>
<argument index="3" name="area_shape" type="int">
</argument>
<description>
This signal triggers only once when an area exits this area. The first parameter is the area's [RID]. The second one is the area as an object. The third one is the index of the shape entering this area, and the fourth one is the index of the shape in this area that reported the entering.
</description>
</signal>
<signal name="body_enter">
<argument index="0" name="body" type="Object">
</argument>
<description>
This signal is triggered only once when a body enters this area. The only parameter passed is the body that entered this area.
</description>
</signal>
<signal name="body_enter_shape">
<argument index="0" name="body_id" type="int">
</argument>
<argument index="1" name="body" type="Object">
</argument>
<argument index="2" name="body_shape" type="int">
</argument>
<argument index="3" name="area_shape" type="int">
</argument>
<description>
This signal triggers only once when a body enters this area. The first parameter is the body's [RID]. The second one is the body as an object. The third one is the index of the shape of the body that entered this area, and the fourth one is the index of the shape in this area that reported the entering.
</description>
</signal>
<signal name="body_exit">
<argument index="0" name="body" type="Object">
</argument>
<description>
This signal is triggered only once when a body exits this area. The only parameter passed is the body that exited this area.
</description>
</signal>
<signal name="body_exit_shape">
<argument index="0" name="body_id" type="int">
</argument>
<argument index="1" name="body" type="Object">
</argument>
<argument index="2" name="body_shape" type="int">
</argument>
<argument index="3" name="area_shape" type="int">
</argument>
<description>
This signal triggers only once when a body exits this area. The first parameter is the body's [RID]. The second one is the body as an object. The third one is the index of the shape exiting this area, and the fourth one is the index of the shape in this area that reported the exit.
</description>
</signal>
</signals>
<constants>
</constants>
</class>
<class name="Area2D" inherits="CollisionObject2D" category="Core">
<brief_description>
General purpose area detection and influence for 2D physics.
</brief_description>
<description>
General purpose area detection for 2D physics. Areas can be used for detection of objects that enter/exit them, as well as overriding space parameters (changing gravity, damping, etc). For this, use any space override different from AREA_SPACE_OVERRIDE_DISABLE and point gravity at the center of mass.
</description>
<methods>
<method name="get_angular_damp" qualifiers="const">
<return type="float">
</return>
<description>
Return the angular damp rate.
</description>
</method>
<method name="get_collision_mask" qualifiers="const">
<return type="int">
</return>
<description>
Return the physics layers this area can scan for collisions.
</description>
</method>
<method name="get_collision_mask_bit" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="bit" type="int">
</argument>
<description>
Return an individual bit on the collision mask.
</description>
</method>
<method name="get_gravity" qualifiers="const">
<return type="float">
</return>
<description>
Return the gravity intensity.
</description>
</method>
<method name="get_gravity_distance_scale" qualifiers="const">
<return type="float">
</return>
<description>
Return the falloff factor for point gravity.
</description>
</method>
<method name="get_gravity_vector" qualifiers="const">
<return type="Vector2">
</return>
<description>
Return the gravity vector. If gravity is a point (see [method is_gravity_a_point]), this will be the attraction center.
</description>
</method>
<method name="get_layer_mask" qualifiers="const">
<return type="int">
</return>
<description>
Return the physics layer this area is in.
</description>
</method>
<method name="get_layer_mask_bit" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="bit" type="int">
</argument>
<description>
Return an individual bit on the layer mask.
</description>
</method>
<method name="get_linear_damp" qualifiers="const">
<return type="float">
</return>
<description>
Return the linear damp rate.
</description>
</method>
<method name="get_overlapping_areas" qualifiers="const">
<return type="Array">
</return>
<description>
Return a list of the areas that are totally or partially inside this area.
</description>
</method>
<method name="get_overlapping_bodies" qualifiers="const">
<return type="Array">
</return>
<description>
Return a list of the bodies ([PhysicsBody2D]) that are totally or partially inside this area.
</description>
</method>
<method name="get_priority" qualifiers="const">
<return type="float">
</return>
<description>
Return the processing order of this area.
</description>
</method>
<method name="get_space_override_mode" qualifiers="const">
<return type="int">
</return>
<description>
Return the space override mode.
</description>
</method>
<method name="is_gravity_a_point" qualifiers="const">
<return type="bool">
</return>
<description>
Return whether gravity is a point. A point gravity will attract objects towards it, as opposed to a gravity vector, which moves them in a given direction.
</description>
</method>
<method name="is_monitorable" qualifiers="const">
<return type="bool">
</return>
<description>
Return whether this area can be detected by other, monitoring, areas.
</description>
</method>
<method name="is_monitoring_enabled" qualifiers="const">
<return type="bool">
</return>
<description>
Return whether this area detects bodies/areas entering/exiting it.
</description>
</method>
<method name="overlaps_area" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="area" type="Object">
</argument>
<description>
Return whether the area passed is totally or partially inside this area.
</description>
</method>
<method name="overlaps_body" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="body" type="Object">
</argument>
<description>
Return whether the body passed is totally or partially inside this area.
</description>
</method>
<method name="set_angular_damp">
<argument index="0" name="angular_damp" type="float">
</argument>
<description>
Set the rate at which objects stop spinning in this area, if there are not any other forces making it spin. The value is a fraction of its current speed, lost per second. Thus, a value of 1.0 should mean stopping immediately, and 0.0 means the object never stops.
In practice, as the fraction of speed lost gets smaller with each frame, a value of 1.0 does not mean the object will stop in exactly one second. Only when the physics calculations are done at 1 frame per second, it does stop in a second.
</description>
</method>
<method name="set_collision_mask">
<argument index="0" name="collision_mask" type="int">
</argument>
<description>
Set the physics layers this area can scan for collisions.
</description>
</method>
<method name="set_collision_mask_bit">
<argument index="0" name="bit" type="int">
</argument>
<argument index="1" name="value" type="bool">
</argument>
<description>
Set/clear individual bits on the collision mask. This makes selecting the areas scanned easier.
</description>
</method>
<method name="set_enable_monitoring">
<argument index="0" name="enable" type="bool">
</argument>
<description>
Set whether this area can detect bodies/areas entering/exiting it.
</description>
</method>
<method name="set_gravity">
<argument index="0" name="gravity" type="float">
</argument>
<description>
Set the gravity intensity. This is useful to alter the force of gravity without altering its direction.
This value multiplies the gravity vector, whether it is the given vector ([method set_gravity_vector]), or a calculated one (when using a center of gravity).
</description>
</method>
<method name="set_gravity_distance_scale">
<argument index="0" name="distance_scale" type="float">
</argument>
<description>
Set the falloff factor for point gravity. The greater this value is, the faster the strength of gravity decreases with the square of distance.
</description>
</method>
<method name="set_gravity_is_point">
<argument index="0" name="enable" type="bool">
</argument>
<description>
When overriding space parameters, this method sets whether this area has a center of gravity. To set/get the location of the center of gravity, use [method set_gravity_vector]/[method get_gravity_vector].
</description>
</method>
<method name="set_gravity_vector">
<argument index="0" name="vector" type="Vector2">
</argument>
<description>
Set the gravity vector. This vector does not have to be normalized.
If gravity is a point (see [method is_gravity_a_point]), this will be the attraction center.
</description>
</method>
<method name="set_layer_mask">
<argument index="0" name="layer_mask" type="int">
</argument>
<description>
Set the physics layers this area is in.
Collidable objects can exist in any of 32 different layers. These layers are not visual, but more of a tagging system instead. A collidable can use these layers/tags to select with which objects it can collide, using [method set_collision_mask].
A contact is detected if object A is in any of the layers that object B scans, or object B is in any layer scanned by object A.
</description>
</method>
<method name="set_layer_mask_bit">
<argument index="0" name="bit" type="int">
</argument>
<argument index="1" name="value" type="bool">
</argument>
<description>
Set/clear individual bits on the layer mask. This makes getting an area in/out of only one layer easier.
</description>
</method>
<method name="set_linear_damp">
<argument index="0" name="linear_damp" type="float">
</argument>
<description>
Set the rate at which objects stop moving in this area, if there are not any other forces moving it. The value is a fraction of its current speed, lost per second. Thus, a value of 1.0 should mean stopping immediately, and 0.0 means the object never stops.
In practice, as the fraction of speed lost gets smaller with each frame, a value of 1.0 does not mean the object will stop in exactly one second. Only when the physics calculations are done at 1 frame per second, it does stop in a second.
</description>
</method>
<method name="set_monitorable">
<argument index="0" name="enable" type="bool">
</argument>
<description>
Set whether this area can be detected by other, monitoring, areas. Only areas need to be marked as monitorable. Bodies are always so.
</description>
</method>
<method name="set_priority">
<argument index="0" name="priority" type="float">
</argument>
<description>
Set the order in which the area is processed. Greater values mean the area gets processed first. This is useful for areas which have an space override different from AREA_SPACE_OVERRIDE_DISABLED or AREA_SPACE_OVERRIDE_COMBINE, as they replace values, and are thus order-dependent.
Areas with the same priority value get evaluated in an unpredictable order, and should be differentiated if evaluation order is to be important.
</description>
</method>
<method name="set_space_override_mode">
<argument index="0" name="enable" type="int">
</argument>
<description>
Set the space override mode. This mode controls how an area affects gravity and damp.
AREA_SPACE_OVERRIDE_DISABLED: This area does not affect gravity/damp. These are generally areas that exist only to detect collisions, and objects entering or exiting them.
AREA_SPACE_OVERRIDE_COMBINE: This area adds its gravity/damp values to whatever has been calculated so far. This way, many overlapping areas can combine their physics to make interesting effects.
AREA_SPACE_OVERRIDE_COMBINE_REPLACE: This area adds its gravity/damp values to whatever has been calculated so far. Then stops taking into account the rest of the areas, even the default one.
AREA_SPACE_OVERRIDE_REPLACE: This area replaces any gravity/damp, even the default one, and stops taking into account the rest of the areas.
AREA_SPACE_OVERRIDE_REPLACE_COMBINE: This area replaces any gravity/damp calculated so far, but keeps calculating the rest of the areas, down to the default one.
</description>
</method>
</methods>
<signals>
<signal name="area_enter">
<argument index="0" name="area" type="Object">
</argument>
<description>
This signal is triggered only once when an area enters this area. The only parameter passed is the area that entered this area.
</description>
</signal>
<signal name="area_enter_shape">
<argument index="0" name="area_id" type="int">
</argument>
<argument index="1" name="area" type="Object">
</argument>
<argument index="2" name="area_shape" type="int">
</argument>
<argument index="3" name="area_shape" type="int">
</argument>
<description>
This signal triggers only once when an area enters this area. The first parameter is the area's [RID]. The second one is the area as an object. The third one is the index of the shape entering this area, and the fourth one is the index of the shape in this area that reported the entering.
</description>
</signal>
<signal name="area_exit">
<argument index="0" name="area" type="Object">
</argument>
<description>
This signal is triggered only once when an area exits this area. The only parameter passed is the area that exited this area.
</description>
</signal>
<signal name="area_exit_shape">
<argument index="0" name="area_id" type="int">
</argument>
<argument index="1" name="area" type="Object">
</argument>
<argument index="2" name="area_shape" type="int">
</argument>
<argument index="3" name="area_shape" type="int">
</argument>
<description>
This signal triggers only once when an area exits this area. The first parameter is the area's [RID]. The second one is the area as an object. The third one is the index of the shape entering this area, and the fourth one is the index of the shape in this area that reported the entering.
</description>
</signal>
<signal name="body_enter">
<argument index="0" name="body" type="Object">
</argument>
<description>
This signal is triggered only once when a body enters this area. The only parameter passed is the body that entered this area.
</description>
</signal>
<signal name="body_enter_shape">
<argument index="0" name="body_id" type="int">
</argument>
<argument index="1" name="body" type="Object">
</argument>
<argument index="2" name="body_shape" type="int">
</argument>
<argument index="3" name="area_shape" type="int">
</argument>
<description>
This signal triggers only once when a body enters this area. The first parameter is the body's [RID]. The second one is the body as an object. The third one is the index of the shape of the body that entered this area, and the fourth one is the index of the shape in this area that reported the entering.
</description>
</signal>
<signal name="body_exit">
<argument index="0" name="body" type="Object">
</argument>
<description>
This signal is triggered only once when a body exits this area. The only parameter passed is the body that exited this area.
</description>
</signal>
<signal name="body_exit_shape">
<argument index="0" name="body_id" type="int">
</argument>
<argument index="1" name="body" type="Object">
</argument>
<argument index="2" name="body_shape" type="int">
</argument>
<argument index="3" name="area_shape" type="int">
</argument>
<description>
This signal triggers only once when a body exits this area. The first parameter is the body's [RID]. The second one is the body as an object. The third one is the index of the shape exiting this area, and the fourth one is the index of the shape in this area that reported the exit.
</description>
</signal>
</signals>
<constants>
</constants>
</class>
<class name="Array" category="Built-In Types">
<brief_description>
Generic array datatype.
</brief_description>
<description>
Generic array, contains several elements of any type, accessible by numerical index starting at 0. Arrays are always passed by reference.
</description>
<methods>
<method name="Array">
<return type="Array">
</return>
<argument index="0" name="from" type="ColorArray">
</argument>
<description>
Construct an array from a [RawArray].
</description>
</method>
<method name="Array">
<return type="Array">
</return>
<argument index="0" name="from" type="Vector3Array">
</argument>
<description>
Construct an array from a [RawArray].
</description>
</method>
<method name="Array">
<return type="Array">
</return>
<argument index="0" name="from" type="Vector2Array">
</argument>
<description>
Construct an array from a [RawArray].
</description>
</method>
<method name="Array">
<return type="Array">
</return>
<argument index="0" name="from" type="StringArray">
</argument>
<description>
Construct an array from a [RawArray].
</description>
</method>
<method name="Array">
<return type="Array">
</return>
<argument index="0" name="from" type="RealArray">
</argument>
<description>
Construct an array from a [RawArray].
</description>
</method>
<method name="Array">
<return type="Array">
</return>
<argument index="0" name="from" type="IntArray">
</argument>
<description>
Construct an array from a [RawArray].
</description>
</method>
<method name="Array">
<return type="Array">
</return>
<argument index="0" name="from" type="RawArray">
</argument>
<description>
Construct an array from a [RawArray].
</description>
</method>
<method name="append">
<argument index="0" name="value" type="var">
</argument>
<description>
Append an element at the end of the array (alias of [method push_back]).
</description>
</method>
<method name="clear">
<description>
Clear the array (resize to 0).
</description>
</method>
<method name="empty">
<return type="bool">
</return>
<description>
Return true if the array is empty (size==0).
</description>
</method>
<method name="erase">
<argument index="0" name="value" type="var">
</argument>
<description>
Remove the first occurrence of a value from the array.
</description>
</method>
<method name="find">
<return type="int">
</return>
<argument index="0" name="value" type="var">
</argument>
<description>
Searches the array for a value and returns its index or -1 if not found.
</description>
</method>
<method name="hash">
<return type="int">
</return>
<description>
Return a hashed integer value representing the array contents.
</description>
</method>
<method name="insert">
<argument index="0" name="pos" type="int">
</argument>
<argument index="1" name="value" type="var">
</argument>
<description>
Insert a new element at a given position in the array. The position must be valid, or at the end of the array (pos==size()).
</description>
</method>
<method name="invert">
<description>
Reverse the order of the elements in the array (so first element will now be the last).
</description>
</method>
<method name="is_shared">
<return type="bool">
</return>
<description>
Get whether this is a shared array instance.
</description>
</method>
<method name="pop_back">
<description>
Remove the last element of the array.
</description>
</method>
<method name="pop_front">
<description>
Remove the first element of the array.
</description>
</method>
<method name="push_back">
<argument index="0" name="value" type="var">
</argument>
<description>
Append an element at the end of the array.
</description>
</method>
<method name="push_front">
<argument index="0" name="value" type="var">
</argument>
<description>
Add an element at the beginning of the array.
</description>
</method>
<method name="remove">
<argument index="0" name="pos" type="int">
</argument>
<description>
Remove an element from the array by index.
</description>
</method>
<method name="resize">
<argument index="0" name="pos" type="int">
</argument>
<description>
Resize the array to contain a different number of elements. If the array size is smaller, elements are cleared, if bigger, new elements are Null.
</description>
</method>
<method name="size">
<return type="int">
</return>
<description>
Return the amount of elements in the array.
</description>
</method>
<method name="sort">
<description>
Sort the array using natural order.
</description>
</method>
<method name="sort_custom">
<argument index="0" name="obj" type="Object">
</argument>
<argument index="1" name="func" type="String">
</argument>
<description>
Sort the array using a custom method. The arguments are an object that holds the method and the name of such method. The custom method receives two arguments (a pair of elements from the array) and must return true if the first argument is less than the second, and return false otherwise.
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="AtlasTexture" inherits="Texture" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
<method name="get_atlas" qualifiers="const">
<return type="Texture">
</return>
<description>
</description>
</method>
<method name="get_margin" qualifiers="const">
<return type="Rect2">
</return>
<description>
</description>
</method>
<method name="get_region" qualifiers="const">
<return type="Rect2">
</return>
<description>
</description>
</method>
<method name="set_atlas">
<argument index="0" name="atlas" type="Texture">
</argument>
<description>
</description>
</method>
<method name="set_margin">
<argument index="0" name="margin" type="Rect2">
</argument>
<description>
</description>
</method>
<method name="set_region">
<argument index="0" name="region" type="Rect2">
</argument>
<description>
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="AudioServer" inherits="Object" category="Core">
<brief_description>
Server interface for low level audio access.
</brief_description>
<description>
AudioServer is a low level server interface for audio access. It is in charge of creating sample data (playable audio) as well as its playback via a voice interface.
</description>
<methods>
<method name="free_rid">
<argument index="0" name="rid" type="RID">
</argument>
<description>
Free a [RID] resource.
</description>
</method>
<method name="get_event_voice_global_volume_scale" qualifiers="const">
<return type="float">
</return>
<description>
Return the global scale for event-based stream playback.
</description>
</method>
<method name="get_fx_global_volume_scale" qualifiers="const">
<return type="float">
</return>
<description>
Return the global scale for all voices.
</description>
</method>
<method name="get_stream_global_volume_scale" qualifiers="const">
<return type="float">
</return>
<description>
Return the global scale for stream playback.
</description>
</method>
<method name="sample_create">
<return type="RID">
</return>
<argument index="0" name="format" type="int">
</argument>
<argument index="1" name="stereo" type="bool">
</argument>
<argument index="2" name="length" type="int">
</argument>
<description>
Create an audio sample, return a [RID] referencing it. The sample will be created with a given format (from the SAMPLE_FORMAT_* enum), a total length (in samples, not bytes), in either stereo or mono.
Even if a stereo sample consists of a left sample and a right sample, it still counts as one sample for length purposes.
</description>
</method>
<method name="sample_get_data" qualifiers="const">
<return type="RawArray">
</return>
<argument index="0" name="sample" type="RID">
</argument>
<description>
Return the sample data as an array of bytes. The length will be the expected length in bytes.
</description>
</method>
<method name="sample_get_description" qualifiers="const">
<return type="String">
</return>
<argument index="0" name="sample" type="RID">
</argument>
<description>
Return the description of an audio sample. Mainly used for organization.
</description>
</method>
<method name="sample_get_format" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="sample" type="RID">
</argument>
<description>
Return the format of the audio sample, in the form of the SAMPLE_FORMAT_* enum.
</description>
</method>
<method name="sample_get_length" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="sample" type="RID">
</argument>
<description>
Return the length in samples (not bytes) of the audio sample. Even if a stereo sample consists of a left sample and a right sample, it still counts as one sample for length purposes.
</description>
</method>
<method name="sample_get_loop_begin" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="sample" type="RID">
</argument>
<description>
Return the initial loop point of a sample. Only has effect if sample loop is enabled. See [method sample_set_loop_format].
</description>
</method>
<method name="sample_get_loop_end" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="sample" type="RID">
</argument>
<description>
Return the final loop point of a sample. Only has effect if sample loop is enabled. See [method sample_set_loop_format].
</description>
</method>
<method name="sample_get_loop_format" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="sample" type="RID">
</argument>
<description>
Return the loop format for a sample, as a value from the SAMPLE_LOOP_* enum.
</description>
</method>
<method name="sample_get_mix_rate" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="sample" type="RID">
</argument>
<description>
Return the mix rate of the given sample.
</description>
</method>
<method name="sample_is_stereo" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="sample" type="RID">
</argument>
<description>
Return whether the sample is stereo (2 channels).
</description>
</method>
<method name="sample_set_data">
<argument index="0" name="sample" type="RID">
</argument>
<argument index="1" name="data" type="RawArray">
</argument>
<description>
Set the sample data for a given sample as an array of bytes. The length must be equal to the sample length expected in bytes or an error will be produced. The byte length can be calculated as follows:
Get the sample length ([method sample_get_length]).
If the sample format is SAMPLE_FORMAT_PCM16, multiply it by 2.
If the sample format is SAMPLE_FORMAT_IMA_ADPCM, divide it by 2 (rounding any fraction up), then add 4.
If the sample is stereo ([method sample_is_stereo]), multiply it by 2.
</description>
</method>
<method name="sample_set_description">
<argument index="0" name="sample" type="RID">
</argument>
<argument index="1" name="description" type="String">
</argument>
<description>
Set the description of an audio sample. Mainly used for organization.
</description>
</method>
<method name="sample_set_loop_begin">
<argument index="0" name="sample" type="RID">
</argument>
<argument index="1" name="pos" type="int">
</argument>
<description>
Set the initial loop point of a sample. Only has effect if sample loop is enabled. See [method sample_set_loop_format].
</description>
</method>
<method name="sample_set_loop_end">
<argument index="0" name="sample" type="RID">
</argument>
<argument index="1" name="pos" type="int">
</argument>
<description>
Set the final loop point of a sample. Only has effect if sample loop is enabled. See [method sample_set_loop_format].
</description>
</method>
<method name="sample_set_loop_format">
<argument index="0" name="sample" type="RID">
</argument>
<argument index="1" name="loop_format" type="int">
</argument>
<description>
Set the loop format for a sample from the SAMPLE_LOOP_* enum. As a warning, Ping Pong loops may not be available on some hardware-mixing platforms.
</description>
</method>
<method name="sample_set_mix_rate">
<argument index="0" name="sample" type="RID">
</argument>
<argument index="1" name="mix_rate" type="int">
</argument>
<description>
Change the default mix rate of a given sample.
</description>
</method>
<method name="sample_set_signed_data">
<argument index="0" name="sample" type="RID">
</argument>
<argument index="1" name="data" type="RealArray">
</argument>
<description>
Set the sample data for a given sample as an array of floats. The length must be equal to the sample length or an error will be produced.
For this method, a stereo sample is made from two samples. Thus, in case of a stereo sample, the array length must be twice the length returned by [method sample_get_length].
Trying to alter a SAMPLE_FORMAT_IMA_ADPCM sample is not supported. It will throw an error to the console, but will not alter the sample data.
</description>
</method>
<method name="set_event_voice_global_volume_scale">
<argument index="0" name="scale" type="float">
</argument>
<description>
Set global scale for event-based stream ([EventStream]) playback. Default is 1.0.
</description>
</method>
<method name="set_fx_global_volume_scale">
<argument index="0" name="scale" type="float">
</argument>
<description>
Set global scale for all voices (not including streams). Default is 1.0.
</description>
</method>
<method name="set_stream_global_volume_scale">
<argument index="0" name="scale" type="float">
</argument>
<description>
Set global scale for stream playback. Default is 1.0.
</description>
</method>
<method name="voice_create">
<return type="RID">
</return>
<description>
Allocate a voice for playback. Voices are persistent. A voice can play a single sample at the same time. See [method sample_create].
</description>
</method>
<method name="voice_get_chorus" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="voice" type="RID">
</argument>
<description>
Return the current chorus send for a given voice (0 to 1).
</description>
</method>
<method name="voice_get_filter_cutoff" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="voice" type="RID">
</argument>
<description>
Return the current filter cutoff (in hz) for a given voice.
</description>
</method>
<method name="voice_get_filter_resonance" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="voice" type="RID">
</argument>
<description>
Return the current filter resonance for a given voice.
</description>
</method>
<method name="voice_get_filter_type" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="voice" type="RID">
</argument>
<description>
Return the current selected filter type for a given voice, from the FILTER_* enum.
</description>
</method>
<method name="voice_get_mix_rate" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="voice" type="RID">
</argument>
<description>
Return the current mix rate for a given voice.
</description>
</method>
<method name="voice_get_pan" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="voice" type="RID">
</argument>
<description>
Return the current pan for a given voice (-1 to +1 range).
</description>
</method>
<method name="voice_get_pan_depth" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="voice" type="RID">
</argument>
<description>
Return the current pan depth for a given voice (-1 to +1 range).
</description>
</method>
<method name="voice_get_pan_height" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="voice" type="RID">
</argument>
<description>
Return the current pan height for a given voice (-1 to +1 range).
</description>
</method>
<method name="voice_get_reverb" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="voice" type="RID">
</argument>
<description>
Return the current reverb send for a given voice (0 to 1).
</description>
</method>
<method name="voice_get_reverb_type" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="voice" type="RID">
</argument>
<description>
Return the current reverb type for a given voice from the REVERB_* enum.
</description>
</method>
<method name="voice_get_volume" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="voice" type="RID">
</argument>
<description>
Return the current volume for a given voice.
</description>
</method>
<method name="voice_is_positional" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="voice" type="RID">
</argument>
<description>
Return whether the current voice is positional. See [method voice_set_positional].
</description>
</method>
<method name="voice_play">
<argument index="0" name="voice" type="RID">
</argument>
<argument index="1" name="sample" type="RID">
</argument>
<description>
Start playback of a given voice using a given sample. If the voice was already playing it will be restarted.
</description>
</method>
<method name="voice_set_chorus">
<argument index="0" name="voice" type="RID">
</argument>
<argument index="1" name="chorus" type="float">
</argument>
<description>
Set chorus send post processing for the voice (from 0 to 1).
</description>
</method>
<method name="voice_set_filter">
<argument index="0" name="voice" type="RID">
</argument>
<argument index="1" name="type" type="int">
</argument>
<argument index="2" name="cutoff" type="float">
</argument>
<argument index="3" name="resonance" type="float">
</argument>
<argument index="4" name="gain" type="float" default="0">
</argument>
<description>
Set a resonant filter post processing for the voice. Filter type is a value from the FILTER_* enum.
</description>
</method>
<method name="voice_set_mix_rate">
<argument index="0" name="voice" type="RID">
</argument>
<argument index="1" name="rate" type="int">
</argument>
<description>
Set a different playback mix rate for the given voice.
</description>
</method>
<method name="voice_set_pan">
<argument index="0" name="voice" type="RID">
</argument>
<argument index="1" name="pan" type="float">
</argument>
<argument index="2" name="depth" type="float" default="0">
</argument>
<argument index="3" name="height" type="float" default="0">
</argument>
<description>
Change the pan of a currently playing voice and, optionally, the depth and height for a positional/3D sound. Panning values are expressed within the -1 to +1 range.
</description>
</method>
<method name="voice_set_positional">
<argument index="0" name="voice" type="RID">
</argument>
<argument index="1" name="enabled" type="bool">
</argument>
<description>
Set whether a given voice is positional. This is only interpreted as a hint and used for backends that may support binaural encoding.
</description>
</method>
<method name="voice_set_reverb">
<argument index="0" name="voice" type="RID">
</argument>
<argument index="1" name="room" type="int">
</argument>
<argument index="2" name="reverb" type="float">
</argument>
<description>
Set the reverb send post processing for the voice (from 0 to 1) and the reverb type, from the REVERB_* enum.
</description>
</method>
<method name="voice_set_volume">
<argument index="0" name="voice" type="RID">
</argument>
<argument index="1" name="volume" type="float">
</argument>
<description>
Change the volume of a currently playing voice. Volume is expressed as linear gain where 0.0 is mute and 1.0 is default.
</description>
</method>
<method name="voice_stop">
<argument index="0" name="voice" type="RID">
</argument>
<description>
Stop a given voice.
</description>
</method>
</methods>
<constants>
<constant name="SAMPLE_FORMAT_PCM8" value="0">
Sample format is 8 bits, signed.
</constant>
<constant name="SAMPLE_FORMAT_PCM16" value="1">
Sample format is 16 bits, little-endian, signed.
</constant>
<constant name="SAMPLE_FORMAT_IMA_ADPCM" value="2">
Sample format is IMA-ADPCM compressed.
</constant>
<constant name="SAMPLE_LOOP_NONE" value="0">
Sample does not loop.
</constant>
<constant name="SAMPLE_LOOP_FORWARD" value="1">
Sample loops in forward mode.
</constant>
<constant name="SAMPLE_LOOP_PING_PONG" value="2">
Sample loops in a bidirectional way.
</constant>
<constant name="FILTER_NONE" value="0">
Filter is disabled.
</constant>
<constant name="FILTER_LOWPASS" value="1">
Filter is a resonant lowpass.
</constant>
<constant name="FILTER_BANDPASS" value="2">
Filter is a resonant bandpass.
</constant>
<constant name="FILTER_HIPASS" value="3">
Filter is a resonant highpass.
</constant>
<constant name="FILTER_NOTCH" value="4">
Filter is a notch (band reject).
</constant>
<constant name="FILTER_BANDLIMIT" value="6">
Filter is a bandlimit (resonance used as highpass).
</constant>
<constant name="REVERB_SMALL" value="0">
Small reverb room (closet, bathroom, etc).
</constant>
<constant name="REVERB_MEDIUM" value="1">
Medium reverb room (living room)
</constant>
<constant name="REVERB_LARGE" value="2">
Large reverb room (warehouse).
</constant>
<constant name="REVERB_HALL" value="3">
Large reverb room with long decay.
</constant>
</constants>
</class>
<class name="AudioServerSW" inherits="AudioServer" category="Core">
<brief_description>
Software implementation of [AudioServer].
</brief_description>
<description>
This is a software audio server. It does not use any kind of hardware acceleration.
This class does not expose any new method.
</description>
<methods>
</methods>
<constants>
</constants>
</class>
<class name="AudioStream" inherits="Resource" category="Core">
<brief_description>
Base class for audio streams.
</brief_description>
<description>
Base class for audio streams. Audio streams are used for music playback, or other types of streamed sounds that don't fit or require more flexibility than a [Sample].
</description>
<methods>
</methods>
<constants>
</constants>
</class>
<class name="AudioStreamMPC" inherits="AudioStream" category="Core">
<brief_description>
MusePack audio stream driver.
</brief_description>
<description>
MusePack audio stream driver.
</description>
<methods>
</methods>
<constants>
</constants>
</class>
<class name="AudioStreamOGGVorbis" inherits="AudioStream" category="Core">
<brief_description>
OGG Vorbis audio stream driver.
</brief_description>
<description>
OGG Vorbis audio stream driver.
</description>
<methods>
</methods>
<constants>
</constants>
</class>
<class name="AudioStreamOpus" inherits="AudioStream" category="Core">
<brief_description>
Opus Codec audio stream driver.
</brief_description>
<description>
Opus Codec audio stream driver.
</description>
<methods>
</methods>
<constants>
</constants>
</class>
<class name="AudioStreamPlayback" inherits="Reference" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
<method name="get_channels" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_length" qualifiers="const">
<return type="float">
</return>
<description>
</description>
</method>
<method name="get_loop_count" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_minimum_buffer_size" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_mix_rate" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_pos" qualifiers="const">
<return type="float">
</return>
<description>
</description>
</method>
<method name="has_loop" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="is_playing" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="play">
<argument index="0" name="from_pos_sec" type="float" default="0">
</argument>
<description>
</description>
</method>
<method name="seek_pos">
<argument index="0" name="pos" type="float">
</argument>
<description>
</description>
</method>
<method name="set_loop">
<argument index="0" name="enabled" type="bool">
</argument>
<description>
</description>
</method>
<method name="stop">
<description>
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="AudioStreamSpeex" inherits="AudioStream" category="Core">
<brief_description>
Speex audio stream driver.
</brief_description>
<description>
Speex audio stream driver. Speex is very useful for compressed speech. It allows loading a very large amount of speech in memory at little IO/latency cost.
</description>
<methods>
</methods>
<constants>
</constants>
</class>
<class name="BackBufferCopy" inherits="Node2D" category="Core">
<brief_description>
Copies a region of the screen (or the whole screen) to a buffer so it can be accessed with the texscreen() shader instruction.
</brief_description>
<description>
Node for back-buffering the currently displayed screen. The region defined in the BackBufferCopy node is bufferized with the content of the screen it covers, or the entire screen according to the copy mode set. Accessing this buffer is done with the texscreen() shader instruction.
</description>
<methods>
<method name="get_copy_mode" qualifiers="const">
<return type="int">
</return>
<description>
Return the copy mode currently applied to the BackBufferCopy (refer to constants section).
</description>
</method>
<method name="get_rect" qualifiers="const">
<return type="Rect2">
</return>
<description>
Return the area covered by the BackBufferCopy.
</description>
</method>
<method name="set_copy_mode">
<argument index="0" name="copy_mode" type="int">
</argument>
<description>
Set the copy mode of the BackBufferCopy (refer to constants section).
</description>
</method>
<method name="set_rect">
<argument index="0" name="rect" type="Rect2">
</argument>
<description>
Defines the area covered by the BackBufferCopy.
</description>
</method>
</methods>
<constants>
<constant name="COPY_MODE_DISABLED" value="0">
Disables the buffering mode. This means the BackBufferCopy node will directly use the portion of screen it covers.
</constant>
<constant name="COPY_MODE_RECT" value="1">
Sets the copy mode to a region.
</constant>
<constant name="COPY_MODE_VIEWPORT" value="2">
Sets the copy mode to the entire screen.
</constant>
</constants>
</class>
<class name="BakedLight" inherits="Resource" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
<method name="add_lightmap">
<argument index="0" name="texture" type="Texture">
</argument>
<argument index="1" name="gen_size" type="Vector2">
</argument>
<description>
</description>
</method>
<method name="clear_lightmaps">
<description>
</description>
</method>
<method name="erase_lightmap">
<argument index="0" name="id" type="int">
</argument>
<description>
</description>
</method>
<method name="get_ao_radius" qualifiers="const">
<return type="float">
</return>
<description>
</description>
</method>
<method name="get_ao_strength" qualifiers="const">
<return type="float">
</return>
<description>
</description>
</method>
<method name="get_bake_flag" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="flag" type="int">
</argument>
<description>
</description>
</method>
<method name="get_bounces" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_cell_extra_margin" qualifiers="const">
<return type="float">
</return>
<description>
</description>
</method>
<method name="get_cell_subdivision" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_edge_damp" qualifiers="const">
<return type="float">
</return>
<description>
</description>
</method>
<method name="get_energy_multiplier" qualifiers="const">
<return type="float">
</return>
<description>
</description>
</method>
<method name="get_format" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_gamma_adjust" qualifiers="const">
<return type="float">
</return>
<description>
</description>
</method>
<method name="get_initial_lattice_subdiv" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_light" qualifiers="const">
<return type="RawArray">
</return>
<description>
</description>
</method>
<method name="get_mode" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_normal_damp" qualifiers="const">
<return type="float">
</return>
<description>
</description>
</method>
<method name="get_octree" qualifiers="const">
<return type="RawArray">
</return>
<description>
</description>
</method>
<method name="get_plot_size" qualifiers="const">
<return type="float">
</return>
<description>
</description>
</method>
<method name="get_sampler_octree" qualifiers="const">
<return type="IntArray">
</return>
<description>
</description>
</method>
<method name="get_saturation" qualifiers="const">
<return type="float">
</return>
<description>
</description>
</method>
<method name="get_tint" qualifiers="const">
<return type="float">
</return>
<description>
</description>
</method>
<method name="get_transfer_lightmaps_only_to_uv2" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="set_ao_radius">
<argument index="0" name="ao_radius" type="float">
</argument>
<description>
</description>
</method>
<method name="set_ao_strength">
<argument index="0" name="ao_strength" type="float">
</argument>
<description>
</description>
</method>
<method name="set_bake_flag">
<argument index="0" name="flag" type="int">
</argument>
<argument index="1" name="enabled" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_bounces">
<argument index="0" name="bounces" type="int">
</argument>
<description>
</description>
</method>
<method name="set_cell_extra_margin">
<argument index="0" name="cell_extra_margin" type="float">
</argument>
<description>
</description>
</method>
<method name="set_cell_subdivision">
<argument index="0" name="cell_subdivision" type="int">
</argument>
<description>
</description>
</method>
<method name="set_edge_damp">
<argument index="0" name="edge_damp" type="float">
</argument>
<description>
</description>
</method>
<method name="set_energy_multiplier">
<argument index="0" name="energy_multiplier" type="float">
</argument>
<description>
</description>
</method>
<method name="set_format">
<argument index="0" name="format" type="int">
</argument>
<description>
</description>
</method>
<method name="set_gamma_adjust">
<argument index="0" name="gamma_adjust" type="float">
</argument>
<description>
</description>
</method>
<method name="set_initial_lattice_subdiv">
<argument index="0" name="cell_subdivision" type="int">
</argument>
<description>
</description>
</method>
<method name="set_light">
<argument index="0" name="light" type="RawArray">
</argument>
<description>
</description>
</method>
<method name="set_mode">
<argument index="0" name="mode" type="int">
</argument>
<description>
</description>
</method>
<method name="set_normal_damp">
<argument index="0" name="normal_damp" type="float">
</argument>
<description>
</description>
</method>
<method name="set_octree">
<argument index="0" name="octree" type="RawArray">
</argument>
<description>
</description>
</method>
<method name="set_plot_size">
<argument index="0" name="plot_size" type="float">
</argument>
<description>
</description>
</method>
<method name="set_sampler_octree">
<argument index="0" name="sampler_octree" type="IntArray">
</argument>
<description>
</description>
</method>
<method name="set_saturation">
<argument index="0" name="saturation" type="float">
</argument>
<description>
</description>
</method>
<method name="set_tint">
<argument index="0" name="tint" type="float">
</argument>
<description>
</description>
</method>
<method name="set_transfer_lightmaps_only_to_uv2">
<argument index="0" name="enable" type="bool">
</argument>
<description>
</description>
</method>
</methods>
<constants>
<constant name="MODE_OCTREE" value="0">
</constant>
<constant name="MODE_LIGHTMAPS" value="1">
</constant>
<constant name="BAKE_DIFFUSE" value="0">
</constant>
<constant name="BAKE_SPECULAR" value="1">
</constant>
<constant name="BAKE_TRANSLUCENT" value="2">
</constant>
<constant name="BAKE_CONSERVE_ENERGY" value="3">
</constant>
<constant name="BAKE_MAX" value="5">
</constant>
</constants>
</class>
<class name="BakedLightInstance" inherits="VisualInstance" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
<method name="get_baked_light" qualifiers="const">
<return type="Object">
</return>
<description>
</description>
</method>
<method name="get_baked_light_instance" qualifiers="const">
<return type="RID">
</return>
<description>
</description>
</method>
<method name="set_baked_light">
<argument index="0" name="baked_light" type="Object">
</argument>
<description>
</description>
</method>
</methods>
<signals>
<signal name="baked_light_changed">
<description>
</description>
</signal>
</signals>
<constants>
</constants>
</class>
<class name="BakedLightSampler" inherits="VisualInstance" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
<method name="get_param" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="param" type="int">
</argument>
<description>
</description>
</method>
<method name="get_resolution" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="set_param">
<argument index="0" name="param" type="int">
</argument>
<argument index="1" name="value" type="float">
</argument>
<description>
</description>
</method>
<method name="set_resolution">
<argument index="0" name="resolution" type="int">
</argument>
<description>
</description>
</method>
</methods>
<constants>
<constant name="PARAM_RADIUS" value="0">
</constant>
<constant name="PARAM_STRENGTH" value="1">
</constant>
<constant name="PARAM_ATTENUATION" value="2">
</constant>
<constant name="PARAM_DETAIL_RATIO" value="3">
</constant>
<constant name="PARAM_MAX" value="4">
</constant>
</constants>
</class>
<class name="BaseButton" inherits="Control" category="Core">
<brief_description>
Provides a base class for different kinds of buttons.
</brief_description>
<description>
BaseButton is the abstract base class for buttons, so it shouldn't be used directly (It doesn't display anything). Other types of buttons inherit from it.
</description>
<methods>
<method name="_pressed" qualifiers="virtual">
<description>
Called when button is pressed.
</description>
</method>
<method name="_toggled" qualifiers="virtual">
<argument index="0" name="pressed" type="bool">
</argument>
<description>
Called when button is toggled (only if toggle_mode is active).
</description>
</method>
<method name="get_click_on_press" qualifiers="const">
<return type="bool">
</return>
<description>
Return the state of the click_on_press property (see [method set_click_on_press]).
</description>
</method>
<method name="get_draw_mode" qualifiers="const">
<return type="int">
</return>
<description>
Return the visual state used to draw the button. This is useful mainly when implementing your own draw code by either overriding _draw() or connecting to "draw" signal. The visual state of the button is defined by the DRAW_* enum.
</description>
</method>
<method name="is_disabled" qualifiers="const">
<return type="bool">
</return>
<description>
Return whether the button is in disabled state (see [method set_disabled]).
</description>
</method>
<method name="is_hovered" qualifiers="const">
<return type="bool">
</return>
<description>
Return true if mouse entered the button before it exit.
</description>
</method>
<method name="is_pressed" qualifiers="const">
<return type="bool">
</return>
<description>
If toggle_mode is active, return whether the button is toggled. If toggle_mode is not active, return whether the button is pressed down.
</description>
</method>
<method name="is_toggle_mode" qualifiers="const">
<return type="bool">
</return>
<description>
Return the toggle_mode property (see [method set_toggle_mode]).
</description>
</method>
<method name="set_click_on_press">
<argument index="0" name="enable" type="bool">
</argument>
<description>
Set the button click_on_press mode. This mode generates click events when a mouse button or key is just pressed (by default events are generated when the button/keys are released and both press and release occur in the visual area of the Button).
</description>
</method>
<method name="set_disabled">
<argument index="0" name="disabled" type="bool">
</argument>
<description>
Set the button into disabled state. When a button is disabled, it can't be clicked or toggled.
</description>
</method>
<method name="set_pressed">
<argument index="0" name="pressed" type="bool">
</argument>
<description>
Set the button to pressed state (only if toggle_mode is active).
</description>
</method>
<method name="set_toggle_mode">
<argument index="0" name="enabled" type="bool">
</argument>
<description>
Set the button toggle_mode property. Toggle mode makes the button flip state between pressed and unpressed each time its area is clicked.
</description>
</method>
</methods>
<signals>
<signal name="pressed">
<description>
This signal is emitted every time the button is pressed or toggled.
</description>
</signal>
<signal name="released">
<description>
This signal is emitted when the button was released.
</description>
</signal>
<signal name="toggled">
<argument index="0" name="pressed" type="bool">
</argument>
<description>
This signal is emitted when the button was just toggled between pressed and normal states (only if toggle_mode is active). The new state is contained in the [i]pressed[/i] argument.
</description>
</signal>
</signals>
<constants>
<constant name="DRAW_NORMAL" value="0">
The normal state (i.e. not pressed, not hovered, not toggled and enabled) of buttons.
</constant>
<constant name="DRAW_PRESSED" value="1">
The state of buttons are pressed.
</constant>
<constant name="DRAW_HOVER" value="2">
The state of buttons are hovered.
</constant>
<constant name="DRAW_DISABLED" value="3">
The state of buttons are disabled.
</constant>
</constants>
</class>
<class name="BitMap" inherits="Resource" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
<method name="create">
<argument index="0" name="size" type="Vector2">
</argument>
<description>
</description>
</method>
<method name="create_from_image_alpha">
<argument index="0" name="image" type="Image">
</argument>
<description>
</description>
</method>
<method name="get_bit" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="pos" type="Vector2">
</argument>
<description>
</description>
</method>
<method name="get_size" qualifiers="const">
<return type="Vector2">
</return>
<description>
</description>
</method>
<method name="get_true_bit_count" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="set_bit">
<argument index="0" name="pos" type="Vector2">
</argument>
<argument index="1" name="bit" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_bit_rect">
<argument index="0" name="p_rect" type="Rect2">
</argument>
<argument index="1" name="bit" type="bool">
</argument>
<description>
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="BoneAttachment" inherits="Spatial" category="Core">
<brief_description>
A node that will attach to a bone.
</brief_description>
<description>
This node must be the child of a [Skeleton] node. You can then select a bone for this node to attach to. The BoneAttachment node will copy the transform of the selected bone.
</description>
<methods>
</methods>
<constants>
</constants>
</class>
<class name="BoxContainer" inherits="Container" category="Core">
<brief_description>
Base class for Box containers.
</brief_description>
<description>
Base class for Box containers. It arranges children controls vertically or horizontally, and rearranges them automatically when their minimum size changes.
</description>
<methods>
<method name="add_spacer">
<argument index="0" name="begin" type="bool">
</argument>
<description>
Add a control to the box as a spacer.
If [i]begin[/i] is true the spacer control will be inserted in front of other children.
</description>
</method>
<method name="get_alignment" qualifiers="const">
<return type="int">
</return>
<description>
Return the alignment of children in the container.
</description>
</method>
<method name="set_alignment">
<argument index="0" name="alignment" type="int">
</argument>
<description>
Set the alignment of children in the container(Must be one of ALIGN_BEGIN, ALIGN_CENTER or ALIGN_END).
</description>
</method>
</methods>
<constants>
<constant name="ALIGN_BEGIN" value="0">
Align children with beginning of the container.
</constant>
<constant name="ALIGN_CENTER" value="1">
Align children with center of the container.
</constant>
<constant name="ALIGN_END" value="2">
Align children with end of the container.
</constant>
</constants>
</class>
<class name="BoxShape" inherits="Shape" category="Core">
<brief_description>
Box shape resource.
</brief_description>
<description>
Box shape resource, which can be set into a [PhysicsBody] or area.
</description>
<methods>
<method name="get_extents" qualifiers="const">
<return type="Vector3">
</return>
<description>
Return the half extents of the shape.
</description>
</method>
<method name="set_extents">
<argument index="0" name="extents" type="Vector3">
</argument>
<description>
Set the half extents for the shape.
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="Button" inherits="BaseButton" category="Core">
<brief_description>
Standard themed Button.
</brief_description>
<description>
Button is the standard themed button. It can contain text and an icon, and will display them according to the current [Theme].
</description>
<methods>
<method name="get_button_icon" qualifiers="const">
<return type="Texture">
</return>
<description>
Return the button icon.
</description>
</method>
<method name="get_clip_text" qualifiers="const">
<return type="bool">
</return>
<description>
Return the state of the [i]clip_text[/i] property (see [method set_clip_text])
</description>
</method>
<method name="get_text" qualifiers="const">
<return type="String">
</return>
<description>
Return the button text.
</description>
</method>
<method name="get_text_align" qualifiers="const">
<return type="int">
</return>
<description>
Return the text alignment policy.
</description>
</method>
<method name="is_flat" qualifiers="const">
<return type="bool">
</return>
<description>
Return the state of the [i]flat[/i] property (see [method set_flat]).
</description>
</method>
<method name="set_button_icon">
<argument index="0" name="texture" type="Texture">
</argument>
<description>
Set the icon that will be displayed next to the text inside the button area.
</description>
</method>
<method name="set_clip_text">
<argument index="0" name="enabled" type="bool">
</argument>
<description>
Set the [i]clip_text[/i] property of a Button. When this property is enabled, text that is too large to fit the button is clipped, when disabled (default) the Button will always be wide enough to hold the text.
</description>
</method>
<method name="set_flat">
<argument index="0" name="enabled" type="bool">
</argument>
<description>
Set the [i]flat[/i] property of a Button. Flat buttons don't display decoration unless hovered or pressed.
</description>
</method>
<method name="set_text">
<argument index="0" name="text" type="String">
</argument>
<description>
Set the button text, which will be displayed inside the button area.
</description>
</method>
<method name="set_text_align">
<argument index="0" name="align" type="int">
</argument>
<description>
Set the text alignment policy, using one of the ALIGN_* constants.
</description>
</method>
</methods>
<constants>
<constant name="ALIGN_LEFT" value="0">
Align the text to the left.
</constant>
<constant name="ALIGN_CENTER" value="1">
Center the text.
</constant>
<constant name="ALIGN_RIGHT" value="2">
Align the text to the right.
</constant>
</constants>
<theme_items>
<theme_item name="disabled" type="StyleBox">
</theme_item>
<theme_item name="focus" type="StyleBox">
</theme_item>
<theme_item name="font" type="Font">
</theme_item>
<theme_item name="font_color" type="Color">
</theme_item>
<theme_item name="font_color_disabled" type="Color">
</theme_item>
<theme_item name="font_color_hover" type="Color">
</theme_item>
<theme_item name="font_color_pressed" type="Color">
</theme_item>
<theme_item name="hover" type="StyleBox">
</theme_item>
<theme_item name="hseparation" type="int">
</theme_item>
<theme_item name="normal" type="StyleBox">
</theme_item>
<theme_item name="pressed" type="StyleBox">
</theme_item>
</theme_items>
</class>
<class name="ButtonArray" inherits="Control" category="Core">
<brief_description>
Array of Buttons.
</brief_description>
<description>
Array of Buttons. A ButtonArray is useful to have an array of buttons laid out vertically or horizontally. Only one button can be selected, and is referenced by its index in the array (first button is 0, second button is 1, etc.).
This is useful [i]e.g.[/i] for joypad-friendly interfaces and option menus.
</description>
<methods>
<method name="add_button">
<argument index="0" name="text" type="String">
</argument>
<description>
Append a new button to the array, with the specified text.
</description>
</method>
<method name="add_icon_button">
<argument index="0" name="icon" type="Texture">
</argument>
<argument index="1" name="text" type="String" default="&quot;&quot;">
</argument>
<description>
Append a new button to the array, with the specified icon and text.
</description>
</method>
<method name="clear">
<description>
Remove all buttons from the array.
</description>
</method>
<method name="erase_button">
<argument index="0" name="button_idx" type="int">
</argument>
<description>
Remove the specified button in the array.
</description>
</method>
<method name="get_button_count" qualifiers="const">
<return type="int">
</return>
<description>
Return the amount of buttons in the array.
</description>
</method>
<method name="get_button_icon" qualifiers="const">
<return type="Texture">
</return>
<argument index="0" name="button_idx" type="int">
</argument>
<description>
Return the icon of the specified button.
</description>
</method>
<method name="get_button_text" qualifiers="const">
<return type="String">
</return>
<argument index="0" name="button_idx" type="int">
</argument>
<description>
Return the text of the specified button.
</description>
</method>
<method name="get_hovered" qualifiers="const">
<return type="int">
</return>
<description>
Return the index of the currently hovered button in the array.
</description>
</method>
<method name="get_selected" qualifiers="const">
<return type="int">
</return>
<description>
Return the index of the currently selected button in the array.
</description>
</method>
<method name="set_button_icon">
<argument index="0" name="button_idx" type="int">
</argument>
<argument index="1" name="icon" type="Texture">
</argument>
<description>
Set the icon of the specified button.
</description>
</method>
<method name="set_button_text">
<argument index="0" name="button_idx" type="int">
</argument>
<argument index="1" name="text" type="String">
</argument>
<description>
Define the text of the specified button.
</description>
</method>
<method name="set_selected">
<argument index="0" name="button_idx" type="int">
</argument>
<description>
Select a button in the array based on the given index.
</description>
</method>
</methods>
<signals>
<signal name="button_selected">
<argument index="0" name="button_idx" type="int">
</argument>
<description>
A button has been selected, its index is given as the argument.
</description>
</signal>
</signals>
<constants>
<constant name="ALIGN_BEGIN" value="0">
Align buttons at the beginning.
</constant>
<constant name="ALIGN_CENTER" value="1">
Align buttons in the middle.
</constant>
<constant name="ALIGN_END" value="2">
Align buttons at the end.
</constant>
<constant name="ALIGN_FILL" value="3">
Spread the buttons, but keep them small.
</constant>
<constant name="ALIGN_EXPAND_FILL" value="4">
Spread the buttons, but expand them.
</constant>
</constants>
</class>
<class name="ButtonGroup" inherits="BoxContainer" category="Core">
<brief_description>
Group of Buttons.
</brief_description>
<description>
Group of [Button]. All direct and indirect children buttons become radios. Only one allows being pressed.
</description>
<methods>
<method name="get_button_list" qualifiers="const">
<return type="Array">
</return>
<description>
Return the list of all the buttons in the group.
</description>
</method>
<method name="get_focused_button" qualifiers="const">
<return type="BaseButton">
</return>
<description>
Return the focused button.
</description>
</method>
<method name="get_pressed_button" qualifiers="const">
<return type="BaseButton">
</return>
<description>
Return the pressed button.
</description>
</method>
<method name="get_pressed_button_index" qualifiers="const">
<return type="int">
</return>
<description>
Return the index of the pressed button (by tree order).
</description>
</method>
<method name="set_pressed_button">
<argument index="0" name="button" type="BaseButton">
</argument>
<description>
Set the button to be pressed.
</description>
</method>
</methods>
<constants>
</constants>
<theme_items>
<theme_item name="panel" type="StyleBox">
</theme_item>
</theme_items>
</class>
<class name="Camera" inherits="Spatial" category="Core">
<brief_description>
Camera node, displays from a point of view.
</brief_description>
<description>
Camera is a special node that displays what is visible from its current location. Cameras register themselves in the nearest [Viewport] node (when ascending the tree). Only one camera can be active per viewport. If no viewport is available ascending the tree, the Camera will register in the global viewport. In other words, a Camera just provides [i]3D[/i] display capabilities to a [Viewport], and, without one, a scene registered in that [Viewport] (or higher viewports) can't be displayed.
</description>
<methods>
<method name="clear_current">
<description>
</description>
</method>
<method name="get_camera_transform" qualifiers="const">
<return type="Transform">
</return>
<description>
Get the camera transform. Subclassed cameras (such as CharacterCamera) may provide different transforms than the [Node] transform.
</description>
</method>
<method name="get_environment" qualifiers="const">
<return type="Environment">
</return>
<description>
</description>
</method>
<method name="get_fov" qualifiers="const">
<return type="float">
</return>
<description>
</description>
</method>
<method name="get_keep_aspect_mode" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_projection" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_size" qualifiers="const">
<return type="float">
</return>
<description>
</description>
</method>
<method name="get_visible_layers" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_zfar" qualifiers="const">
<return type="float">
</return>
<description>
</description>
</method>
<method name="get_znear" qualifiers="const">
<return type="float">
</return>
<description>
</description>
</method>
<method name="is_current" qualifiers="const">
<return type="bool">
</return>
<description>
Return whether the Camera is the current one in the [Viewport], or plans to become current (if outside the scene tree).
</description>
</method>
<method name="is_position_behind" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="world_point" type="Vector3">
</argument>
<description>
</description>
</method>
<method name="make_current">
<description>
Make this camera the current Camera for the [Viewport] (see class description). If the Camera Node is outside the scene tree, it will attempt to become current once it's added.
</description>
</method>
<method name="project_local_ray_normal" qualifiers="const">
<return type="Vector3">
</return>
<argument index="0" name="screen_point" type="Vector2">
</argument>
<description>
</description>
</method>
<method name="project_position" qualifiers="const">
<return type="Vector3">
</return>
<argument index="0" name="screen_point" type="Vector2">
</argument>
<description>
</description>
</method>
<method name="project_ray_normal" qualifiers="const">
<return type="Vector3">
</return>
<argument index="0" name="screen_point" type="Vector2">
</argument>
<description>
Return a normal vector in worldspace, that is the result of projecting a point on the [Viewport] rectangle by the camera projection. This is useful for casting rays in the form of (origin,normal) for object intersection or picking.
</description>
</method>
<method name="project_ray_origin" qualifiers="const">
<return type="Vector3">
</return>
<argument index="0" name="screen_point" type="Vector2">
</argument>
<description>
Return a 3D position in worldspace, that is the result of projecting a point on the [Viewport] rectangle by the camera projection. This is useful for casting rays in the form of (origin,normal) for object intersection or picking.
</description>
</method>
<method name="set_environment">
<argument index="0" name="env" type="Environment">
</argument>
<description>
</description>
</method>
<method name="set_keep_aspect_mode">
<argument index="0" name="mode" type="int">
</argument>
<description>
</description>
</method>
<method name="set_orthogonal">
<argument index="0" name="size" type="float">
</argument>
<argument index="1" name="z_near" type="float">
</argument>
<argument index="2" name="z_far" type="float">
</argument>
<description>
Set the camera projection to orthogonal mode, by specifying a width and the [i]near[/i] and [i]far[/i] clip planes in worldspace units. (As a hint, 2D games often use this projection, with values specified in pixels)
</description>
</method>
<method name="set_perspective">
<argument index="0" name="fov" type="float">
</argument>
<argument index="1" name="z_near" type="float">
</argument>
<argument index="2" name="z_far" type="float">
</argument>
<description>
Set the camera projection to perspective mode, by specifying a [i]FOV[/i] Y angle in degrees (FOV means Field of View), and the [i]near[/i] and [i]far[/i] clip planes in worldspace units.
</description>
</method>
<method name="set_visible_layers">
<argument index="0" name="mask" type="int">
</argument>
<description>
</description>
</method>
<method name="unproject_position" qualifiers="const">
<return type="Vector2">
</return>
<argument index="0" name="world_point" type="Vector3">
</argument>
<description>
Return how a 3D point in worldspace maps to a 2D coordinate in the [Viewport] rectangle.
</description>
</method>
</methods>
<constants>
<constant name="PROJECTION_PERSPECTIVE" value="0">
Perspective Projection (object's size on the screen becomes smaller when far away).
</constant>
<constant name="PROJECTION_ORTHOGONAL" value="1">
Orthogonal Projection (objects remain the same size on the screen no matter how far away they are).
</constant>
<constant name="KEEP_WIDTH" value="0">
</constant>
<constant name="KEEP_HEIGHT" value="1">
</constant>
</constants>
</class>
<class name="Camera2D" inherits="Node2D" category="Core">
<brief_description>
Camera node for 2D scenes.
</brief_description>
<description>
Camera node for 2D scenes. It forces the screen (current layer) to scroll following this node. This makes it easier (and faster) to program scrollable scenes than manually changing the position of [CanvasItem] based nodes.
This node is intended to be a simple helper get get things going quickly and it may happen often that more functionality is desired to change how the camera works. To make your own custom camera node, simply inherit from [Node2D] and change the transform of the canvas by calling get_viewport().set_canvas_transform(m) in [Viewport].
</description>
<methods>
<method name="clear_current">
<description>
</description>
</method>
<method name="force_update_scroll">
<description>
Force the camera to update scroll immediately.
</description>
</method>
<method name="get_anchor_mode" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_camera_pos" qualifiers="const">
<return type="Vector2">
</return>
<description>
Return the camera position.
</description>
</method>
<method name="get_camera_screen_center" qualifiers="const">
<return type="Vector2">
</return>
<description>
</description>
</method>
<method name="get_drag_margin" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="margin" type="int">
</argument>
<description>
Return the margins needed to drag the camera (see [method set_drag_margin]).
</description>
</method>
<method name="get_follow_smoothing" qualifiers="const">
<return type="float">
</return>
<description>
</description>
</method>
<method name="get_h_offset" qualifiers="const">
<return type="float">
</return>
<description>
</description>
</method>
<method name="get_limit" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="margin" type="int">
</argument>
<description>
Return the scrolling limit in pixels.
</description>
</method>
<method name="get_offset" qualifiers="const">
<return type="Vector2">
</return>
<description>
Return the scroll offset.
</description>
</method>
<method name="get_v_offset" qualifiers="const">
<return type="float">
</return>
<description>
</description>
</method>
<method name="get_zoom" qualifiers="const">
<return type="Vector2">
</return>
<description>
</description>
</method>
<method name="is_current" qualifiers="const">
<return type="bool">
</return>
<description>
Return true of this is the current camera (see [method make_current]).
</description>
</method>
<method name="is_follow_smoothing_enabled" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="is_h_drag_enabled" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="is_rotating" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="is_v_drag_enabled" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="make_current">
<description>
Make this the current 2D camera for the scene (viewport and layer), in case there's many cameras in the scene.
</description>
</method>
<method name="set_anchor_mode">
<argument index="0" name="anchor_mode" type="int">
</argument>
<description>
</description>
</method>
<method name="set_drag_margin">
<argument index="0" name="margin" type="int">
</argument>
<argument index="1" name="drag_margin" type="float">
</argument>
<description>
Set the margins needed to drag the camera (relative to the screen size). Margin uses the MARGIN_* enum. Drag margins of 0,0,0,0 will keep the camera at the center of the screen, while drag margins of 1,1,1,1 will only move when the camera is at the edges.
</description>
</method>
<method name="set_enable_follow_smoothing">
<argument index="0" name="follow_smoothing" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_follow_smoothing">
<argument index="0" name="follow_smoothing" type="float">
</argument>
<description>
</description>
</method>
<method name="set_h_drag_enabled">
<argument index="0" name="enabled" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_h_offset">
<argument index="0" name="ofs" type="float">
</argument>
<description>
</description>
</method>
<method name="set_limit">
<argument index="0" name="margin" type="int">
</argument>
<argument index="1" name="limit" type="int">
</argument>
<description>
Set the scrolling limit in pixels.
</description>
</method>
<method name="set_offset">
<argument index="0" name="offset" type="Vector2">
</argument>
<description>
Set the scroll offset. Useful for looking around or camera shake animations.
</description>
</method>
<method name="set_rotating">
<argument index="0" name="rotating" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_v_drag_enabled">
<argument index="0" name="enabled" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_v_offset">
<argument index="0" name="ofs" type="float">
</argument>
<description>
</description>
</method>
<method name="set_zoom">
<argument index="0" name="zoom" type="Vector2">
</argument>
<description>
</description>
</method>
</methods>
<constants>
<constant name="ANCHOR_MODE_DRAG_CENTER" value="1">
</constant>
<constant name="ANCHOR_MODE_FIXED_TOP_LEFT" value="0">
</constant>
</constants>
</class>
<class name="CanvasItem" inherits="Node" category="Core">
<brief_description>
Base class of anything 2D.
</brief_description>
<description>
Base class of anything 2D. Canvas items are laid out in a tree and children inherit and extend the transform of their parent. CanvasItem is extended by [Control], for anything GUI related, and by [Node2D] for anything 2D engine related.
Any CanvasItem can draw. For this, the "update" function must be called, then NOTIFICATION_DRAW will be received on idle time to request redraw. Because of this, canvas items don't need to be redraw on every frame, improving the performance significantly. Several functions for drawing on the CanvasItem are provided (see draw_* functions). They can only be used inside the notification, signal or _draw() overrides function, though.
Canvas items are draw in tree order. By default, children are on top of their parents so a root CanvasItem will be drawn behind everything (this can be changed per item though).
Canvas items can also be hidden (hiding also their subtree). They provide many means for changing standard parameters such as opacity (for it and the subtree) and self opacity, blend mode.
Ultimately, a transform notification can be requested, which will notify the node that its global position changed in case the parent tree changed.
</description>
<methods>
<method name="_draw" qualifiers="virtual">
<description>
Called (if exists) to draw the canvas item.
</description>
</method>
<method name="draw_char">
<return type="float">
</return>
<argument index="0" name="font" type="Font">
</argument>
<argument index="1" name="pos" type="Vector2">
</argument>
<argument index="2" name="char" type="String">
</argument>
<argument index="3" name="next" type="String">
</argument>
<argument index="4" name="modulate" type="Color" default="Color(1,1,1,1)">
</argument>
<description>
Draw a string character using a custom font. Returns the advance, depending on the char width and kerning with an optional next char.
</description>
</method>
<method name="draw_circle">
<argument index="0" name="pos" type="Vector2">
</argument>
<argument index="1" name="radius" type="float">
</argument>
<argument index="2" name="color" type="Color">
</argument>
<description>
Draw a colored circle.
</description>
</method>
<method name="draw_colored_polygon">
<argument index="0" name="points" type="Vector2Array">
</argument>
<argument index="1" name="color" type="Color">
</argument>
<argument index="2" name="uvs" type="Vector2Array" default="Vector2Array([])">
</argument>
<argument index="3" name="texture" type="Texture" default="NULL">
</argument>
<description>
Draw a colored polygon of any amount of points, convex or concave.
</description>
</method>
<method name="draw_line">
<argument index="0" name="from" type="Vector2">
</argument>
<argument index="1" name="to" type="Vector2">
</argument>
<argument index="2" name="color" type="Color">
</argument>
<argument index="3" name="width" type="float" default="1">
</argument>
<description>
Draw a line from a 2D point to another, with a given color and width.
</description>
</method>
<method name="draw_polygon">
<argument index="0" name="points" type="Vector2Array">
</argument>
<argument index="1" name="colors" type="ColorArray">
</argument>
<argument index="2" name="uvs" type="Vector2Array" default="Vector2Array([])">
</argument>
<argument index="3" name="texture" type="Texture" default="NULL">
</argument>
<description>
Draw a polygon of any amount of points, convex or concave.
</description>
</method>
<method name="draw_primitive">
<argument index="0" name="points" type="Vector2Array">
</argument>
<argument index="1" name="colors" type="ColorArray">
</argument>
<argument index="2" name="uvs" type="Vector2Array">
</argument>
<argument index="3" name="texture" type="Texture" default="NULL">
</argument>
<argument index="4" name="width" type="float" default="1">
</argument>
<description>
Draw a custom primitive, 1 point for a point, 2 points for a line, 3 points for a triangle and 4 points for a quad.
</description>
</method>
<method name="draw_rect">
<argument index="0" name="rect" type="Rect2">
</argument>
<argument index="1" name="color" type="Color">
</argument>
<description>
Draw a colored rectangle.
</description>
</method>
<method name="draw_set_transform">
<argument index="0" name="pos" type="Vector2">
</argument>
<argument index="1" name="rot" type="float">
</argument>
<argument index="2" name="scale" type="Vector2">
</argument>
<description>
Set a custom transform for drawing. Anything drawn afterwards will be transformed by this.
</description>
</method>
<method name="draw_string">
<argument index="0" name="font" type="Font">
</argument>
<argument index="1" name="pos" type="Vector2">
</argument>
<argument index="2" name="text" type="String">
</argument>
<argument index="3" name="modulate" type="Color" default="Color(1,1,1,1)">
</argument>
<argument index="4" name="clip_w" type="int" default="-1">
</argument>
<description>
Draw a string using a custom font.
</description>
</method>
<method name="draw_style_box">
<argument index="0" name="style_box" type="StyleBox">
</argument>
<argument index="1" name="rect" type="Rect2">
</argument>
<description>
Draw a styled rectangle.
</description>
</method>
<method name="draw_texture">
<argument index="0" name="texture" type="Texture">
</argument>
<argument index="1" name="pos" type="Vector2">
</argument>
<argument index="2" name="modulate" type="Color" default="Color(1,1,1,1)">
</argument>
<description>
Draw a texture at a given position.
</description>
</method>
<method name="draw_texture_rect">
<argument index="0" name="texture" type="Texture">
</argument>
<argument index="1" name="rect" type="Rect2">
</argument>
<argument index="2" name="tile" type="bool">
</argument>
<argument index="3" name="modulate" type="Color" default="Color(1,1,1,1)">
</argument>
<argument index="4" name="transpose" type="bool" default="false">
</argument>
<description>
Draw a textured rectangle at a given position, optionally modulated by a color. Transpose swaps the x and y coordinates when reading the texture.
</description>
</method>
<method name="draw_texture_rect_region">
<argument index="0" name="texture" type="Texture">
</argument>
<argument index="1" name="rect" type="Rect2">
</argument>
<argument index="2" name="src_rect" type="Rect2">
</argument>
<argument index="3" name="modulate" type="Color" default="Color(1,1,1,1)">
</argument>
<argument index="4" name="transpose" type="bool" default="false">
</argument>
<description>
Draw a textured rectangle region at a given position, optionally modulated by a color. Transpose swaps the x and y coordinates when reading the texture.
</description>
</method>
<method name="edit_get_state" qualifiers="const">
<return type="Variant">
</return>
<description>
Used for editing, returns an opaque value representing the transform state.
</description>
</method>
<method name="edit_rotate">
<argument index="0" name="degrees" type="float">
</argument>
<description>
Used for editing, handle rotation.
</description>
</method>
<method name="edit_set_rect">
<argument index="0" name="rect" type="Rect2">
</argument>
<description>
</description>
</method>
<method name="edit_set_state">
<argument index="0" name="state" type="var">
</argument>
<description>
Set the transform state of this CanvasItem. For [Node2D], this is an [Array] with (in order) a [Vector2] for position, a float for rotation and another [Vector2] for scale. For [Control] this is a [Rect2] with the position and size.
</description>
</method>
<method name="get_blend_mode" qualifiers="const">
<return type="int">
</return>
<description>
Return the current blending mode from enum BLEND_MODE_*.
</description>
</method>
<method name="get_canvas" qualifiers="const">
<return type="RID">
</return>
<description>
Return the [RID] of the [World2D] canvas where this item is in.
</description>
</method>
<method name="get_canvas_item" qualifiers="const">
<return type="RID">
</return>
<description>
Return the canvas item RID used by [VisualServer] for this item.
</description>
</method>
<method name="get_canvas_transform" qualifiers="const">
<return type="Matrix32">
</return>
<description>
Get the transform matrix of this item's canvas.
</description>
</method>
<method name="get_global_mouse_pos" qualifiers="const">
<return type="Vector2">
</return>
<description>
Get the global position of the mouse.
</description>
</method>
<method name="get_global_transform" qualifiers="const">
<return type="Matrix32">
</return>
<description>
Get the global transform matrix of this item.
</description>
</method>
<method name="get_global_transform_with_canvas" qualifiers="const">
<return type="Matrix32">
</return>
<description>
Get the global transform matrix of this item in relation to the canvas.
</description>
</method>
<method name="get_item_rect" qualifiers="const">
<return type="Rect2">
</return>
<description>
Return a rect containing the editable boundaries of the item.
</description>
</method>
<method name="get_light_mask" qualifiers="const">
<return type="int">
</return>
<description>
Get this item's light mask number.
</description>
</method>
<method name="get_local_mouse_pos" qualifiers="const">
<return type="Vector2">
</return>
<description>
Get the mouse position relative to this item's position.
</description>
</method>
<method name="get_material" qualifiers="const">
<return type="CanvasItemMaterial">
</return>
<description>
Get the material of this item.
</description>
</method>
<method name="get_opacity" qualifiers="const">
<return type="float">
</return>
<description>
Return the canvas item opacity. This affects the canvas item and all the children.
</description>
</method>
<method name="get_self_opacity" qualifiers="const">
<return type="float">
</return>
<description>
Return the canvas item self-opacity.
</description>
</method>
<method name="get_transform" qualifiers="const">
<return type="Matrix32">
</return>
<description>
Get the transform matrix of this item.
</description>
</method>
<method name="get_use_parent_material" qualifiers="const">
<return type="bool">
</return>
<description>
Get whether this item uses its parent's material.
</description>
</method>
<method name="get_viewport_rect" qualifiers="const">
<return type="Rect2">
</return>
<description>
Get the viewport's boundaries as a [Rect2].
</description>
</method>
<method name="get_viewport_transform" qualifiers="const">
<return type="Matrix32">
</return>
<description>
Get this item's transform in relation to the viewport.
</description>
</method>
<method name="get_world_2d" qualifiers="const">
<return type="Object">
</return>
<description>
Get the [World2D] where this item is in.
</description>
</method>
<method name="hide">
<description>
Hide the CanvasItem currently visible.
</description>
</method>
<method name="is_draw_behind_parent_enabled" qualifiers="const">
<return type="bool">
</return>
<description>
Return whether the item is drawn behind its parent.
</description>
</method>
<method name="is_hidden" qualifiers="const">
<return type="bool">
</return>
<description>
Return true if this CanvasItem is hidden. Note that the CanvasItem may not be visible, but as long as it's not hidden ([method hide] called) the function will return false.
</description>
</method>
<method name="is_set_as_toplevel" qualifiers="const">
<return type="bool">
</return>
<description>
Return if set as toplevel. See [method set_as_toplevel].
</description>
</method>
<method name="is_visible" qualifiers="const">
<return type="bool">
</return>
<description>
Return true if this CanvasItem is visible. It may be invisible because itself or a parent canvas item is hidden.
</description>
</method>
<method name="make_input_local" qualifiers="const">
<return type="InputEvent">
</return>
<argument index="0" name="event" type="InputEvent">
</argument>
<description>
Takes a global input event and convert to this item's coordinate system.
</description>
</method>
<method name="set_as_toplevel">
<argument index="0" name="enable" type="bool">
</argument>
<description>
Set as top level. This means that it will not inherit transform from parent canvas items.
</description>
</method>
<method name="set_blend_mode">
<argument index="0" name="blend_mode" type="int">
</argument>
<description>
Set the blending mode from enum BLEND_MODE_*.
</description>
</method>
<method name="set_draw_behind_parent">
<argument index="0" name="enable" type="bool">
</argument>
<description>
Set whether the canvas item is drawn behind its parent.
</description>
</method>
<method name="set_hidden">
<argument index="0" name="hidden" type="bool">
</argument>
<description>
Set whether this item should be hidden or not. Note that no matter what is set here this item won't be shown if its parent or grandparents nodes are also hidden. A hidden CanvasItem make all children hidden too.
</description>
</method>
<method name="set_light_mask">
<argument index="0" name="light_mask" type="int">
</argument>
<description>
Set the ligtht mask number of this item.
</description>
</method>
<method name="set_material">
<argument index="0" name="material" type="CanvasItemMaterial">
</argument>
<description>
Set the material of this item.
</description>
</method>
<method name="set_opacity">
<argument index="0" name="opacity" type="float">
</argument>
<description>
Set canvas item opacity. This will affect the canvas item and all the children.
</description>
</method>
<method name="set_self_opacity">
<argument index="0" name="self_opacity" type="float">
</argument>
<description>
Set canvas item self-opacity. This does not affect the opacity of children items.
</description>
</method>
<method name="set_use_parent_material">
<argument index="0" name="enable" type="bool">
</argument>
<description>
Set whether or not this item should use its parent's material.
</description>
</method>
<method name="show">
<description>
Show the CanvasItem currently hidden.
</description>
</method>
<method name="update">
<description>
Queue the CanvasItem for update. [code]NOTIFICATION_DRAW[/code] will be called on idle time to request redraw.
</description>
</method>
</methods>
<signals>
<signal name="draw">
<description>
Emitted when the CanvasItem must redraw. This can only be connected realtime, as deferred will not allow drawing.
</description>
</signal>
<signal name="hide">
<description>
Emitted when becoming hidden.
</description>
</signal>
<signal name="item_rect_changed">
<description>
Emitted when the item rect has changed.
</description>
</signal>
<signal name="visibility_changed">
<description>
Emitted when the visibility (hidden/visible) changes.
</description>
</signal>
</signals>
<constants>
<constant name="BLEND_MODE_MIX" value="0">
Mix blending mode. Colors are assumed to be independent of the alpha (opacity) value.
</constant>
<constant name="BLEND_MODE_ADD" value="1">
Additive blending mode.
</constant>
<constant name="BLEND_MODE_SUB" value="2">
Subtractive blending mode.
</constant>
<constant name="BLEND_MODE_MUL" value="3">
Multiplicative blending mode.
</constant>
<constant name="BLEND_MODE_PREMULT_ALPHA" value="4">
Mix blending mode. Colors are assumed to be premultiplied by the alpha (opacity) value.
</constant>
<constant name="NOTIFICATION_DRAW" value="30">
CanvasItem is requested to draw.
</constant>
<constant name="NOTIFICATION_VISIBILITY_CHANGED" value="31">
Canvas item visibility has changed.
</constant>
<constant name="NOTIFICATION_ENTER_CANVAS" value="32">
Canvas item has entered the canvas.
</constant>
<constant name="NOTIFICATION_EXIT_CANVAS" value="33">
Canvas item has exited the canvas.
</constant>
<constant name="NOTIFICATION_TRANSFORM_CHANGED" value="29">
Canvas item transform has changed. Only received if requested.
</constant>
</constants>
</class>
<class name="CanvasItemMaterial" inherits="Resource" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
<method name="get_shader" qualifiers="const">
<return type="Shader">
</return>
<description>
</description>
</method>
<method name="get_shader_param" qualifiers="const">
<argument index="0" name="param" type="String">
</argument>
<description>
</description>
</method>
<method name="get_shading_mode" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="set_shader">
<argument index="0" name="shader" type="Shader">
</argument>
<description>
</description>
</method>
<method name="set_shader_param">
<argument index="0" name="param" type="String">
</argument>
<argument index="1" name="value" type="var">
</argument>
<description>
</description>
</method>
<method name="set_shading_mode">
<argument index="0" name="mode" type="int">
</argument>
<description>
</description>
</method>
</methods>
<constants>
<constant name="SHADING_NORMAL" value="0">
</constant>
<constant name="SHADING_UNSHADED" value="1">
</constant>
<constant name="SHADING_ONLY_LIGHT" value="2">
</constant>
</constants>
</class>
<class name="CanvasItemShader" inherits="Shader" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
</methods>
<constants>
</constants>
</class>
<class name="CanvasItemShaderGraph" inherits="ShaderGraph" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
</methods>
<constants>
</constants>
</class>
<class name="CanvasLayer" inherits="Node" category="Core">
<brief_description>
Canvas Item layer.
</brief_description>
<description>
Canvas Item layer. [CanvasItem] nodes that are direct or indirect children of a [CanvasLayer] will be drawn in that layer. The layer is a numeric index that defines the draw order. The default 2D scene renders with index 0, so a [CanvasLayer] with index -1 will be drawn below, and one with index 1 will be drawn above. This is very useful for HUDs (in layer 1+ or above), or backgrounds (in layer -1 or below).
</description>
<methods>
<method name="get_layer" qualifiers="const">
<return type="int">
</return>
<description>
Return the layer index, determines the draw order, a lower value will be below a higher one.
</description>
</method>
<method name="get_offset" qualifiers="const">
<return type="Vector2">
</return>
<description>
Return the base offset for this layer (helper).
</description>
</method>
<method name="get_rotation" qualifiers="const">
<return type="float">
</return>
<description>
Return the base rotation for this layer (helper).
</description>
</method>
<method name="get_rotationd" qualifiers="const">
<return type="float">
</return>
<description>
Get rotation of the layer in degree.
</description>
</method>
<method name="get_scale" qualifiers="const">
<return type="Vector2">
</return>
<description>
Return the base scale for this layer (helper).
</description>
</method>
<method name="get_transform" qualifiers="const">
<return type="Matrix32">
</return>
<description>
Return the base transform for this layer.
</description>
</method>
<method name="get_viewport" qualifiers="const">
<return type="RID">
</return>
<description>
Return the viewport RID for this layer.
</description>
</method>
<method name="get_world_2d" qualifiers="const">
<return type="World2D">
</return>
<description>
Return the [World2D] used by this layer.
</description>
</method>
<method name="set_layer">
<argument index="0" name="layer" type="int">
</argument>
<description>
Set the layer index, determines the draw order, a lower value will be below a higher one.
</description>
</method>
<method name="set_offset">
<argument index="0" name="offset" type="Vector2">
</argument>
<description>
Set the base offset for this layer (helper).
</description>
</method>
<method name="set_rotation">
<argument index="0" name="radians" type="float">
</argument>
<description>
Set the base rotation for this layer (helper).
</description>
</method>
<method name="set_rotationd">
<argument index="0" name="degrees" type="float">
</argument>
<description>
Set rotation of the layer in degree.
</description>
</method>
<method name="set_scale">
<argument index="0" name="scale" type="Vector2">
</argument>
<description>
Set the base scale for this layer (helper).
</description>
</method>
<method name="set_transform">
<argument index="0" name="transform" type="Matrix32">
</argument>
<description>
Set the base transform for this layer.
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="CanvasModulate" inherits="Node2D" category="Core">
<brief_description>
Tint the entire canvas
</brief_description>
<description>
CanvasModulate tints the canvas elements using its asigned color
</description>
<methods>
<method name="get_color" qualifiers="const">
<return type="Color">
</return>
<description>
Gets the canvas tint color
</description>
</method>
<method name="set_color">
<argument index="0" name="color" type="Color">
</argument>
<description>
Sets the canvas tint color
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="CapsuleShape" inherits="Shape" category="Core">
<brief_description>
Capsule shape resource.
</brief_description>
<description>
Capsule shape resource, which can be set into a [PhysicsBody] or area.
</description>
<methods>
<method name="get_height" qualifiers="const">
<return type="float">
</return>
<description>
Return the capsule height.
</description>
</method>
<method name="get_radius" qualifiers="const">
<return type="float">
</return>
<description>
Return the capsule radius.
</description>
</method>
<method name="set_height">
<argument index="0" name="height" type="float">
</argument>
<description>
Set the capsule height.
</description>
</method>
<method name="set_radius">
<argument index="0" name="radius" type="float">
</argument>
<description>
Set the capsule radius.
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="CapsuleShape2D" inherits="Shape2D" category="Core">
<brief_description>
Capsule 2D shape resource for physics.
</brief_description>
<description>
Capsule 2D shape resource for physics. A capsule (or sometimes called "pill") is like a line grown in all directions. It has a radius and a height, and is often useful for modeling biped characters.
</description>
<methods>
<method name="get_height" qualifiers="const">
<return type="float">
</return>
<description>
Return the height of the [CapsuleShape2D].
</description>
</method>
<method name="get_radius" qualifiers="const">
<return type="float">
</return>
<description>
Return the radius of the [CapsuleShape2D].
</description>
</method>
<method name="set_height">
<argument index="0" name="height" type="float">
</argument>
<description>
Set the height of the [CapsuleShape2D].
</description>
</method>
<method name="set_radius">
<argument index="0" name="radius" type="float">
</argument>
<description>
Set the radius of the [CapsuleShape2D].
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="CenterContainer" inherits="Container" category="Core">
<brief_description>
Keeps children controls centered.
</brief_description>
<description>
CenterContainer Keeps children controls centered. This container keeps all children to their minimum size, in the center.
</description>
<methods>
<method name="is_using_top_left" qualifiers="const">
<return type="bool">
</return>
<description>
Should put children to the top left corner instead of center of the container.
</description>
</method>
<method name="set_use_top_left">
<argument index="0" name="enable" type="bool">
</argument>
<description>
This function will anchor the container children to the top left corner of the the container boundaries, moving all its children to that position, (the children new center will be the top left corner of the container).
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="CheckBox" inherits="Button" category="Core">
<brief_description>
Binary choice user interface widget
</brief_description>
<description>
A checkbox allows the user to make a binary choice (choosing only one of two posible options), for example Answer 'yes' or 'no'.
</description>
<methods>
</methods>
<constants>
</constants>
<theme_items>
<theme_item name="check_vadjust" type="int">
</theme_item>
<theme_item name="checked" type="Texture">
</theme_item>
<theme_item name="disabled" type="StyleBox">
</theme_item>
<theme_item name="focus" type="StyleBox">
</theme_item>
<theme_item name="font" type="Font">
</theme_item>
<theme_item name="font_color" type="Color">
</theme_item>
<theme_item name="font_color_disabled" type="Color">
</theme_item>
<theme_item name="font_color_hover" type="Color">
</theme_item>
<theme_item name="font_color_pressed" type="Color">
</theme_item>
<theme_item name="hover" type="StyleBox">
</theme_item>
<theme_item name="hseparation" type="int">
</theme_item>
<theme_item name="normal" type="StyleBox">
</theme_item>
<theme_item name="pressed" type="StyleBox">
</theme_item>
<theme_item name="radio_checked" type="Texture">
</theme_item>
<theme_item name="radio_unchecked" type="Texture">
</theme_item>
<theme_item name="unchecked" type="Texture">
</theme_item>
</theme_items>
</class>
<class name="CheckButton" inherits="Button" category="Core">
<brief_description>
Checkable button.
</brief_description>
<description>
CheckButton is a toggle button displayed as a check field.
</description>
<methods>
</methods>
<constants>
</constants>
<theme_items>
<theme_item name="check_vadjust" type="int">
</theme_item>
<theme_item name="disabled" type="StyleBox">
</theme_item>
<theme_item name="focus" type="StyleBox">
</theme_item>
<theme_item name="font" type="Font">
</theme_item>
<theme_item name="font_color" type="Color">
</theme_item>
<theme_item name="font_color_disabled" type="Color">
</theme_item>
<theme_item name="font_color_hover" type="Color">
</theme_item>
<theme_item name="font_color_pressed" type="Color">
</theme_item>
<theme_item name="hover" type="StyleBox">
</theme_item>
<theme_item name="hseparation" type="int">
</theme_item>
<theme_item name="normal" type="StyleBox">
</theme_item>
<theme_item name="off" type="Texture">
</theme_item>
<theme_item name="on" type="Texture">
</theme_item>
<theme_item name="pressed" type="StyleBox">
</theme_item>
</theme_items>
</class>
<class name="CircleShape2D" inherits="Shape2D" category="Core">
<brief_description>
Circular Shape for 2D Physics.
</brief_description>
<description>
Circular Shape for 2D Physics. This shape is useful for modeling balls or small characters and it's collision detection with everything else is very fast.
</description>
<methods>
<method name="get_radius" qualifiers="const">
<return type="float">
</return>
<description>
Return the radius of the circle shape.
</description>
</method>
<method name="set_radius">
<argument index="0" name="radius" type="float">
</argument>
<description>
Set the radius of the circle shape.
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="CollisionObject" inherits="Spatial" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
<method name="_input_event" qualifiers="virtual">
<argument index="0" name="camera" type="Object">
</argument>
<argument index="1" name="event" type="InputEvent">
</argument>
<argument index="2" name="click_pos" type="Vector3">
</argument>
<argument index="3" name="click_normal" type="Vector3">
</argument>
<argument index="4" name="shape_idx" type="int">
</argument>
<description>
</description>
</method>
<method name="add_shape">
<argument index="0" name="shape" type="Shape">
</argument>
<argument index="1" name="transform" type="Transform" default="Transform()">
</argument>
<description>
</description>
</method>
<method name="clear_shapes">
<description>
</description>
</method>
<method name="get_capture_input_on_drag" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="get_rid" qualifiers="const">
<return type="RID">
</return>
<description>
</description>
</method>
<method name="get_shape" qualifiers="const">
<return type="Shape">
</return>
<argument index="0" name="shape_idx" type="int">
</argument>
<description>
</description>
</method>
<method name="get_shape_count" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_shape_transform" qualifiers="const">
<return type="Transform">
</return>
<argument index="0" name="shape_idx" type="int">
</argument>
<description>
</description>
</method>
<method name="is_ray_pickable" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="is_shape_set_as_trigger" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="shape_idx" type="int">
</argument>
<description>
</description>
</method>
<method name="remove_shape">
<argument index="0" name="shape_idx" type="int">
</argument>
<description>
</description>
</method>
<method name="set_capture_input_on_drag">
<argument index="0" name="enable" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_ray_pickable">
<argument index="0" name="ray_pickable" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_shape">
<argument index="0" name="shape_idx" type="int">
</argument>
<argument index="1" name="shape" type="Shape">
</argument>
<description>
</description>
</method>
<method name="set_shape_as_trigger">
<argument index="0" name="shape_idx" type="int">
</argument>
<argument index="1" name="enable" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_shape_transform">
<argument index="0" name="shape_idx" type="int">
</argument>
<argument index="1" name="transform" type="Transform">
</argument>
<description>
</description>
</method>
</methods>
<signals>
<signal name="input_event">
<argument index="0" name="camera" type="Object">
</argument>
<argument index="1" name="event" type="InputEvent">
</argument>
<argument index="2" name="click_pos" type="Vector3">
</argument>
<argument index="3" name="click_normal" type="Vector3">
</argument>
<argument index="4" name="shape_idx" type="int">
</argument>
<description>
</description>
</signal>
<signal name="mouse_enter">
<description>
</description>
</signal>
<signal name="mouse_exit">
<description>
</description>
</signal>
</signals>
<constants>
</constants>
</class>
<class name="CollisionObject2D" inherits="Node2D" category="Core">
<brief_description>
Base node for 2D collisionables.
</brief_description>
<description>
CollisionObject2D is the base class for 2D physics collisionables. They can hold any number of 2D collision shapes. Usually, they are edited by placing [CollisionShape2D] and/or [CollisionPolygon2D] nodes as children. Such nodes are for reference and not present outside the editor, so code should use the regular shape API.
</description>
<methods>
<method name="_input_event" qualifiers="virtual">
<argument index="0" name="viewport" type="Object">
</argument>
<argument index="1" name="event" type="InputEvent">
</argument>
<argument index="2" name="shape_idx" type="int">
</argument>
<description>
This method can be used to override normal input processing. The first parameter is the viewport where the event took place. The second holds the input event received, and the third the shape of this object where it happened.
</description>
</method>
<method name="add_shape">
<argument index="0" name="shape" type="Shape2D">
</argument>
<argument index="1" name="transform" type="Matrix32" default="1,0, 0,1, 0,0">
</argument>
<description>
Add a [Shape2D] to the collision body, with a given custom transform.
</description>
</method>
<method name="clear_shapes">
<description>
Remove all shapes.
</description>
</method>
<method name="get_rid" qualifiers="const">
<return type="RID">
</return>
<description>
Return the RID of this object.
</description>
</method>
<method name="get_shape" qualifiers="const">
<return type="Shape2D">
</return>
<argument index="0" name="shape_idx" type="int">
</argument>
<description>
Return the shape in the given index.
</description>
</method>
<method name="get_shape_count" qualifiers="const">
<return type="int">
</return>
<description>
Return the amount of shapes in the collision body. Because a [CollisionPolygon2D] can generate more than one [Shape2D], the amount returned does not have to match the sum of [CollisionShape2D] and [CollisionPolygon2D].
</description>
</method>
<method name="get_shape_transform" qualifiers="const">
<return type="Matrix32">
</return>
<argument index="0" name="shape_idx" type="int">
</argument>
<description>
Return the shape transform in the given index.
</description>
</method>
<method name="is_pickable" qualifiers="const">
<return type="bool">
</return>
<description>
Return whether this object is pickable.
</description>
</method>
<method name="is_shape_set_as_trigger" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="shape_idx" type="int">
</argument>
<description>
Return whether a shape is a trigger. A trigger shape detects collisions, but is otherwise unaffected by physics (i.e. colliding objects will not get blocked).
</description>
</method>
<method name="remove_shape">
<argument index="0" name="shape_idx" type="int">
</argument>
<description>
Remove the shape in the given index.
</description>
</method>
<method name="set_pickable">
<argument index="0" name="enabled" type="bool">
</argument>
<description>
Set whether this object is pickable. A pickable object can detect the mouse pointer enter/leave it and, if the mouse is inside it, report input events.
</description>
</method>
<method name="set_shape">
<argument index="0" name="shape_idx" type="int">
</argument>
<argument index="1" name="shape" type="Shape">
</argument>
<description>
Change a shape in the collision body.
</description>
</method>
<method name="set_shape_as_trigger">
<argument index="0" name="shape_idx" type="int">
</argument>
<argument index="1" name="enable" type="bool">
</argument>
<description>
Set whether a shape is a trigger. A trigger shape detects collisions, but is otherwise unaffected by physics (i.e. colliding objects will not get blocked).
</description>
</method>
<method name="set_shape_transform">
<argument index="0" name="shape_idx" type="int">
</argument>
<argument index="1" name="transform" type="Matrix32">
</argument>
<description>
Change the shape transform in the collision body.
</description>
</method>
</methods>
<signals>
<signal name="input_event">
<argument index="0" name="viewport" type="Object">
</argument>
<argument index="1" name="event" type="InputEvent">
</argument>
<argument index="2" name="shape_idx" type="int">
</argument>
<description>
This signal triggers when an input event fires over a shape. The first parameter is the viewport where the event took place. The second holds the input event received, and the third the shape of this object where it happened.
</description>
</signal>
<signal name="mouse_enter">
<description>
This event fires only once when the mouse pointer enters any shape of this object.
</description>
</signal>
<signal name="mouse_exit">
<description>
This event fires only once when the mouse pointer exits all shapes of this object.
</description>
</signal>
</signals>
<constants>
</constants>
</class>
<class name="CollisionPolygon" inherits="Spatial" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
<method name="get_build_mode" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_collision_object_first_shape" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_collision_object_last_shape" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_depth" qualifiers="const">
<return type="float">
</return>
<description>
</description>
</method>
<method name="get_polygon" qualifiers="const">
<return type="Vector2Array">
</return>
<description>
</description>
</method>
<method name="set_build_mode">
<argument index="0" name="build_mode" type="int">
</argument>
<description>
</description>
</method>
<method name="set_depth">
<argument index="0" name="depth" type="float">
</argument>
<description>
</description>
</method>
<method name="set_polygon">
<argument index="0" name="polygon" type="Vector2Array">
</argument>
<description>
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="CollisionPolygon2D" inherits="Node2D" category="Core">
<brief_description>
Editor-only class for easy editing of collision polygons.
</brief_description>
<description>
Editor-only class. This is not present when running the game. It's used in the editor to properly edit and position collision shapes in [CollisionObject2D]. This is not accessible from regular code. This class is for editing custom shape polygons.
</description>
<methods>
<method name="get_build_mode" qualifiers="const">
<return type="int">
</return>
<description>
Return whether the polygon is a [ConvexPolygonShape2D] ([code]build_mode==0[/code]), or a [ConcavePolygonShape2D] ([code]build_mode==1[/code]).
</description>
</method>
<method name="get_collision_object_first_shape" qualifiers="const">
<return type="int">
</return>
<description>
Return the index of the first shape generated by the editor.
When [code]build_mode[/code] is set to generate convex polygons, the shape shown in the editor may be decomposed into many convex polygons. In that case, a range of indexes is needed to directly access the [Shape2D].
When [code]build_mode[/code] is set to generate concave polygons, there is only one [Shape2D] generated, so the start index and the end index are the same.
</description>
</method>
<method name="get_collision_object_last_shape" qualifiers="const">
<return type="int">
</return>
<description>
Return the index of the last shape generated by the editor.
</description>
</method>
<method name="get_polygon" qualifiers="const">
<return type="Vector2Array">
</return>
<description>
Return the list of points that define the polygon.
</description>
</method>
<method name="is_trigger" qualifiers="const">
<return type="bool">
</return>
<description>
Return whether this polygon is a trigger.
</description>
</method>
<method name="set_build_mode">
<argument index="0" name="build_mode" type="int">
</argument>
<description>
Set whether the polygon is to be a [ConvexPolygonShape2D] ([code]build_mode==0[/code]), or a [ConcavePolygonShape2D] ([code]build_mode==1[/code]).
</description>
</method>
<method name="set_polygon">
<argument index="0" name="polygon" type="Vector2Array">
</argument>
<description>
Set the array of points forming the polygon.
When editing the point list via the editor, depending on [method get_build_mode], it has to be a list of points (for [code]build_mode==0[/code]), or a list of lines (for [code]build_mode==1[/code]). In the second case, the even elements of the array define the start point of the line, and the odd elements the end point.
</description>
</method>
<method name="set_trigger">
<argument index="0" name="trigger" type="bool">
</argument>
<description>
Set whether this polygon is a trigger. A trigger polygon detects collisions, but is otherwise unaffected by physics (i.e. colliding objects will not get blocked).
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="CollisionShape" inherits="Spatial" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
<method name="get_collision_object_shape_index" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_shape" qualifiers="const">
<return type="Object">
</return>
<description>
</description>
</method>
<method name="is_trigger" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="make_convex_from_brothers">
<description>
</description>
</method>
<method name="resource_changed">
<argument index="0" name="resource" type="Object">
</argument>
<description>
</description>
</method>
<method name="set_shape">
<argument index="0" name="shape" type="Object">
</argument>
<description>
</description>
</method>
<method name="set_trigger">
<argument index="0" name="enable" type="bool">
</argument>
<description>
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="CollisionShape2D" inherits="Node2D" category="Core">
<brief_description>
Editor-only class for easy editing of shapes.
</brief_description>
<description>
Editor-only class. This is not present when running the game. It's used in the editor to properly edit and position collision shapes in [CollisionObject2D]. This is not accessible from regular code.
</description>
<methods>
<method name="get_collision_object_shape_index" qualifiers="const">
<return type="int">
</return>
<description>
Return the index of this shape inside its container [CollisionObject2D]. This can be used to directly access the underlying [Shape2D].
</description>
</method>
<method name="get_shape" qualifiers="const">
<return type="Object">
</return>
<description>
Return this shape's [Shape2D].
</description>
</method>
<method name="is_trigger" qualifiers="const">
<return type="bool">
</return>
<description>
Return whether this shape is a trigger.
</description>
</method>
<method name="set_shape">
<argument index="0" name="shape" type="Object">
</argument>
<description>
Set this shape's [Shape2D]. This will not appear as a node, but can be directly edited as a property.
</description>
</method>
<method name="set_trigger">
<argument index="0" name="enable" type="bool">
</argument>
<description>
Set whether this shape is a trigger. A trigger shape detects collisions, but is otherwise unaffected by physics (i.e. will not block movement of colliding objects).
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="Color" category="Built-In Types">
<brief_description>
Color in RGBA format.
</brief_description>
<description>
A color is represented as red, green and blue (r,g,b) components. Additionally, "a" represents the alpha component, often used for transparency. Values are in floating point and usually range from 0 to 1. Some methods (such as set_modulate() ) may accept values &gt; 1.
</description>
<methods>
<method name="Color">
<return type="Color">
</return>
<argument index="0" name="r" type="float">
</argument>
<argument index="1" name="g" type="float">
</argument>
<argument index="2" name="b" type="float">
</argument>
<argument index="3" name="a" type="float">
</argument>
<description>
Construct the color from an RGBA profile.
</description>
</method>
<method name="Color">
<return type="Color">
</return>
<argument index="0" name="r" type="float">
</argument>
<argument index="1" name="g" type="float">
</argument>
<argument index="2" name="b" type="float">
</argument>
<description>
Construct the color from an RGBA profile.
</description>
</method>
<method name="Color">
<return type="Color">
</return>
<argument index="0" name="from" type="int">
</argument>
<description>
Construct the color from an RGBA profile.
</description>
</method>
<method name="Color">
<return type="Color">
</return>
<argument index="0" name="from" type="String">
</argument>
<description>
Construct the color from an RGBA profile.
</description>
</method>
<method name="blend">
<return type="Color">
</return>
<argument index="0" name="over" type="Color">
</argument>
<description>
Return a new color blended with anothor one.
</description>
</method>
<method name="contrasted">
<return type="Color">
</return>
<description>
Return the most contrasting color with this one.
</description>
</method>
<method name="gray">
<return type="float">
</return>
<description>
Convert the color to gray.
</description>
</method>
<method name="inverted">
<return type="Color">
</return>
<description>
Return the inverted color (1-r, 1-g, 1-b, 1-a).
</description>
</method>
<method name="linear_interpolate">
<return type="Color">
</return>
<argument index="0" name="b" type="Color">
</argument>
<argument index="1" name="t" type="float">
</argument>
<description>
Return the linear interpolation with another color.
</description>
</method>
<method name="to_32">
<return type="int">
</return>
<description>
Convert the color to a 32 its integer (each byte represents a RGBA).
</description>
</method>
<method name="to_ARGB32">
<return type="int">
</return>
<description>
Convert color to ARGB32, more compatible with DirectX.
</description>
</method>
<method name="to_html">
<return type="String">
</return>
<argument index="0" name="with_alpha" type="bool" default="True">
</argument>
<description>
Return the HTML hexadecimal color string.
</description>
</method>
</methods>
<members>
<member name="a" type="float">
Alpha (0 to 1)
</member>
<member name="a8" type="int">
Alpha (0 to 255)
</member>
<member name="b" type="float">
Blue (0 to 1)
</member>
<member name="b8" type="int">
Blue (0 to 255)
</member>
<member name="g" type="float">
Green (0 to 1)
</member>
<member name="g8" type="int">
Green (0 to 255)
</member>
<member name="h" type="float">
Hue (0 to 1)
</member>
<member name="r" type="float">
Red (0 to 1)
</member>
<member name="r8" type="int">
Red (0 to 255)
</member>
<member name="s" type="float">
Saturation (0 to 1)
</member>
<member name="v" type="float">
Value (0 to 1)
</member>
</members>
<constants>
</constants>
</class>
<class name="ColorArray" category="Built-In Types">
<brief_description>
Array of Colors
</brief_description>
<description>
Array of Color, can only contains colors. Optimized for memory usage, can't fragment the memory.
</description>
<methods>
<method name="ColorArray">
<return type="ColorArray">
</return>
<argument index="0" name="from" type="Array">
</argument>
<description>
Create from a generic array.
</description>
</method>
<method name="push_back">
<argument index="0" name="color" type="Color">
</argument>
<description>
Append a value to the array.
</description>
</method>
<method name="resize">
<argument index="0" name="idx" type="int">
</argument>
<description>
Set the size of the [ColorArray]. If larger than the current size it will reserve some space beforehand, and if it is smaller it will cut off the array.
</description>
</method>
<method name="set">
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="color" type="Color">
</argument>
<description>
Change the [Color] at the given index.
</description>
</method>
<method name="size">
<return type="int">
</return>
<description>
Return the array size.
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="ColorPicker" inherits="BoxContainer" category="Core">
<brief_description>
Color picker control.
</brief_description>
<description>
This is a simple color picker [Control]. It's useful for selecting a color from an RGB/RGBA colorspace.
</description>
<methods>
<method name="add_preset">
<argument index="0" name="arg0" type="Color">
</argument>
<description>
Adds the current selected to color to a list of colors (presets), the presets will be displayed in the color picker and the user will be able to select them, notice that the presets list is only for this color picker.
</description>
</method>
<method name="get_color" qualifiers="const">
<return type="Color">
</return>
<description>
Return the current (edited) color.
</description>
</method>
<method name="is_editing_alpha" qualifiers="const">
<return type="bool">
</return>
<description>
Returns whether the color has transparency or not.
</description>
</method>
<method name="is_raw_mode" qualifiers="const">
<return type="bool">
</return>
<description>
Returns whether this color picker is in raw mode or not
</description>
</method>
<method name="set_color">
<argument index="0" name="color" type="Color">
</argument>
<description>
Select the current color.
</description>
</method>
<method name="set_edit_alpha">
<argument index="0" name="show" type="bool">
</argument>
<description>
Set true if you want the color to have an alpha channel (transparency), or false if you want a solid color.
</description>
</method>
<method name="set_raw_mode">
<argument index="0" name="mode" type="bool">
</argument>
<description>
When set to true, every color channel will be represented as a value from 0 to 1, insetead of 0, 255.
</description>
</method>
</methods>
<signals>
<signal name="color_changed">
<argument index="0" name="color" type="Color">
</argument>
<description>
Emitted when the color is changed.
</description>
</signal>
</signals>
<constants>
</constants>
<theme_items>
<theme_item name="add_preset" type="Texture">
</theme_item>
<theme_item name="color_width" type="int">
</theme_item>
<theme_item name="hseparator" type="int">
</theme_item>
<theme_item name="label_width" type="int">
</theme_item>
<theme_item name="screen_picker" type="Texture">
</theme_item>
<theme_item name="value_height" type="int">
</theme_item>
<theme_item name="value_width" type="int">
</theme_item>
</theme_items>
</class>
<class name="ColorPickerButton" inherits="Button" category="Core">
<brief_description>
Button that pops out a [ColorPicker]
</brief_description>
<description>
Encapsulates a [ColorPicker] making it accesible by pressing a button, pressing the button will toggle the [ColorPicker] visibility
</description>
<methods>
<method name="get_color" qualifiers="const">
<return type="Color">
</return>
<description>
Gets the current color
</description>
</method>
<method name="get_picker">
<return type="ColorPicker">
</return>
<description>
</description>
</method>
<method name="is_editing_alpha" qualifiers="const">
<return type="bool">
</return>
<description>
See [method ColorPicker.is_edit_alpha]
</description>
</method>
<method name="set_color">
<argument index="0" name="color" type="Color">
</argument>
<description>
Sets the current color
</description>
</method>
<method name="set_edit_alpha">
<argument index="0" name="show" type="bool">
</argument>
<description>
See [method ColorPicker.set_edit_alpha]
</description>
</method>
</methods>
<signals>
<signal name="color_changed">
<argument index="0" name="color" type="Color">
</argument>
<description>
Emitted when the color is changed.
</description>
</signal>
</signals>
<constants>
</constants>
<theme_items>
<theme_item name="disabled" type="StyleBox">
</theme_item>
<theme_item name="focus" type="StyleBox">
</theme_item>
<theme_item name="font" type="Font">
</theme_item>
<theme_item name="font_color" type="Color">
</theme_item>
<theme_item name="font_color_disabled" type="Color">
</theme_item>
<theme_item name="font_color_hover" type="Color">
</theme_item>
<theme_item name="font_color_pressed" type="Color">
</theme_item>
<theme_item name="hover" type="StyleBox">
</theme_item>
<theme_item name="hseparation" type="int">
</theme_item>
<theme_item name="normal" type="StyleBox">
</theme_item>
<theme_item name="pressed" type="StyleBox">
</theme_item>
</theme_items>
</class>
<class name="ColorRamp" inherits="Resource" category="Core">
<brief_description>
Color interpolator node
</brief_description>
<description>
Given a set of colors, this node will interpolate them in order, meaning, that if you have color 1, color 2 and color3, the ramp will interpolate (generate the colors between two colors) from color 1 to color 2 and from color 2 to color 3. Initially the ramp will have 2 colors (black and white), one (black) at ramp lower offset offset 0 and the other (white) at the ramp higher offset 1.
</description>
<methods>
<method name="add_point">
<argument index="0" name="offset" type="float">
</argument>
<argument index="1" name="color" type="Color">
</argument>
<description>
Adds the specified color to the end of the ramp, with the specified offset
</description>
</method>
<method name="get_color" qualifiers="const">
<return type="Color">
</return>
<argument index="0" name="point" type="int">
</argument>
<description>
Returns the color of the ramp color at index [i]point[/i]
</description>
</method>
<method name="get_colors" qualifiers="const">
<return type="ColorArray">
</return>
<description>
Returns the colors in the ramp
</description>
</method>
<method name="get_offset" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="point" type="int">
</argument>
<description>
Returns the offset of the ramp color at index [i]point[/i]
</description>
</method>
<method name="get_offsets" qualifiers="const">
<return type="RealArray">
</return>
<description>
Returns the offsets for the colors in this ramp
</description>
</method>
<method name="get_point_count" qualifiers="const">
<return type="int">
</return>
<description>
Returns the number of colors in the ramp
</description>
</method>
<method name="interpolate">
<return type="Color">
</return>
<argument index="0" name="offset" type="float">
</argument>
<description>
Returns the interpolated color specified by [i]offset[/i]
</description>
</method>
<method name="remove_point">
<argument index="0" name="offset" type="int">
</argument>
<description>
Removes the color at the index [i]offset[/i]
</description>
</method>
<method name="set_color">
<argument index="0" name="point" type="int">
</argument>
<argument index="1" name="color" type="Color">
</argument>
<description>
Sets the color of the ramp color at index [i]point[/i]
</description>
</method>
<method name="set_colors">
<argument index="0" name="colors" type="ColorArray">
</argument>
<description>
Sets the colors for the specified amount of elements. Calling this function with a different number of elements than previously defined causes the ramp to resize its colors and offsets array to accomodate the new elements.
</description>
</method>
<method name="set_offset">
<argument index="0" name="point" type="int">
</argument>
<argument index="1" name="offset" type="float">
</argument>
<description>
Sets the offset for the ramp color at index [i]point[/i]
</description>
</method>
<method name="set_offsets">
<argument index="0" name="offsets" type="RealArray">
</argument>
<description>
Sets the offset for the specified amount of elements. Calling this function with a different number of elements than previously defined causes the ramp to resize its colors and offsets array to accomodate the new elements, all new colors will be black by default.
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="ConcavePolygonShape" inherits="Shape" category="Core">
<brief_description>
Concave polygon shape.
</brief_description>
<description>
Concave polygon shape resource, which can be set into a [PhysicsBody] or area. This shape is created by feeding a list of triangles.
</description>
<methods>
<method name="get_faces" qualifiers="const">
<return type="Vector3Array">
</return>
<description>
Return the faces (an array of triangles).
</description>
</method>
<method name="set_faces">
<argument index="0" name="faces" type="Vector3Array">
</argument>
<description>
Set the faces (an array of triangles).
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="ConcavePolygonShape2D" inherits="Shape2D" category="Core">
<brief_description>
Concave polygon 2D shape resource for physics.
</brief_description>
<description>
Concave polygon 2D shape resource for physics. It is made out of segments and is very optimal for complex polygonal concave collisions. It is really not advised to use for [RigidBody2D] nodes. A CollisionPolygon2D in convex decomposition mode (solids) or several convex objects are advised for that instead. Otherwise, a concave polygon 2D shape is better for static collisions.
The main difference between a [ConvexPolygonShape2D] and a [ConcavePolygonShape2D] is that a concave polygon assumes it is concave and uses a more complex method of collision detection, and a convex one forces itself to be convex in order to speed up collision detection.
</description>
<methods>
<method name="get_segments" qualifiers="const">
<return type="Vector2Array">
</return>
<description>
Return the array of segments.
</description>
</method>
<method name="set_segments">
<argument index="0" name="segments" type="Vector2Array">
</argument>
<description>
Set the array of segments.
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="ConeTwistJoint" inherits="Joint" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
<method name="get_param" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="param" type="int">
</argument>
<description>
</description>
</method>
<method name="set_param">
<argument index="0" name="param" type="int">
</argument>
<argument index="1" name="value" type="float">
</argument>
<description>
</description>
</method>
</methods>
<constants>
<constant name="PARAM_SWING_SPAN" value="0">
</constant>
<constant name="PARAM_TWIST_SPAN" value="1">
</constant>
<constant name="PARAM_BIAS" value="2">
</constant>
<constant name="PARAM_SOFTNESS" value="3">
</constant>
<constant name="PARAM_RELAXATION" value="4">
</constant>
<constant name="PARAM_MAX" value="5">
</constant>
</constants>
</class>
<class name="ConfigFile" inherits="Reference" category="Core">
<brief_description>
Helper class to handle INI-style files.
</brief_description>
<description>
This helper class can be used to store [Variant] values on the filesystem using an INI-style formatting. The stored values as referenced by a section and a key. The stored data can be saved to or parsed from a file, though ConfigFile objects can also be used directly with accessing the filesystem.
The following example shows how to parse a INI-style file from the system, read its contents and store new values in it:
[codeblock]
var config = ConfigFile.new()
var err = config.load("user://settings.cfg")
if err == OK: # if not, something went wrong with the file loading
# Look for the display/width pair, and default to 1024 if missing
var screen_width = get_value("display", "width", 1024)
# Store a variable if and only it hasn't been defined yet
if not config.has_section_key("audio", "mute"):
config.set_value("audio", "mute", false)
# Save the changes by overwriting the previous file
config.save("user://settings.cfg")
[/codeblock]
</description>
<methods>
<method name="get_section_keys" qualifiers="const">
<return type="StringArray">
</return>
<argument index="0" name="section" type="String">
</argument>
<description>
Return an array of all defined key identifiers in the specified section.
</description>
</method>
<method name="get_sections" qualifiers="const">
<return type="StringArray">
</return>
<description>
Return an array of all defined section identifiers.
</description>
</method>
<method name="get_value" qualifiers="const">
<return type="Variant">
</return>
<argument index="0" name="section" type="String">
</argument>
<argument index="1" name="key" type="String">
</argument>
<argument index="2" name="default" type="var" default="NULL">
</argument>
<description>
Return the current value for the specified section and key. If the section and/or the key do not exist, the method returns the value of the optional [i]default[/i] argument (and thus [code]NULL[/code] if not specified).
</description>
</method>
<method name="has_section" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="section" type="String">
</argument>
<description>
Check if the specified section exists.
</description>
</method>
<method name="has_section_key" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="section" type="String">
</argument>
<argument index="1" name="key" type="String">
</argument>
<description>
Check if the specified section-key pair exists.
</description>
</method>
<method name="load">
<return type="Error">
</return>
<argument index="0" name="path" type="String">
</argument>
<description>
Load the config file specified as a parameter. The file's contents are parsed and loaded in the ConfigFile object from which the method was called. The return value is one of the OK, FAILED or ERR_* constants listed in [@Global Scope] (if the load was successful, it returns OK).
</description>
</method>
<method name="save">
<return type="Error">
</return>
<argument index="0" name="path" type="String">
</argument>
<description>
Save the contents of the ConfigFile object to the file specified as a parameter. The output file uses an INI-style structure.
The return value is one of the OK, FAILED or ERR_* constants listed in [@Global Scope] (if the save was successful, it returns OK).
</description>
</method>
<method name="set_value">
<argument index="0" name="section" type="String">
</argument>
<argument index="1" name="key" type="String">
</argument>
<argument index="2" name="value" type="var">
</argument>
<description>
Assign a value to the specified key of the the specified section. If the section and/or the key do not exist, they are created. Passing a [code]NULL[/code] value deletes the specified key if it exists (and deletes the section if it ends up empty once the key has been removed).
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="ConfirmationDialog" inherits="AcceptDialog" category="Core">
<brief_description>
Dialog for confirmation of actions.
</brief_description>
<description>
Dialog for confirmation of actions. This dialog inherits from [AcceptDialog], but has by default an OK and Cancel button (in host OS order).
</description>
<methods>
<method name="get_cancel">
<return type="Button">
</return>
<description>
Return the cancel button.
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="Container" inherits="Control" category="Core">
<brief_description>
Base node for containers.
</brief_description>
<description>
Base node for containers. A [Container] contains other controls and automatically arranges them in a certain way.
A Control can inherit this to create custom container classes.
</description>
<methods>
<method name="fit_child_in_rect">
<argument index="0" name="child" type="Control">
</argument>
<argument index="1" name="rect" type="Rect2">
</argument>
<description>
Fit a child control in a given rect. This is mainly a helper for creating custom container classes.
</description>
</method>
<method name="queue_sort">
<description>
Queue resort of the contained children. This is called automatically anyway, but can be called upon request.
</description>
</method>
</methods>
<signals>
<signal name="sort_children">
<description>
Emitted when sorting the children is needed.
</description>
</signal>
</signals>
<constants>
<constant name="NOTIFICATION_SORT_CHILDREN" value="50">
Notification for when sorting the children, it must be obeyed immediately.
</constant>
</constants>
</class>
<class name="Control" inherits="CanvasItem" category="Core">
<brief_description>
Control is the base node for all the GUI components.
</brief_description>
<description>
Control is the base class Node for all the GUI components. Every GUI component inherits from it, directly or indirectly. In this way, sections of the scene tree made of contiguous control nodes, become user interfaces.
Controls are relative to the parent position and size by using anchors and margins. This ensures that they can adapt easily in most situation to changing dialog and screen sizes. When more flexibility is desired, [Container] derived nodes can be used.
Anchors work by defining which margin do they follow, and a value relative to it. Allowed anchoring modes are ANCHOR_BEGIN, where the margin is relative to the top or left margins of the parent (in pixels), ANCHOR_END for the right and bottom margins of the parent and ANCHOR_RATIO, which is a ratio from 0 to 1 in the parent range.
Input device events ([InputEvent]) are first sent to the root controls via the [method Node._input], which distribute it through the tree, then delivers them to the adequate one (under cursor or keyboard focus based) by calling [method MainLoop._input_event]. There is no need to enable input processing on controls to receive such events. To ensure that no one else will receive the event (not even [method Node._unhandled_input]), the control can accept it by calling [method accept_event].
Only one control can hold the keyboard focus (receiving keyboard events), for that the control must define the focus mode with [method set_focus_mode]. Focus is lost when another control gains it, or the current focus owner is hidden.
It is sometimes desired for a control to ignore mouse/pointer events. This is often the case when placing other controls on top of a button, in such cases. Calling [method set_ignore_mouse] enables this function.
Finally, controls are skinned according to a [Theme]. Setting a [Theme] on a control will propagate all the skinning down the tree. Optionally, skinning can be overridden per each control by calling the add_*_override functions, or from the editor.
</description>
<methods>
<method name="_input_event" qualifiers="virtual">
<argument index="0" name="event" type="InputEvent">
</argument>
<description>
Called when an input event reaches the control.
</description>
</method>
<method name="accept_event">
<description>
Handles the event, no other control will receive it and it will not be sent to nodes waiting on [method Node._unhandled_input] or [method Node._unhandled_key_input].
</description>
</method>
<method name="add_color_override">
<argument index="0" name="name" type="String">
</argument>
<argument index="1" name="color" type="Color">
</argument>
<description>
</description>
</method>
<method name="add_constant_override">
<argument index="0" name="name" type="String">
</argument>
<argument index="1" name="constant" type="int">
</argument>
<description>
Override a single constant (integer) in the theme of this Control. If constant equals Theme.INVALID_CONSTANT, override is cleared.
</description>
</method>
<method name="add_font_override">
<argument index="0" name="name" type="String">
</argument>
<argument index="1" name="font" type="Font">
</argument>
<description>
Override a single font (font) in the theme of this Control. If font is empty, override is cleared.
</description>
</method>
<method name="add_icon_override">
<argument index="0" name="name" type="String">
</argument>
<argument index="1" name="texture" type="Texture">
</argument>
<description>
Override a single icon ([Texture]) in the theme of this Control. If texture is empty, override is cleared.
</description>
</method>
<method name="add_shader_override">
<argument index="0" name="name" type="String">
</argument>
<argument index="1" name="shader" type="Shader">
</argument>
<description>
</description>
</method>
<method name="add_style_override">
<argument index="0" name="name" type="String">
</argument>
<argument index="1" name="stylebox" type="StyleBox">
</argument>
<description>
Override a single stylebox ([Stylebox]) in the theme of this Control. If stylebox is empty, override is cleared.
</description>
</method>
<method name="can_drop_data" qualifiers="virtual">
<return type="bool">
</return>
<argument index="0" name="pos" type="Vector2">
</argument>
<argument index="1" name="data" type="var">
</argument>
<description>
</description>
</method>
<method name="drop_data" qualifiers="virtual">
<argument index="0" name="pos" type="Vector2">
</argument>
<argument index="1" name="data" type="var">
</argument>
<description>
</description>
</method>
<method name="force_drag">
<argument index="0" name="data" type="var">
</argument>
<argument index="1" name="preview" type="Object">
</argument>
<description>
</description>
</method>
<method name="get_anchor" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="margin" type="int">
</argument>
<description>
Return the anchor type (ANCHOR_BEGIN, ANCHOR_END, ANCHOR_RATIO) for a given margin (MARGIN_LEFT, MARGIN_TOP, MARGIN_RIGHT, MARGIN_BOTTOM).
</description>
</method>
<method name="get_begin" qualifiers="const">
<return type="Vector2">
</return>
<description>
</description>
</method>
<method name="get_color" qualifiers="const">
<return type="Color">
</return>
<argument index="0" name="name" type="String">
</argument>
<argument index="1" name="type" type="String" default="&quot;&quot;">
</argument>
<description>
</description>
</method>
<method name="get_combined_minimum_size" qualifiers="const">
<return type="Vector2">
</return>
<description>
</description>
</method>
<method name="get_constant" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="name" type="String">
</argument>
<argument index="1" name="type" type="String" default="&quot;&quot;">
</argument>
<description>
</description>
</method>
<method name="get_cursor_shape" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="pos" type="Vector2" default="Vector2(0,0)">
</argument>
<description>
Return the cursor shape at a certain position in the control.
</description>
</method>
<method name="get_custom_minimum_size" qualifiers="const">
<return type="Vector2">
</return>
<description>
</description>
</method>
<method name="get_default_cursor_shape" qualifiers="const">
<return type="int">
</return>
<description>
Return the default cursor shape for this control. See enum CURSOR_* for the list of shapes.
</description>
</method>
<method name="get_drag_data" qualifiers="virtual">
<return type="Object">
</return>
<argument index="0" name="pos" type="Vector2">
</argument>
<description>
</description>
</method>
<method name="get_end" qualifiers="const">
<return type="Vector2">
</return>
<description>
Returns MARGIN_LEFT and MARGIN_TOP at the same time. This is a helper (see [method set_margin]).
</description>
</method>
<method name="get_focus_neighbour" qualifiers="const">
<return type="NodePath">
</return>
<argument index="0" name="margin" type="int">
</argument>
<description>
Return the forced neighbour for moving the input focus to. When pressing TAB or directional/joypad directions focus is moved to the next control in that direction. However, the neighbour to move to can be forced with this function.
</description>
</method>
<method name="get_focus_owner" qualifiers="const">
<return type="Control">
</return>
<description>
Return which control is owning the keyboard focus, or null if no one.
</description>
</method>
<method name="get_font" qualifiers="const">
<return type="Font">
</return>
<argument index="0" name="name" type="String">
</argument>
<argument index="1" name="type" type="String" default="&quot;&quot;">
</argument>
<description>
</description>
</method>
<method name="get_global_pos" qualifiers="const">
<return type="Vector2">
</return>
<description>
Returns the Control position, relative to the top-left corner of the parent Control and independent of the anchor mode.
</description>
</method>
<method name="get_global_rect" qualifiers="const">
<return type="Rect2">
</return>
<description>
Return position and size of the Control, relative to the top-left corner of the [i]window[/i] Control. This is a helper (see [method get_global_pos], [method get_size]).
</description>
</method>
<method name="get_h_size_flags" qualifiers="const">
<return type="int">
</return>
<description>
Hint for containers, return horizontal positioning flags.
</description>
</method>
<method name="get_icon" qualifiers="const">
<return type="Texture">
</return>
<argument index="0" name="name" type="String">
</argument>
<argument index="1" name="type" type="String" default="&quot;&quot;">
</argument>
<description>
</description>
</method>
<method name="get_margin" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="margin" type="int">
</argument>
<description>
Return a margin offset. Margin can be one of (MARGIN_LEFT, MARGIN_TOP, MARGIN_RIGHT, MARGIN_BOTTOM). Offset value being returned depends on the anchor mode.
</description>
</method>
<method name="get_minimum_size" qualifiers="const">
<return type="Vector2">
</return>
<description>
Return the minimum size this Control can shrink to. A control will never be displayed or resized smaller than its minimum size.
</description>
</method>
<method name="get_minimum_size" qualifiers="virtual">
<return type="Vector2">
</return>
<description>
Return the minimum size this Control can shrink to. A control will never be displayed or resized smaller than its minimum size.
</description>
</method>
<method name="get_parent_area_size" qualifiers="const">
<return type="Vector2">
</return>
<description>
</description>
</method>
<method name="get_parent_control" qualifiers="const">
<return type="Control">
</return>
<description>
</description>
</method>
<method name="get_pos" qualifiers="const">
<return type="Vector2">
</return>
<description>
Returns the Control position, relative to the top-left corner of the parent Control and independent of the anchor mode.
</description>
</method>
<method name="get_rect" qualifiers="const">
<return type="Rect2">
</return>
<description>
Return position and size of the Control, relative to the top-left corner of the parent Control. This is a helper (see [method get_pos], [method get_size]).
</description>
</method>
<method name="get_rotation" qualifiers="const">
<return type="float">
</return>
<description>
</description>
</method>
<method name="get_rotation_deg" qualifiers="const">
<return type="float">
</return>
<description>
</description>
</method>
<method name="get_scale" qualifiers="const">
<return type="Vector2">
</return>
<description>
</description>
</method>
<method name="get_size" qualifiers="const">
<return type="Vector2">
</return>
<description>
Returns the size of the Control, computed from all margins, however the size returned will [b]never be smaller than the minimum size reported by [method get_minimum_size][/b]. This means that even if end position of the Control rectangle is smaller than the begin position, the Control will still display and interact correctly. (see description, [method get_minimum_size], [method set_margin], [method set_anchor]).
</description>
</method>
<method name="get_stretch_ratio" qualifiers="const">
<return type="float">
</return>
<description>
Hint for containers, return the stretch ratio. This value is relative to other stretch ratio, so if this control has 2 and another has 1, this one will be twice as big.
</description>
</method>
<method name="get_stylebox" qualifiers="const">
<return type="StyleBox">
</return>
<argument index="0" name="name" type="String">
</argument>
<argument index="1" name="type" type="String" default="&quot;&quot;">
</argument>
<description>
</description>
</method>
<method name="get_theme" qualifiers="const">
<return type="Theme">
</return>
<description>
Return a [Theme] override, if one exists (see [method set_theme]).
</description>
</method>
<method name="get_tooltip" qualifiers="const">
<return type="String">
</return>
<argument index="0" name="atpos" type="Vector2" default="Vector2(0,0)">
</argument>
<description>
Return the tooltip, which will appear when the cursor is resting over this control.
</description>
</method>
<method name="get_v_size_flags" qualifiers="const">
<return type="int">
</return>
<description>
Hint for containers, return vertical positioning flags.
</description>
</method>
<method name="grab_click_focus">
<description>
</description>
</method>
<method name="grab_focus">
<description>
Steal the focus from another control and become the focused control (see [method set_focus_mode]).
</description>
</method>
<method name="has_focus" qualifiers="const">
<return type="bool">
</return>
<description>
Return whether the Control is the current focused control (see [method set_focus_mode]).
</description>
</method>
<method name="is_ignoring_mouse" qualifiers="const">
<return type="bool">
</return>
<description>
Return if the control is ignoring mouse events (even touchpad events send mouse events).
</description>
</method>
<method name="is_stopping_mouse" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="release_focus">
<description>
Give up the focus, no other control will be able to receive keyboard input.
</description>
</method>
<method name="set_anchor">
<argument index="0" name="margin" type="int">
</argument>
<argument index="1" name="anchor_mode" type="int">
</argument>
<description>
Change the anchor (ANCHOR_BEGIN, ANCHOR_END, ANCHOR_RATIO) type for a margin (MARGIN_LEFT, MARGIN_TOP, MARGIN_RIGHT, MARGIN_BOTTOM). Changing the anchor mode converts the current margin offset from the previous anchor mode to the new one, so margin offsets ([method set_margin]) must be done after setting anchors, or at the same time ([method set_anchor_and_margin]).
</description>
</method>
<method name="set_anchor_and_margin">
<argument index="0" name="margin" type="int">
</argument>
<argument index="1" name="anchor_mode" type="int">
</argument>
<argument index="2" name="offset" type="float">
</argument>
<description>
Change the anchor (ANCHOR_BEGIN, ANCHOR_END, ANCHOR_RATIO) type for a margin (MARGIN_LEFT, MARGIN_TOP, MARGIN_RIGHT, MARGIN_BOTTOM), and also set its offset. This is a helper (see [method set_anchor] and [method set_margin]).
</description>
</method>
<method name="set_area_as_parent_rect">
<argument index="0" name="margin" type="int" default="0">
</argument>
<description>
Change all margins and anchors, so this Control always takes up the same area as the parent Control. This is a helper (see [method set_anchor], [method set_margin]).
</description>
</method>
<method name="set_begin">
<argument index="0" name="pos" type="Vector2">
</argument>
<description>
Sets MARGIN_LEFT and MARGIN_TOP at the same time. This is a helper (see [method set_margin]).
</description>
</method>
<method name="set_custom_minimum_size">
<argument index="0" name="size" type="Vector2">
</argument>
<description>
</description>
</method>
<method name="set_default_cursor_shape">
<argument index="0" name="shape" type="int">
</argument>
<description>
Set the default cursor shape for this control. See enum CURSOR_* for the list of shapes.
</description>
</method>
<method name="set_drag_preview">
<argument index="0" name="control" type="Control">
</argument>
<description>
</description>
</method>
<method name="set_end">
<argument index="0" name="pos" type="Vector2">
</argument>
<description>
Sets MARGIN_RIGHT and MARGIN_BOTTOM at the same time. This is a helper (see [method set_margin]).
</description>
</method>
<method name="set_focus_mode">
<argument index="0" name="mode" type="int">
</argument>
<description>
Set the focus access mode for the control (FOCUS_NONE, FOCUS_CLICK, FOCUS_ALL). Only one Control can be focused at the same time, and it will receive keyboard signals.
</description>
</method>
<method name="set_focus_neighbour">
<argument index="0" name="margin" type="int">
</argument>
<argument index="1" name="neighbour" type="NodePath">
</argument>
<description>
Force a neighbour for moving the input focus to. When pressing TAB or directional/joypad directions focus is moved to the next control in that direction. However, the neighbour to move to can be forced with this function.
</description>
</method>
<method name="set_global_pos">
<argument index="0" name="pos" type="Vector2">
</argument>
<description>
Move the Control to a new position, relative to the top-left corner of the [i]window[/i] Control, and without changing current anchor mode. (see [method set_margin]).
</description>
</method>
<method name="set_h_size_flags">
<argument index="0" name="flags" type="int">
</argument>
<description>
Hint for containers, set horizontal positioning flags.
</description>
</method>
<method name="set_ignore_mouse">
<argument index="0" name="ignore" type="bool">
</argument>
<description>
Ignore mouse events on this control (even touchpad events send mouse events).
</description>
</method>
<method name="set_margin">
<argument index="0" name="margin" type="int">
</argument>
<argument index="1" name="offset" type="float">
</argument>
<description>
Set a margin offset. Margin can be one of (MARGIN_LEFT, MARGIN_TOP, MARGIN_RIGHT, MARGIN_BOTTOM). Offset value being set depends on the anchor mode.
</description>
</method>
<method name="set_pos">
<argument index="0" name="pos" type="Vector2">
</argument>
<description>
Move the Control to a new position, relative to the top-left corner of the parent Control, changing all margins if needed and without changing current anchor mode. This is a helper (see [method set_margin]).
</description>
</method>
<method name="set_rotation">
<argument index="0" name="radians" type="float">
</argument>
<description>
</description>
</method>
<method name="set_rotation_deg">
<argument index="0" name="degrees" type="float">
</argument>
<description>
</description>
</method>
<method name="set_scale">
<argument index="0" name="scale" type="Vector2">
</argument>
<description>
</description>
</method>
<method name="set_size">
<argument index="0" name="size" type="Vector2">
</argument>
<description>
Changes MARGIN_RIGHT and MARGIN_BOTTOM to fit a given size. This is a helper (see [method set_margin]).
</description>
</method>
<method name="set_stop_mouse">
<argument index="0" name="stop" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_stretch_ratio">
<argument index="0" name="ratio" type="float">
</argument>
<description>
Hint for containers, set the stretch ratio. This value is relative to other stretch ratio, so if this control has 2 and another has 1, this one will be twice as big.
</description>
</method>
<method name="set_theme">
<argument index="0" name="theme" type="Theme">
</argument>
<description>
Override whole the [Theme] for this Control and all its children controls.
</description>
</method>
<method name="set_tooltip">
<argument index="0" name="tooltip" type="String">
</argument>
<description>
Set a tooltip, which will appear when the cursor is resting over this control.
</description>
</method>
<method name="set_v_size_flags">
<argument index="0" name="flags" type="int">
</argument>
<description>
Hint for containers, set vertical positioning flags.
</description>
</method>
<method name="show_modal">
<argument index="0" name="exclusive" type="bool" default="false">
</argument>
<description>
Display a Control as modal. Control must be a subwindow. Modal controls capture the input signals until closed or the area outside them is accessed. When a modal control loses focus, or the ESC key is pressed, they automatically hide. Modal controls are used extensively for popup dialogs and menus.
</description>
</method>
<method name="warp_mouse">
<argument index="0" name="to_pos" type="Vector2">
</argument>
<description>
</description>
</method>
</methods>
<signals>
<signal name="focus_enter">
<description>
Emitted when keyboard focus is gained.
</description>
</signal>
<signal name="focus_exit">
<description>
Emitted when the keyboard focus is lost.
</description>
</signal>
<signal name="input_event">
<argument index="0" name="ev" type="InputEvent">
</argument>
<description>
Emitted when an input event is received. Connecting in realtime is recommended for accepting the events.
</description>
</signal>
<signal name="minimum_size_changed">
<description>
Emitted when the minimum size of the control changed.
</description>
</signal>
<signal name="modal_close">
<description>
</description>
</signal>
<signal name="mouse_enter">
<description>
Emitted when the mouse enters the control area.
</description>
</signal>
<signal name="mouse_exit">
<description>
Emitted when the mouse left the control area.
</description>
</signal>
<signal name="resized">
<description>
Emitted when the control changed size.
</description>
</signal>
<signal name="size_flags_changed">
<description>
Emitted when the size flags changed.
</description>
</signal>
</signals>
<constants>
<constant name="ANCHOR_BEGIN" value="0">
X is relative to MARGIN_LEFT, Y is relative to MARGIN_TOP.
</constant>
<constant name="ANCHOR_END" value="1">
X is relative to -MARGIN_RIGHT, Y is relative to -MARGIN_BOTTOM.
</constant>
<constant name="ANCHOR_RATIO" value="2">
X and Y are a ratio (0 to 1) relative to the parent size 0 is left/top, 1 is right/bottom.
</constant>
<constant name="ANCHOR_CENTER" value="3">
</constant>
<constant name="FOCUS_NONE" value="0">
Control can't acquire focus.
</constant>
<constant name="FOCUS_CLICK" value="1">
Control can acquire focus only if clicked.
</constant>
<constant name="FOCUS_ALL" value="2">
Control can acquire focus if clicked, or by pressing TAB/Directionals in the keyboard from another Control.
</constant>
<constant name="NOTIFICATION_RESIZED" value="40">
Control changed size (get_size() reports the new size).
</constant>
<constant name="NOTIFICATION_MOUSE_ENTER" value="41">
Mouse pointer entered the area of the Control.
</constant>
<constant name="NOTIFICATION_MOUSE_EXIT" value="42">
Mouse pointer exited the area of the Control.
</constant>
<constant name="NOTIFICATION_FOCUS_ENTER" value="43">
Control gained focus.
</constant>
<constant name="NOTIFICATION_FOCUS_EXIT" value="44">
Control lost focus.
</constant>
<constant name="NOTIFICATION_THEME_CHANGED" value="45">
Theme changed. Redrawing is desired.
</constant>
<constant name="NOTIFICATION_MODAL_CLOSE" value="46">
Modal control was closed.
</constant>
<constant name="CURSOR_ARROW" value="0">
</constant>
<constant name="CURSOR_IBEAM" value="1">
</constant>
<constant name="CURSOR_POINTING_HAND" value="2">
</constant>
<constant name="CURSOR_CROSS" value="3">
</constant>
<constant name="CURSOR_WAIT" value="4">
</constant>
<constant name="CURSOR_BUSY" value="5">
</constant>
<constant name="CURSOR_DRAG" value="6">
</constant>
<constant name="CURSOR_CAN_DROP" value="7">
</constant>
<constant name="CURSOR_FORBIDDEN" value="8">
</constant>
<constant name="CURSOR_VSIZE" value="9">
</constant>
<constant name="CURSOR_HSIZE" value="10">
</constant>
<constant name="CURSOR_BDIAGSIZE" value="11">
</constant>
<constant name="CURSOR_FDIAGSIZE" value="12">
</constant>
<constant name="CURSOR_MOVE" value="13">
</constant>
<constant name="CURSOR_VSPLIT" value="14">
</constant>
<constant name="CURSOR_HSPLIT" value="15">
</constant>
<constant name="CURSOR_HELP" value="16">
</constant>
<constant name="SIZE_EXPAND" value="1">
</constant>
<constant name="SIZE_FILL" value="2">
</constant>
<constant name="SIZE_EXPAND_FILL" value="3">
</constant>
</constants>
</class>
<class name="ConvexPolygonShape" inherits="Shape" category="Core">
<brief_description>
Convex Polygon Shape.
</brief_description>
<description>
Convex polygon shape resource, which can be set into a [PhysicsBody] or area.
</description>
<methods>
<method name="get_points" qualifiers="const">
<return type="Vector3Array">
</return>
<description>
</description>
</method>
<method name="set_points">
<argument index="0" name="points" type="Vector3Array">
</argument>
<description>
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="ConvexPolygonShape2D" inherits="Shape2D" category="Core">
<brief_description>
Convex Polygon Shape for 2D physics.
</brief_description>
<description>
Convex Polygon Shape for 2D physics. A convex polygon, whatever its shape, is internally decomposed into as many convex polygons as needed to ensure all collision checks against it are always done on convex polygons (which are faster to check).
The main difference between a [ConvexPolygonShape2D] and a [ConcavePolygonShape2D] is that a concave polygon assumes it is concave and uses a more complex method of collision detection, and a convex one forces itself to be convex in order to speed up collision detection.
</description>
<methods>
<method name="get_points" qualifiers="const">
<return type="Vector2Array">
</return>
<description>
Return a list of points in either clockwise or counter clockwise order, forming a convex polygon.
</description>
</method>
<method name="set_point_cloud">
<argument index="0" name="point_cloud" type="Vector2Array">
</argument>
<description>
Currently, this method does nothing.
</description>
</method>
<method name="set_points">
<argument index="0" name="points" type="Vector2Array">
</argument>
<description>
Set a list of points in either clockwise or counter clockwise order, forming a convex polygon.
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="CubeMap" inherits="Resource" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
<method name="get_flags" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_height" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_lossy_storage_quality" qualifiers="const">
<return type="float">
</return>
<description>
</description>
</method>
<method name="get_rid" qualifiers="const">
<return type="RID">
</return>
<description>
</description>
</method>
<method name="get_side" qualifiers="const">
<return type="Image">
</return>
<argument index="0" name="side" type="int">
</argument>
<description>
</description>
</method>
<method name="get_storage" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_width" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="set_flags">
<argument index="0" name="flags" type="int">
</argument>
<description>
</description>
</method>
<method name="set_lossy_storage_quality">
<argument index="0" name="quality" type="float">
</argument>
<description>
</description>
</method>
<method name="set_side">
<argument index="0" name="side" type="int">
</argument>
<argument index="1" name="image" type="Image">
</argument>
<description>
</description>
</method>
<method name="set_storage">
<argument index="0" name="mode" type="int">
</argument>
<description>
</description>
</method>
</methods>
<constants>
<constant name="STORAGE_RAW" value="0">
</constant>
<constant name="STORAGE_COMPRESS_LOSSY" value="1">
</constant>
<constant name="STORAGE_COMPRESS_LOSSLESS" value="2">
</constant>
<constant name="SIDE_LEFT" value="0">
</constant>
<constant name="SIDE_RIGHT" value="1">
</constant>
<constant name="SIDE_BOTTOM" value="2">
</constant>
<constant name="SIDE_TOP" value="3">
</constant>
<constant name="SIDE_FRONT" value="4">
</constant>
<constant name="SIDE_BACK" value="5">
</constant>
<constant name="FLAG_MIPMAPS" value="1">
</constant>
<constant name="FLAG_REPEAT" value="2">
</constant>
<constant name="FLAG_FILTER" value="4">
</constant>
<constant name="FLAGS_DEFAULT" value="7">
</constant>
</constants>
</class>
<class name="Curve2D" inherits="Resource" category="Core">
<brief_description>
Describes a Bezier curve in 2D space.
</brief_description>
<description>
This class describes a Bezier curve in 2D space. It is mainly used to give a shape to a [Path2D], but can be manually sampled for other purposes.
It keeps a cache of precalculated points along the curve, to speed further calculations up.
</description>
<methods>
<method name="add_point">
<argument index="0" name="pos" type="Vector2">
</argument>
<argument index="1" name="in" type="Vector2" default="Vector2(0,0)">
</argument>
<argument index="2" name="out" type="Vector2" default="Vector2(0,0)">
</argument>
<argument index="3" name="atpos" type="int" default="-1">
</argument>
<description>
Adds a point to a curve, at position "pos", with control points "in" and "out".
If "atpos" is given, the point is inserted before the point number "atpos", moving that point (and every point after) after the inserted point. If "atpos" is not given, or is an illegal value (atpos &lt;0 or atpos &gt;= [method get_point_count]), the point will be appended at the end of the point list.
</description>
</method>
<method name="get_bake_interval" qualifiers="const">
<return type="float">
</return>
<description>
Returns the distance between two adjacent cached points.
</description>
</method>
<method name="get_baked_length" qualifiers="const">
<return type="float">
</return>
<description>
Returns the total length of the curve, based on the cached points. Given enough density (see [method set_bake_interval]), it should be approximate enough.
</description>
</method>
<method name="get_baked_points" qualifiers="const">
<return type="Vector2Array">
</return>
<description>
Returns the cache of points as a [Vector2Array].
</description>
</method>
<method name="get_point_count" qualifiers="const">
<return type="int">
</return>
<description>
Returns the number of points describing the curve.
</description>
</method>
<method name="get_point_in" qualifiers="const">
<return type="Vector2">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
Returns the position of the control point leading to the vertex "idx". If the index is out of bounds, the function sends an error to the console, and returns (0, 0).
</description>
</method>
<method name="get_point_out" qualifiers="const">
<return type="Vector2">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
Returns the position of the control point leading out of the vertex "idx". If the index is out of bounds, the function sends an error to the console, and returns (0, 0).
</description>
</method>
<method name="get_point_pos" qualifiers="const">
<return type="Vector2">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
Returns the position of the vertex "idx". If the index is out of bounds, the function sends an error to the console, and returns (0, 0).
</description>
</method>
<method name="interpolate" qualifiers="const">
<return type="Vector2">
</return>
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="t" type="float">
</argument>
<description>
Returns the position between the vertex "idx" and the vertex "idx"+1, where "t" controls if the point is the first vertex (t = 0.0), the last vertex (t = 1.0), or in between. Values of "t" outside the range (0.0 &gt;= t &lt;=1) give strange, but predictable results.
If "idx" is out of bounds it is truncated to the first or last vertex, and "t" is ignored. If the curve has no points, the function sends an error to the console, and returns (0, 0).
</description>
</method>
<method name="interpolate_baked" qualifiers="const">
<return type="Vector2">
</return>
<argument index="0" name="offset" type="float">
</argument>
<argument index="1" name="cubic" type="bool" default="false">
</argument>
<description>
Returns a point within the curve at position "offset", where "offset" is measured as a pixel distance along the curve.
To do that, it finds the two cached points where the "offset" lies between, then interpolates the values. This interpolation is cubic if "cubic" is set to true, or linear if set to false.
Cubic interpolation tends to follow the curves better, but linear is faster (and often, precise enough).
</description>
</method>
<method name="interpolatef" qualifiers="const">
<return type="Vector2">
</return>
<argument index="0" name="fofs" type="float">
</argument>
<description>
Returns the position at the vertex "fofs". It calls [method interpolate] using the integer part of fofs as "idx", and its fractional part as "t".
</description>
</method>
<method name="remove_point">
<argument index="0" name="idx" type="int">
</argument>
<description>
Deletes the point "idx" from the curve. Sends an error to the console if "idx" is out of bounds.
</description>
</method>
<method name="set_bake_interval">
<argument index="0" name="distance" type="float">
</argument>
<description>
Sets the distance in pixels between two adjacent cached points. Changing it forces the cache to be recomputed the next time a xxx_baked_xxx function is called. The less distance, the more points the cache will have, and the more memory it will consume, so use with care.
</description>
</method>
<method name="set_point_in">
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="pos" type="Vector2">
</argument>
<description>
Sets the position of the control point leading to the vertex "idx". If the index is out of bounds, the function sends an error to the console.
</description>
</method>
<method name="set_point_out">
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="pos" type="Vector2">
</argument>
<description>
Sets the position of the control point leading out of the vertex "idx". If the index is out of bounds, the function sends an error to the console.
</description>
</method>
<method name="set_point_pos">
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="pos" type="Vector2">
</argument>
<description>
Sets the position for the vertex "idx". If the index is out of bounds, the function sends an error to the console.
</description>
</method>
<method name="tesselate" qualifiers="const">
<return type="Vector2Array">
</return>
<argument index="0" name="max_stages" type="int" default="5">
</argument>
<argument index="1" name="tolerance_degrees" type="float" default="4">
</argument>
<description>
Returns a list of points along the curve, with a curvature controlled point density. That is, the curvier parts will have more points than the straighter parts.
This approximation makes straight segments between each point, then subdivides those segments until the resulting shape is similar enough.
"max_stages" controls how many subdivisions a curve segment may face before it is considered approximate enough. Each subdivision splits the segment in half, so the default 5 stages may mean up to 32 subdivisions per curve segment. Increase with care!
"tolerance_degrees" controls how many degrees the midpoint of a segment may deviate from the real curve, before the segment has to be subdivided.
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="Curve3D" inherits="Resource" category="Core">
<brief_description>
Describes a Bezier curve in 3D space.
</brief_description>
<description>
This class describes a Bezier curve in 3D space. It is mainly used to give a shape to a [Path], but can be manually sampled for other purposes.
It keeps a cache of precalculated points along the curve, to speed further calculations up.
</description>
<methods>
<method name="add_point">
<argument index="0" name="pos" type="Vector3">
</argument>
<argument index="1" name="in" type="Vector3" default="Vector3(0, 0, 0)">
</argument>
<argument index="2" name="out" type="Vector3" default="Vector3(0, 0, 0)">
</argument>
<argument index="3" name="atpos" type="int" default="-1">
</argument>
<description>
Adds a point to a curve, at position "pos", with control points "in" and "out".
If "atpos" is given, the point is inserted before the point number "atpos", moving that point (and every point after) after the inserted point. If "atpos" is not given, or is an illegal value (atpos &lt;0 or atpos &gt;= [method get_point_count]), the point will be appended at the end of the point list.
</description>
</method>
<method name="get_bake_interval" qualifiers="const">
<return type="float">
</return>
<description>
Returns the distance between two adjacent cached points.
</description>
</method>
<method name="get_baked_length" qualifiers="const">
<return type="float">
</return>
<description>
Returns the total length of the curve, based on the cached points. Given enough density (see [method set_bake_interval]), it should be approximate enough.
</description>
</method>
<method name="get_baked_points" qualifiers="const">
<return type="Vector3Array">
</return>
<description>
Returns the cache of points as a [Vector3Array].
</description>
</method>
<method name="get_baked_tilts" qualifiers="const">
<return type="RealArray">
</return>
<description>
Returns the cache of tilts as a [RealArray].
</description>
</method>
<method name="get_point_count" qualifiers="const">
<return type="int">
</return>
<description>
Returns the number of points describing the curve.
</description>
</method>
<method name="get_point_in" qualifiers="const">
<return type="Vector3">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
Returns the position of the control point leading to the vertex "idx". If the index is out of bounds, the function sends an error to the console, and returns (0, 0, 0).
</description>
</method>
<method name="get_point_out" qualifiers="const">
<return type="Vector3">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
Returns the position of the control point leading out of the vertex "idx". If the index is out of bounds, the function sends an error to the console, and returns (0, 0, 0).
</description>
</method>
<method name="get_point_pos" qualifiers="const">
<return type="Vector3">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
Returns the position of the vertex "idx". If the index is out of bounds, the function sends an error to the console, and returns (0, 0, 0).
</description>
</method>
<method name="get_point_tilt" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
Returns the tilt angle in radians for the point "idx". If the index is out of bounds, the function sends an error to the console, and returns 0.
</description>
</method>
<method name="interpolate" qualifiers="const">
<return type="Vector3">
</return>
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="t" type="float">
</argument>
<description>
Returns the position between the vertex "idx" and the vertex "idx"+1, where "t" controls if the point is the first vertex (t = 0.0), the last vertex (t = 1.0), or in between. Values of "t" outside the range (0.0 &gt;= t &lt;=1) give strange, but predictable results.
If "idx" is out of bounds it is truncated to the first or last vertex, and "t" is ignored. If the curve has no points, the function sends an error to the console, and returns (0, 0, 0).
</description>
</method>
<method name="interpolate_baked" qualifiers="const">
<return type="Vector3">
</return>
<argument index="0" name="offset" type="float">
</argument>
<argument index="1" name="cubic" type="bool" default="false">
</argument>
<description>
Returns a point within the curve at position "offset", where "offset" is measured as a distance in 3D units along the curve.
To do that, it finds the two cached points where the "offset" lies between, then interpolates the values. This interpolation is cubic if "cubic" is set to true, or linear if set to false.
Cubic interpolation tends to follow the curves better, but linear is faster (and often, precise enough).
</description>
</method>
<method name="interpolatef" qualifiers="const">
<return type="Vector3">
</return>
<argument index="0" name="fofs" type="float">
</argument>
<description>
Returns the position at the vertex "fofs". It calls [method interpolate] using the integer part of fofs as "idx", and its fractional part as "t".
</description>
</method>
<method name="remove_point">
<argument index="0" name="idx" type="int">
</argument>
<description>
Deletes the point "idx" from the curve. Sends an error to the console if "idx" is out of bounds.
</description>
</method>
<method name="set_bake_interval">
<argument index="0" name="distance" type="float">
</argument>
<description>
Sets the distance in 3D units between two adjacent cached points. Changing it forces the cache to be recomputed the next time a xxx_baked_xxx function is called. The less distance, the more points the cache will have, and the more memory it will consume, so use with care.
</description>
</method>
<method name="set_point_in">
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="pos" type="Vector3">
</argument>
<description>
Sets the position of the control point leading to the vertex "idx". If the index is out of bounds, the function sends an error to the console.
</description>
</method>
<method name="set_point_out">
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="pos" type="Vector3">
</argument>
<description>
Sets the position of the control point leading out of the vertex "idx". If the index is out of bounds, the function sends an error to the console.
</description>
</method>
<method name="set_point_pos">
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="pos" type="Vector3">
</argument>
<description>
Sets the position for the vertex "idx". If the index is out of bounds, the function sends an error to the console.
</description>
</method>
<method name="set_point_tilt">
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="tilt" type="float">
</argument>
<description>
Sets the tilt angle in radians for the point "idx". If the index is out of bounds, the function sends an error to the console.
The tilt controls the rotation along the look-at axis an object traveling the path would have. In the case of a curve controlling a [PathFollow], this tilt is an offset over the natural tilt the PathFollow calculates.
</description>
</method>
<method name="tesselate" qualifiers="const">
<return type="Vector3Array">
</return>
<argument index="0" name="max_stages" type="int" default="5">
</argument>
<argument index="1" name="tolerance_degrees" type="float" default="4">
</argument>
<description>
Returns a list of points along the curve, with a curvature controlled point density. That is, the curvier parts will have more points than the straighter parts.
This approximation makes straight segments between each point, then subdivides those segments until the resulting shape is similar enough.
"max_stages" controls how many subdivisions a curve segment may face before it is considered approximate enough. Each subdivision splits the segment in half, so the default 5 stages may mean up to 32 subdivisions per curve segment. Increase with care!
"tolerance_degrees" controls how many degrees the midpoint of a segment may deviate from the real curve, before the segment has to be subdivided.
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="DampedSpringJoint2D" inherits="Joint2D" category="Core">
<brief_description>
Damped spring constraint for 2D physics.
</brief_description>
<description>
Damped spring constraint for 2D physics. This resembles a spring joint that always wants to go back to a given length.
</description>
<methods>
<method name="get_damping" qualifiers="const">
<return type="float">
</return>
<description>
Return the damping ratio of the spring joint. A value of 0 indicates an undamped spring, while 1 causes the system to reach equilibrium as fast as possible (critical damping).
</description>
</method>
<method name="get_length" qualifiers="const">
<return type="float">
</return>
<description>
Return the maximum length of the spring joint.
</description>
</method>
<method name="get_rest_length" qualifiers="const">
<return type="float">
</return>
<description>
Return the resting length of the spring joint. The joint will always try to go to back this length when pulled apart.
</description>
</method>
<method name="get_stiffness" qualifiers="const">
<return type="float">
</return>
<description>
Return the stiffness of the spring joint. The joint applies a force equal to the stiffness times the distance from its resting length.
</description>
</method>
<method name="set_damping">
<argument index="0" name="damping" type="float">
</argument>
<description>
Set the damping ratio of the spring joint. A value of 0 indicates an undamped spring, while 1 causes the system to reach equilibrium as fast as possible (critical damping).
</description>
</method>
<method name="set_length">
<argument index="0" name="length" type="float">
</argument>
<description>
Set the maximum length of the spring joint.
</description>
</method>
<method name="set_rest_length">
<argument index="0" name="rest_length" type="float">
</argument>
<description>
Set the resting length of the spring joint. The joint will always try to go to back this length when pulled apart.
</description>
</method>
<method name="set_stiffness">
<argument index="0" name="stiffness" type="float">
</argument>
<description>
Set the stiffness of the spring joint. The joint applies a force equal to the stiffness times the distance from its resting length.
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="Dictionary" category="Built-In Types">
<brief_description>
Dictionary type.
</brief_description>
<description>
Dictionary type. Associative container which contains values referenced by unique keys. Dictionaries are always passed by reference.
</description>
<methods>
<method name="clear">
<description>
Clear the dictionary, removing all key/value pairs.
</description>
</method>
<method name="empty">
<return type="bool">
</return>
<description>
Return true if the dictionary is empty.
</description>
</method>
<method name="erase">
<argument index="0" name="key" type="var">
</argument>
<description>
Erase a dictionary key/value pair by key.
</description>
</method>
<method name="has">
<return type="bool">
</return>
<argument index="0" name="key" type="var">
</argument>
<description>
Return true if the dictionary has a given key.
</description>
</method>
<method name="has_all">
<return type="bool">
</return>
<argument index="0" name="keys" type="Array">
</argument>
<description>
</description>
</method>
<method name="hash">
<return type="int">
</return>
<description>
Return a hashed integer value representing the dictionary contents.
</description>
</method>
<method name="keys">
<return type="Array">
</return>
<description>
Return the list of keys in the dictionary.
</description>
</method>
<method name="parse_json">
<return type="int">
</return>
<argument index="0" name="json" type="String">
</argument>
<description>
Parse json text to the dictionary. Return OK when successed or the error code when failed.
</description>
</method>
<method name="size">
<return type="int">
</return>
<description>
Return the size of the dictionary (in pairs).
</description>
</method>
<method name="to_json">
<return type="String">
</return>
<description>
Return the dictionary as json text.
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="DirectionalLight" inherits="Light" category="Core">
<brief_description>
Directional Light, such as the Sun or the Moon.
</brief_description>
<description>
A DirectionalLight is a type of [Light] node that emits light constantly in one direction (the negative z axis of the node). It is used lights with strong intensity that are located far away from the scene to model sunlight or moonlight. The worldspace location of the DirectionalLight transform (origin) is ignored, only the basis is used do determine light direction.
</description>
<methods>
<method name="get_shadow_mode" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_shadow_param" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="param" type="int">
</argument>
<description>
</description>
</method>
<method name="set_shadow_mode">
<argument index="0" name="mode" type="int">
</argument>
<description>
</description>
</method>
<method name="set_shadow_param">
<argument index="0" name="param" type="int">
</argument>
<argument index="1" name="value" type="float">
</argument>
<description>
</description>
</method>
</methods>
<constants>
<constant name="SHADOW_ORTHOGONAL" value="0">
</constant>
<constant name="SHADOW_PERSPECTIVE" value="1">
</constant>
<constant name="SHADOW_PARALLEL_2_SPLITS" value="2">
</constant>
<constant name="SHADOW_PARALLEL_4_SPLITS" value="3">
</constant>
<constant name="SHADOW_PARAM_MAX_DISTANCE" value="0">
</constant>
<constant name="SHADOW_PARAM_PSSM_SPLIT_WEIGHT" value="1">
</constant>
<constant name="SHADOW_PARAM_PSSM_ZOFFSET_SCALE" value="2">
</constant>
</constants>
</class>
<class name="Directory" inherits="Reference" category="Core">
<brief_description>
Type used to handle the filesystem.
</brief_description>
<description>
Directory type. It is used to manage directories and their content (not restricted to the project folder).
Here is an example on how to iterate through the files of a directory:
[codeblock]
func dir_contents(path):
var dir = Directory.new()
if dir.open(path) == OK:
dir.list_dir_begin()
var file_name = dir.get_next()
while (file_name != ""):
if dir.current_is_dir():
print("Found directory: " + file_name)
else:
print("Found file: " + file_name)
file_name = dir.get_next()
else:
print("An error occurred when trying to access the path.")
[/codeblock]
</description>
<methods>
<method name="change_dir">
<return type="Error">
</return>
<argument index="0" name="todir" type="String">
</argument>
<description>
Change the currently opened directory to the one passed as an argument. The argument can be relative to the current directory (e.g. [code]newdir[/code] or [code]../newdir[/code]), or an absolute path (e.g. [code]/tmp/newdir[/code] or [code]res://somedir/newdir[/code]).
The method returns one of the error code constants defined in [@Global Scope] (OK or ERR_*).
</description>
</method>
<method name="copy">
<return type="Error">
</return>
<argument index="0" name="from" type="String">
</argument>
<argument index="1" name="to" type="String">
</argument>
<description>
Copy the [i]from[/i] file to the [i]to[/i] destination. Both arguments should be paths to files, either relative or absolute. If the destination file exists and is not access-protected, it will be overwritten.
Returns one of the error code constants defined in [@Global Scope] (OK, FAILED or ERR_*).
</description>
</method>
<method name="current_is_dir" qualifiers="const">
<return type="bool">
</return>
<description>
Return whether the current item processed with the last [method get_next] call is a directory ([code].[/code] and [code]..[/code] are considered directories).
</description>
</method>
<method name="dir_exists">
<return type="bool">
</return>
<argument index="0" name="path" type="String">
</argument>
<description>
Return whether the target directory exists. The argument can be relative to the current directory, or an absolute path.
</description>
</method>
<method name="file_exists">
<return type="bool">
</return>
<argument index="0" name="path" type="String">
</argument>
<description>
Return whether the target file exists. The argument can be relative to the current directory, or an absolute path.
</description>
</method>
<method name="get_current_dir">
<return type="String">
</return>
<description>
Return the absolute path to the currently opened directory (e.g. [code]res://folder[/code] or [code]C:\tmp\folder[/code]).
</description>
</method>
<method name="get_drive">
<return type="String">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
On Windows, return the name of the drive (partition) passed as an argument (e.g. [code]C:[/code]). On other platforms, or if the requested drive does not existed, the method returns an empty String.
</description>
</method>
<method name="get_drive_count">
<return type="int">
</return>
<description>
On Windows, return the number of drives (partitions) mounted on the current filesystem. On other platforms, the method returns 0.
</description>
</method>
<method name="get_next">
<return type="String">
</return>
<description>
Return the next element (file or directory) in the current directory (including [code].[/code] and [code]..[/code]). The name of the file or directory is returned (and not its full path). Once the stream has been fully processed, the method returns an empty String and closes the stream automatically (i.e. [method list_dir_end] would not be mandatory in such a case).
</description>
</method>
<method name="get_space_left">
<return type="int">
</return>
<description>
On Unix desktop systems, return the available space on the current directory's disk. On other platforms, this information is not available and the method returns 0 or -1.
</description>
</method>
<method name="list_dir_begin">
<return type="bool">
</return>
<description>
Initialise the stream used to list all files and directories using the [method get_next] function, closing the current opened stream if needed. Once the stream has been processed, it should typically be closed with [method list_dir_end].
Return false if the stream could not be initialised.
</description>
</method>
<method name="list_dir_end">
<description>
Close the current stream opened with [method list_dir_begin] (whether it has been fully processed with [method get_next] or not does not matter).
</description>
</method>
<method name="make_dir">
<return type="Error">
</return>
<argument index="0" name="path" type="String">
</argument>
<description>
Create a directory. The argument can be relative to the current directory, or an absolute path. The target directory should be placed in an already existing directory (to create the full path recursively, see [method make_dir_recursive]).
The method returns one of the error code constants defined in [@Global Scope] (OK, FAILED or ERR_*).
</description>
</method>
<method name="make_dir_recursive">
<return type="Error">
</return>
<argument index="0" name="path" type="String">
</argument>
<description>
Create a target directory and all necessary intermediate directories in its path, by calling [method make_dir] recursively. The argument can be relative to the current directory, or an absolute path.
Returns one of the error code constants defined in [@Global Scope] (OK, FAILED or ERR_*).
</description>
</method>
<method name="open">
<return type="Error">
</return>
<argument index="0" name="path" type="String">
</argument>
<description>
Open an existing directory of the filesystem. The [i]path[/i] argument can be within the project tree ([code]res://folder[/code]), the user directory ([code]user://folder[/code]) or an absolute path of the user filesystem (e.g. [code]/tmp/folder[/code] or [code]C:\tmp\folder[/code]).
The method returns one of the error code constants defined in [@Global Scope] (OK or ERR_*).
</description>
</method>
<method name="remove">
<return type="Error">
</return>
<argument index="0" name="path" type="String">
</argument>
<description>
Delete the target file or an empty directory. The argument can be relative to the current directory, or an absolute path. If the target directory is not empty, the operation will fail.
Returns one of the error code constants defined in [@Global Scope] (OK or FAILED).
</description>
</method>
<method name="rename">
<return type="Error">
</return>
<argument index="0" name="from" type="String">
</argument>
<argument index="1" name="to" type="String">
</argument>
<description>
Rename (move) the [i]from[/i] file to the [i]to[/i] destination. Both arguments should be paths to files, either relative or absolute. If the destination file exists and is not access-protected, it will be overwritten.
Returns one of the error code constants defined in [@Global Scope] (OK or FAILED).
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="EditorFileDialog" inherits="ConfirmationDialog" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
<method name="add_filter">
<argument index="0" name="filter" type="String">
</argument>
<description>
</description>
</method>
<method name="clear_filters">
<description>
</description>
</method>
<method name="get_access" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_current_dir" qualifiers="const">
<return type="String">
</return>
<description>
</description>
</method>
<method name="get_current_file" qualifiers="const">
<return type="String">
</return>
<description>
</description>
</method>
<method name="get_current_path" qualifiers="const">
<return type="String">
</return>
<description>
</description>
</method>
<method name="get_display_mode" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_mode" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_vbox">
<return type="VBoxContainer">
</return>
<description>
</description>
</method>
<method name="invalidate">
<description>
</description>
</method>
<method name="is_showing_hidden_files" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="set_access">
<argument index="0" name="access" type="int">
</argument>
<description>
</description>
</method>
<method name="set_current_dir">
<argument index="0" name="dir" type="String">
</argument>
<description>
</description>
</method>
<method name="set_current_file">
<argument index="0" name="file" type="String">
</argument>
<description>
</description>
</method>
<method name="set_current_path">
<argument index="0" name="path" type="String">
</argument>
<description>
</description>
</method>
<method name="set_display_mode">
<argument index="0" name="mode" type="int">
</argument>
<description>
</description>
</method>
<method name="set_mode">
<argument index="0" name="mode" type="int">
</argument>
<description>
</description>
</method>
<method name="set_show_hidden_files">
<argument index="0" name="show" type="bool">
</argument>
<description>
</description>
</method>
</methods>
<signals>
<signal name="dir_selected">
<argument index="0" name="dir" type="String">
</argument>
<description>
</description>
</signal>
<signal name="file_selected">
<argument index="0" name="path" type="String">
</argument>
<description>
</description>
</signal>
<signal name="files_selected">
<argument index="0" name="paths" type="StringArray">
</argument>
<description>
</description>
</signal>
</signals>
<constants>
<constant name="MODE_OPEN_FILE" value="0">
</constant>
<constant name="MODE_OPEN_FILES" value="1">
</constant>
<constant name="MODE_OPEN_DIR" value="2">
</constant>
<constant name="MODE_SAVE_FILE" value="3">
</constant>
<constant name="ACCESS_RESOURCES" value="0">
</constant>
<constant name="ACCESS_USERDATA" value="1">
</constant>
<constant name="ACCESS_FILESYSTEM" value="2">
</constant>
</constants>
</class>
<class name="EditorImportPlugin" inherits="Reference" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
<method name="custom_export" qualifiers="virtual">
<return type="RawArray">
</return>
<argument index="0" name="path" type="String">
</argument>
<description>
</description>
</method>
<method name="get_name" qualifiers="virtual">
<return type="String">
</return>
<description>
</description>
</method>
<method name="get_visible_name" qualifiers="virtual">
<return type="String">
</return>
<description>
</description>
</method>
<method name="import" qualifiers="virtual">
<return type="int">
</return>
<argument index="0" name="path" type="String">
</argument>
<argument index="1" name="from" type="ResourceImportMetaData">
</argument>
<description>
</description>
</method>
<method name="import_dialog" qualifiers="virtual">
<argument index="0" name="from" type="String">
</argument>
<description>
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="EditorPlugin" inherits="Node" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
<method name="add_custom_control">
<argument index="0" name="container" type="int">
</argument>
<argument index="1" name="control" type="Object">
</argument>
<description>
</description>
</method>
<method name="add_custom_type">
<argument index="0" name="type" type="String">
</argument>
<argument index="1" name="base" type="String">
</argument>
<argument index="2" name="script" type="Script">
</argument>
<argument index="3" name="icon" type="Texture">
</argument>
<description>
</description>
</method>
<method name="apply_changes" qualifiers="virtual">
<description>
</description>
</method>
<method name="clear" qualifiers="virtual">
<description>
</description>
</method>
<method name="edit" qualifiers="virtual">
<argument index="0" name="object" type="Object">
</argument>
<description>
</description>
</method>
<method name="forward_input_event" qualifiers="virtual">
<return type="bool">
</return>
<argument index="0" name="event" type="InputEvent">
</argument>
<description>
</description>
</method>
<method name="forward_spatial_input_event" qualifiers="virtual">
<return type="bool">
</return>
<argument index="0" name="camera" type="Camera">
</argument>
<argument index="1" name="event" type="InputEvent">
</argument>
<description>
</description>
</method>
<method name="get_breakpoints" qualifiers="virtual">
<return type="StringArray">
</return>
<description>
</description>
</method>
<method name="get_name" qualifiers="virtual">
<return type="String">
</return>
<description>
</description>
</method>
<method name="get_state" qualifiers="virtual">
<return type="Dictionary">
</return>
<description>
</description>
</method>
<method name="get_undo_redo">
<return type="Object">
</return>
<description>
</description>
</method>
<method name="handles" qualifiers="virtual">
<return type="bool">
</return>
<argument index="0" name="object" type="Object">
</argument>
<description>
</description>
</method>
<method name="has_main_screen" qualifiers="virtual">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="make_visible" qualifiers="virtual">
<argument index="0" name="visible" type="bool">
</argument>
<description>
</description>
</method>
<method name="remove_custom_type">
<argument index="0" name="type" type="String">
</argument>
<description>
</description>
</method>
<method name="set_state" qualifiers="virtual">
<argument index="0" name="state" type="Dictionary">
</argument>
<description>
</description>
</method>
</methods>
<constants>
<constant name="CONTAINER_TOOLBAR" value="0">
</constant>
<constant name="CONTAINER_SPATIAL_EDITOR_MENU" value="1">
</constant>
<constant name="CONTAINER_SPATIAL_EDITOR_SIDE" value="2">
</constant>
<constant name="CONTAINER_SPATIAL_EDITOR_BOTTOM" value="3">
</constant>
<constant name="CONTAINER_CANVAS_EDITOR_MENU" value="4">
</constant>
<constant name="CONTAINER_CANVAS_EDITOR_SIDE" value="5">
</constant>
</constants>
</class>
<class name="EditorScenePostImport" inherits="Reference" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
<method name="post_import" qualifiers="virtual">
<argument index="0" name="scene" type="Object">
</argument>
<description>
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="EditorScript" inherits="Reference" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
<method name="_run" qualifiers="virtual">
<description>
</description>
</method>
<method name="add_root_node">
<argument index="0" name="node" type="Object">
</argument>
<description>
</description>
</method>
<method name="get_scene">
<return type="Object">
</return>
<description>
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="Environment" inherits="Resource" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
<method name="fx_get_param" qualifiers="const">
<argument index="0" name="param" type="int">
</argument>
<description>
</description>
</method>
<method name="fx_set_param">
<argument index="0" name="param" type="int">
</argument>
<argument index="1" name="value" type="var">
</argument>
<description>
</description>
</method>
<method name="get_background" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_background_param" qualifiers="const">
<argument index="0" name="param" type="int">
</argument>
<description>
</description>
</method>
<method name="is_fx_enabled" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="effect" type="int">
</argument>
<description>
</description>
</method>
<method name="set_background">
<argument index="0" name="bgmode" type="int">
</argument>
<description>
</description>
</method>
<method name="set_background_param">
<argument index="0" name="param" type="int">
</argument>
<argument index="1" name="value" type="var">
</argument>
<description>
</description>
</method>
<method name="set_enable_fx">
<argument index="0" name="effect" type="int">
</argument>
<argument index="1" name="enabled" type="bool">
</argument>
<description>
</description>
</method>
</methods>
<constants>
<constant name="BG_KEEP" value="0">
</constant>
<constant name="BG_DEFAULT_COLOR" value="1">
</constant>
<constant name="BG_COLOR" value="2">
</constant>
<constant name="BG_TEXTURE" value="3">
</constant>
<constant name="BG_CUBEMAP" value="4">
</constant>
<constant name="BG_CANVAS" value="5">
</constant>
<constant name="BG_MAX" value="6">
</constant>
<constant name="BG_PARAM_CANVAS_MAX_LAYER" value="0">
</constant>
<constant name="BG_PARAM_COLOR" value="1">
</constant>
<constant name="BG_PARAM_TEXTURE" value="2">
</constant>
<constant name="BG_PARAM_CUBEMAP" value="3">
</constant>
<constant name="BG_PARAM_ENERGY" value="4">
</constant>
<constant name="BG_PARAM_GLOW" value="6">
</constant>
<constant name="BG_PARAM_MAX" value="7">
</constant>
<constant name="FX_AMBIENT_LIGHT" value="0">
</constant>
<constant name="FX_FXAA" value="1">
</constant>
<constant name="FX_GLOW" value="2">
</constant>
<constant name="FX_DOF_BLUR" value="3">
</constant>
<constant name="FX_HDR" value="4">
</constant>
<constant name="FX_FOG" value="5">
</constant>
<constant name="FX_BCS" value="6">
</constant>
<constant name="FX_SRGB" value="7">
</constant>
<constant name="FX_MAX" value="8">
</constant>
<constant name="FX_BLUR_BLEND_MODE_ADDITIVE" value="0">
</constant>
<constant name="FX_BLUR_BLEND_MODE_SCREEN" value="1">
</constant>
<constant name="FX_BLUR_BLEND_MODE_SOFTLIGHT" value="2">
</constant>
<constant name="FX_HDR_TONE_MAPPER_LINEAR" value="0">
</constant>
<constant name="FX_HDR_TONE_MAPPER_LOG" value="1">
</constant>
<constant name="FX_HDR_TONE_MAPPER_REINHARDT" value="2">
</constant>
<constant name="FX_HDR_TONE_MAPPER_REINHARDT_AUTOWHITE" value="3">
</constant>
<constant name="FX_PARAM_AMBIENT_LIGHT_COLOR" value="0">
</constant>
<constant name="FX_PARAM_AMBIENT_LIGHT_ENERGY" value="1">
</constant>
<constant name="FX_PARAM_GLOW_BLUR_PASSES" value="2">
</constant>
<constant name="FX_PARAM_GLOW_BLUR_SCALE" value="3">
</constant>
<constant name="FX_PARAM_GLOW_BLUR_STRENGTH" value="4">
</constant>
<constant name="FX_PARAM_GLOW_BLUR_BLEND_MODE" value="5">
</constant>
<constant name="FX_PARAM_GLOW_BLOOM" value="6">
</constant>
<constant name="FX_PARAM_GLOW_BLOOM_TRESHOLD" value="7">
</constant>
<constant name="FX_PARAM_DOF_BLUR_PASSES" value="8">
</constant>
<constant name="FX_PARAM_DOF_BLUR_BEGIN" value="9">
</constant>
<constant name="FX_PARAM_DOF_BLUR_RANGE" value="10">
</constant>
<constant name="FX_PARAM_HDR_TONEMAPPER" value="11">
</constant>
<constant name="FX_PARAM_HDR_EXPOSURE" value="12">
</constant>
<constant name="FX_PARAM_HDR_WHITE" value="13">
</constant>
<constant name="FX_PARAM_HDR_GLOW_TRESHOLD" value="14">
</constant>
<constant name="FX_PARAM_HDR_GLOW_SCALE" value="15">
</constant>
<constant name="FX_PARAM_HDR_MIN_LUMINANCE" value="16">
</constant>
<constant name="FX_PARAM_HDR_MAX_LUMINANCE" value="17">
</constant>
<constant name="FX_PARAM_HDR_EXPOSURE_ADJUST_SPEED" value="18">
</constant>
<constant name="FX_PARAM_FOG_BEGIN" value="19">
</constant>
<constant name="FX_PARAM_FOG_ATTENUATION" value="22">
</constant>
<constant name="FX_PARAM_FOG_BEGIN_COLOR" value="20">
</constant>
<constant name="FX_PARAM_FOG_END_COLOR" value="21">
</constant>
<constant name="FX_PARAM_FOG_BG" value="23">
</constant>
<constant name="FX_PARAM_BCS_BRIGHTNESS" value="24">
</constant>
<constant name="FX_PARAM_BCS_CONTRAST" value="25">
</constant>
<constant name="FX_PARAM_BCS_SATURATION" value="26">
</constant>
<constant name="FX_PARAM_MAX" value="27">
</constant>
</constants>
</class>
<class name="EventPlayer" inherits="Node" category="Core">
<brief_description>
Class for event stream playback.
</brief_description>
<description>
Class for event stream playback. Event streams are music expressed as a series of events (note on, note off, instrument change...), as opposed to audio streams, which are just audio data. Examples of event-based streams are MIDI files, or MOD music.
Currently, only MOD, S3M, IT, and XM music is supported.
</description>
<methods>
<method name="get_channel_last_note_time" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="channel" type="int">
</argument>
<description>
Return the time at which the last note of a given channel in the stream plays.
</description>
</method>
<method name="get_channel_volume" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="channel" type="int">
</argument>
<description>
Return the volume scale for an individual channel of the stream.
</description>
</method>
<method name="get_length" qualifiers="const">
<return type="float">
</return>
<description>
Return the song length. May be in seconds, but depends on the stream type.
</description>
</method>
<method name="get_loop_count" qualifiers="const">
<return type="int">
</return>
<description>
Return the number of times the playback has looped.
</description>
</method>
<method name="get_pitch_scale" qualifiers="const">
<return type="float">
</return>
<description>
Return the pitch scale factor for this player.
</description>
</method>
<method name="get_pos" qualifiers="const">
<return type="float">
</return>
<description>
Return the playback position. May be in seconds, but depends on the stream type.
</description>
</method>
<method name="get_stream" qualifiers="const">
<return type="EventStream">
</return>
<description>
Return the currently assigned stream.
</description>
</method>
<method name="get_stream_name" qualifiers="const">
<return type="String">
</return>
<description>
Return the name of the currently assigned stream. This is not the file name, but a field inside the file. If no stream is assigned, if returns "&lt;No Stream&gt;".
</description>
</method>
<method name="get_tempo_scale" qualifiers="const">
<return type="float">
</return>
<description>
Return the tempo multiplier.
</description>
</method>
<method name="get_volume" qualifiers="const">
<return type="float">
</return>
<description>
Return the playback volume for this player.
</description>
</method>
<method name="get_volume_db" qualifiers="const">
<return type="float">
</return>
<description>
Return the playback volume for this player, in decibels.
</description>
</method>
<method name="has_autoplay" qualifiers="const">
<return type="bool">
</return>
<description>
Return whether this player will start playing as soon as it enters the scene tree.
</description>
</method>
<method name="has_loop" qualifiers="const">
<return type="bool">
</return>
<description>
Return whether this player will be restart the playback at the end.
</description>
</method>
<method name="is_paused" qualifiers="const">
<return type="bool">
</return>
<description>
Return whether the playback is currently paused.
</description>
</method>
<method name="is_playing" qualifiers="const">
<return type="bool">
</return>
<description>
Return whether this player is playing.
</description>
</method>
<method name="play">
<description>
Play the currently assigned stream.
</description>
</method>
<method name="seek_pos">
<argument index="0" name="time" type="float">
</argument>
<description>
Set the playback position. May be in seconds, but depends on the stream type.
</description>
</method>
<method name="set_autoplay">
<argument index="0" name="enabled" type="bool">
</argument>
<description>
Set whether this player will start playing as soon as it enters the scene tree.
</description>
</method>
<method name="set_channel_volume">
<argument index="0" name="channel" type="int">
</argument>
<argument index="1" name="channel_volume" type="float">
</argument>
<description>
Set the volume scale for an individual channel of the stream, with the same value range as [method set_volume]. The channel number depends on the stream format. For example, MIDIs range from 0 to 15, and MODs from 0 to 63.
Many stream formats are multichannel, so this allows to affect only a part of the music.
</description>
</method>
<method name="set_loop">
<argument index="0" name="enabled" type="bool">
</argument>
<description>
Set whether the stream will be restarted at the end.
</description>
</method>
<method name="set_paused">
<argument index="0" name="paused" type="bool">
</argument>
<description>
Pause stream playback.
</description>
</method>
<method name="set_pitch_scale">
<argument index="0" name="pitch_scale" type="float">
</argument>
<description>
Set the pitch multiplier for all sounds coming from this stream. A value of 2.0 shifts all pitches one octave up, and a value of 0.5 shifts pitches one octave down.
</description>
</method>
<method name="set_stream">
<argument index="0" name="stream" type="EventStream">
</argument>
<description>
Set the [EventStream] this player will play.
</description>
</method>
<method name="set_tempo_scale">
<argument index="0" name="tempo_scale" type="float">
</argument>
<description>
Set the tempo multiplier. This allows to slow down or speed up the music, without affecting its pitch.
</description>
</method>
<method name="set_volume">
<argument index="0" name="volume" type="float">
</argument>
<description>
Set the playback volume for this player. This is a float between 0.0 (silent) and 1.0 (full volume). Values over 1.0 may amplify sound even more, but may introduce distortion. Negative values may just invert the output waveform, which produces no audible difference.
The effect of these special values ultimately depends on the low-level implementation of the file format being played.
</description>
</method>
<method name="set_volume_db">
<argument index="0" name="db" type="float">
</argument>
<description>
Set the playback volume for this player, in decibels. This is a float between -80.0 (silent) and 0.0 (full volume). Values under -79.0 get truncated to -80, but values over 0.0 do not, so the warnings for over amplifying (see [method set_volume]) still apply.
</description>
</method>
<method name="stop">
<description>
Stop playing.
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="EventStream" inherits="Resource" category="Core">
<brief_description>
Base class for all event-based stream drivers.
</brief_description>
<description>
Base class for all event-based stream drivers. Event streams are music expressed as a series of events (note on, note off, instrument change...), as opposed to audio streams, which are just audio data. Examples of event-based streams are MIDI files, of MOD music.
This class exposes no methods.
</description>
<methods>
</methods>
<constants>
</constants>
</class>
<class name="EventStreamChibi" inherits="EventStream" category="Core">
<brief_description>
Driver for MOD playback.
</brief_description>
<description>
This driver plays MOD music. MOD music, as all event-based streams, is a music format defined by note events occurring at defined moments, instead of a stream of audio samples.
Currently, this driver supports the MOD, S3M, IT, and XM formats.
This class exposes no methods.
This class can return its playback position in seconds, but does not allow to set it, failing with only a console warning.
This class can not return its song length, returning 1.0 when queried.
This class does not limit its volume settings, allowing for overflow/distortion and wave inversion.
</description>
<methods>
</methods>
<constants>
</constants>
</class>
<class name="File" inherits="Reference" category="Core">
<brief_description>
Type to handle file reading and writing operations.
</brief_description>
<description>
File type. This is used to permanently store data into the user device's file system and to read from it. This can be used to store game save data or player configuration files, for example.
Here's a sample on how to write and read from a file:
[codeblock]
func save(content):
var file = File.new()
file.open("user://save_game.dat", file.WRITE)
file.store_string(content)
file.close()
func load():
var file = File.new()
file.open("user://save_game.dat", file.READ)
var content = file.get_as_text()
file.close()
return content
[/codeblock]
</description>
<methods>
<method name="close">
<description>
Close the currently opened file.
</description>
</method>
<method name="eof_reached" qualifiers="const">
<return type="bool">
</return>
<description>
Return whether the file cursor reached the end of the file.
</description>
</method>
<method name="file_exists" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="path" type="String">
</argument>
<description>
Get whether or not the file in the specified path exists.
</description>
</method>
<method name="get_16" qualifiers="const">
<return type="int">
</return>
<description>
Get the next 16 bits from the file as an integer.
</description>
</method>
<method name="get_32" qualifiers="const">
<return type="int">
</return>
<description>
Get the next 32 bits from the file as an integer.
</description>
</method>
<method name="get_64" qualifiers="const">
<return type="int">
</return>
<description>
Get the next 64 bits from the file as an integer.
</description>
</method>
<method name="get_8" qualifiers="const">
<return type="int">
</return>
<description>
Get the next 8 bits from the file as an integer.
</description>
</method>
<method name="get_as_text" qualifiers="const">
<return type="String">
</return>
<description>
Get the whole file as a [String].
</description>
</method>
<method name="get_buffer" qualifiers="const">
<return type="RawArray">
</return>
<argument index="0" name="len" type="int">
</argument>
<description>
Get next len bytes of the file as a [RawArray].
</description>
</method>
<method name="get_csv_line" qualifiers="const">
<return type="StringArray">
</return>
<argument index="0" name="delim" type="String" default="&quot;,&quot;">
</argument>
<description>
Get the next value of the file in CSV (Comma Separated Values) format. You can pass a different delimiter to use other than the default "," (comma).
</description>
</method>
<method name="get_double" qualifiers="const">
<return type="float">
</return>
<description>
Get the next 64 bits from the file as a floating point number.
</description>
</method>
<method name="get_endian_swap">
<return type="bool">
</return>
<description>
Get whether endian swap is enabled for this file.
</description>
</method>
<method name="get_error" qualifiers="const">
<return type="Error">
</return>
<description>
Get the last error that happened when trying to perform operations. Compare with the [code]ERR_FILE_*[/code] constants from [@Global Scope].
</description>
</method>
<method name="get_float" qualifiers="const">
<return type="float">
</return>
<description>
Get the next 32 bits from the file as a floating point number.
</description>
</method>
<method name="get_len" qualifiers="const">
<return type="int">
</return>
<description>
Return the size of the file in bytes.
</description>
</method>
<method name="get_line" qualifiers="const">
<return type="String">
</return>
<description>
Get the next line of the file as a [String].
</description>
</method>
<method name="get_pascal_string">
<return type="String">
</return>
<description>
Get a [String] saved in Pascal format from the file.
</description>
</method>
<method name="get_pos" qualifiers="const">
<return type="int">
</return>
<description>
Return the file cursor position.
</description>
</method>
<method name="get_real" qualifiers="const">
<return type="float">
</return>
<description>
Get the next bits from the file as a floating point number.
</description>
</method>
<method name="get_var" qualifiers="const">
<description>
Get the next Variant value from the file.
</description>
</method>
<method name="is_open" qualifiers="const">
<return type="bool">
</return>
<description>
Return whether the file is currently opened.
</description>
</method>
<method name="open">
<return type="int">
</return>
<argument index="0" name="path" type="String">
</argument>
<argument index="1" name="flags" type="int">
</argument>
<description>
Open the file for writing or reading, depending on the flags.
</description>
</method>
<method name="open_encrypted">
<return type="int">
</return>
<argument index="0" name="path" type="String">
</argument>
<argument index="1" name="mode_flags" type="int">
</argument>
<argument index="2" name="key" type="RawArray">
</argument>
<description>
Open an encrypted file in write or read mode. You need to pass a binary key to encrypt/decrypt it.
</description>
</method>
<method name="open_encrypted_with_pass">
<return type="int">
</return>
<argument index="0" name="path" type="String">
</argument>
<argument index="1" name="mode_flags" type="int">
</argument>
<argument index="2" name="pass" type="String">
</argument>
<description>
Open an encrypted file in write or read mode. You need to pass a password to encrypt/decrypt it.
</description>
</method>
<method name="seek">
<argument index="0" name="pos" type="int">
</argument>
<description>
Change the file reading/writing cursor to the specified position (in bytes from the beginning of the file).
</description>
</method>
<method name="seek_end">
<argument index="0" name="pos" type="int" default="0">
</argument>
<description>
Change the file reading/writing cursor to the specified position (in bytes from the end of the file). Note that this is an offset, so you should use negative numbers or the cursor will be at the end of the file.
</description>
</method>
<method name="set_endian_swap">
<argument index="0" name="enable" type="bool">
</argument>
<description>
Set whether to swap the endianess of the file. Enable this if you're dealing with files written in big endian machines.
Note that this is about the file format, not CPU type. This is always reseted to [code]false[/code] whenever you open the file.
</description>
</method>
<method name="store_16">
<argument index="0" name="value" type="int">
</argument>
<description>
Store an integer as 16 bits in the file.
</description>
</method>
<method name="store_32">
<argument index="0" name="value" type="int">
</argument>
<description>
Store an integer as 32 bits in the file.
</description>
</method>
<method name="store_64">
<argument index="0" name="value" type="int">
</argument>
<description>
Store an integer as 64 bits in the file.
</description>
</method>
<method name="store_8">
<argument index="0" name="value" type="int">
</argument>
<description>
Store an integer as 8 bits in the file.
</description>
</method>
<method name="store_buffer">
<argument index="0" name="buffer" type="RawArray">
</argument>
<description>
Store the given array of bytes in the file.
</description>
</method>
<method name="store_double">
<argument index="0" name="value" type="float">
</argument>
<description>
Store a floating point number as 64 bits in the file.
</description>
</method>
<method name="store_float">
<argument index="0" name="value" type="float">
</argument>
<description>
Store a floating point number as 32 bits in the file.
</description>
</method>
<method name="store_line">
<argument index="0" name="line" type="String">
</argument>
<description>
Store the given [String] as a line in the file.
</description>
</method>
<method name="store_pascal_string">
<argument index="0" name="string" type="String">
</argument>
<description>
Store the given [String] as a line in the file in Pascal format (i.e. also store the length of the string).
</description>
</method>
<method name="store_real">
<argument index="0" name="value" type="float">
</argument>
<description>
Store a floating point number in the file.
</description>
</method>
<method name="store_string">
<argument index="0" name="string" type="String">
</argument>
<description>
Store the given [String] in the file.
</description>
</method>
<method name="store_var">
<argument index="0" name="value" type="var">
</argument>
<description>
Store any Variant value in the file.
</description>
</method>
</methods>
<constants>
<constant name="READ" value="1">
Open the file for reading.
</constant>
<constant name="WRITE" value="2">
Open the file for writing. Create it if the file not exists and truncate if it exists.
</constant>
<constant name="READ_WRITE" value="3">
Open the file for reading and writing, without truncating the file.
</constant>
<constant name="WRITE_READ" value="7">
Open the file for reading and writing. Create it if the file not exists and truncate if it exists.
</constant>
</constants>
</class>
<class name="FileDialog" inherits="ConfirmationDialog" category="Core">
<brief_description>
Dialog for selecting files or directories in the filesystem.
</brief_description>
<description>
FileDialog is a preset dialog used to choose files and directories in the filesystem. It supports filter masks.
</description>
<methods>
<method name="add_filter">
<argument index="0" name="filter" type="String">
</argument>
<description>
Add a custom filter. Filter format is: "mask ; description", example (C++): dialog-&gt;add_filter("*.png ; PNG Images");
</description>
</method>
<method name="clear_filters">
<description>
Clear all the added filters in the dialog.
</description>
</method>
<method name="get_access" qualifiers="const">
<return type="int">
</return>
<description>
Return the file access permission of the dialog.
</description>
</method>
<method name="get_current_dir" qualifiers="const">
<return type="String">
</return>
<description>
Get the current working directory of the file dialog.
</description>
</method>
<method name="get_current_file" qualifiers="const">
<return type="String">
</return>
<description>
Get the current selected file of the file dialog (empty if none).
</description>
</method>
<method name="get_current_path" qualifiers="const">
<return type="String">
</return>
<description>
Get the current selected path (directory and file) of the file dialog (empty if none).
</description>
</method>
<method name="get_mode" qualifiers="const">
<return type="int">
</return>
<description>
Get the file dialog mode from the MODE_* enum.
</description>
</method>
<method name="get_vbox">
<return type="VBoxContainer">
</return>
<description>
Return the vertical box container of the dialog, custom controls can be added to it.
</description>
</method>
<method name="invalidate">
<description>
Invalidate and update the current dialog content list.
</description>
</method>
<method name="is_showing_hidden_files" qualifiers="const">
<return type="bool">
</return>
<description>
Return true if the diaog allows show hidden files.
</description>
</method>
<method name="set_access">
<argument index="0" name="access" type="int">
</argument>
<description>
Set the file access permission of the dialog(Must be one of [ACCESS_RESOURCES], [ACCESS_USERDATA] or [ACCESS_FILESYSTEM]).
</description>
</method>
<method name="set_current_dir">
<argument index="0" name="dir" type="String">
</argument>
<description>
Set the current working directory of the file dialog.
</description>
</method>
<method name="set_current_file">
<argument index="0" name="file" type="String">
</argument>
<description>
Set the current selected file name of the file dialog.
</description>
</method>
<method name="set_current_path">
<argument index="0" name="path" type="String">
</argument>
<description>
Set the current selected file path of the file dialog.
</description>
</method>
<method name="set_mode">
<argument index="0" name="mode" type="int">
</argument>
<description>
Set the file dialog mode from the MODE_* enum.
</description>
</method>
<method name="set_show_hidden_files">
<argument index="0" name="show" type="bool">
</argument>
<description>
Set the dialog should show hidden files.
</description>
</method>
</methods>
<signals>
<signal name="dir_selected">
<argument index="0" name="dir" type="String">
</argument>
<description>
Event emitted when the user selects a directory.
</description>
</signal>
<signal name="file_selected">
<argument index="0" name="path" type="String">
</argument>
<description>
Event emitted when the user selects a file (double clicks it or presses the OK button).
</description>
</signal>
<signal name="files_selected">
<argument index="0" name="paths" type="StringArray">
</argument>
<description>
Event emitted when the user selects multiple files.
</description>
</signal>
</signals>
<constants>
<constant name="MODE_OPEN_FILE" value="0">
The dialog allows the selection of one, and only one file.
</constant>
<constant name="MODE_OPEN_FILES" value="1">
The dialog allows the selection of multiple files.
</constant>
<constant name="MODE_OPEN_DIR" value="2">
The dialog functions as a folder selector, disallowing the selection of any file.
</constant>
<constant name="MODE_SAVE_FILE" value="3">
The dialog will warn when a file exists.
</constant>
<constant name="ACCESS_RESOURCES" value="0">
The dialog allows the selection of file and directory.
</constant>
<constant name="ACCESS_USERDATA" value="1">
The dialog allows ascess files under [Resource] path(res://) .
</constant>
<constant name="ACCESS_FILESYSTEM" value="2">
The dialog allows ascess files in whole file system.
</constant>
</constants>
<theme_items>
<theme_item name="files_disabled" type="Color">
</theme_item>
<theme_item name="folder" type="Texture">
</theme_item>
<theme_item name="reload" type="Texture">
</theme_item>
</theme_items>
</class>
<class name="FixedMaterial" inherits="Material" category="Core">
<brief_description>
Simple Material with a fixed parameter set.
</brief_description>
<description>
FixedMaterial is a simple type of material [Resource], which contains a fixed amount of parameters. It is the only type of material supported in fixed-pipeline devices and APIs. It is also an often a better alternative to [ShaderMaterial] for most simple use cases.
</description>
<methods>
<method name="get_fixed_flag" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="flag" type="int">
</argument>
<description>
</description>
</method>
<method name="get_light_shader" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_parameter" qualifiers="const">
<argument index="0" name="param" type="int">
</argument>
<description>
Return a parameter, parameters are defined in the PARAM_* enum. The type of each parameter may change, so it's best to check the enum.
</description>
</method>
<method name="get_point_size" qualifiers="const">
<return type="float">
</return>
<description>
</description>
</method>
<method name="get_texcoord_mode" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="param" type="int">
</argument>
<description>
Return the texture coordinate mode. Each texture param (from the PARAM_* enum) has one. It defines how the textures are mapped to the object.
</description>
</method>
<method name="get_texture" qualifiers="const">
<return type="Texture">
</return>
<argument index="0" name="param" type="int">
</argument>
<description>
Return a texture. Textures change parameters per texel and are mapped to the model depending on the texcoord mode (see [method set_texcoord_mode]).
</description>
</method>
<method name="get_uv_transform" qualifiers="const">
<return type="Transform">
</return>
<description>
Returns the special transform used to post-transform UV coordinates of the uv_xform texcoord mode: TEXCOORD_UV_TRANSFORM.
</description>
</method>
<method name="set_fixed_flag">
<argument index="0" name="flag" type="int">
</argument>
<argument index="1" name="value" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_light_shader">
<argument index="0" name="shader" type="int">
</argument>
<description>
</description>
</method>
<method name="set_parameter">
<argument index="0" name="param" type="int">
</argument>
<argument index="1" name="value" type="var">
</argument>
<description>
Set a parameter, parameters are defined in the PARAM_* enum. The type of each parameter may change, so it's best to check the enum.
</description>
</method>
<method name="set_point_size">
<argument index="0" name="size" type="float">
</argument>
<description>
</description>
</method>
<method name="set_texcoord_mode">
<argument index="0" name="param" type="int">
</argument>
<argument index="1" name="mode" type="int">
</argument>
<description>
Set the texture coordinate mode. Each texture param (from the PARAM_* enum) has one. It defines how the textures are mapped to the object.
</description>
</method>
<method name="set_texture">
<argument index="0" name="param" type="int">
</argument>
<argument index="1" name="texture" type="Texture">
</argument>
<description>
Set a texture. Textures change parameters per texel and are mapped to the model depending on the texcoord mode (see [method set_texcoord_mode]).
</description>
</method>
<method name="set_uv_transform">
<argument index="0" name="transform" type="Transform">
</argument>
<description>
Sets a special transform used to post-transform UV coordinates of the uv_xform texcoord mode: TEXCOORD_UV_TRANSFORM.
</description>
</method>
</methods>
<constants>
<constant name="PARAM_DIFFUSE" value="0">
Diffuse Lighting (light scattered from surface).
</constant>
<constant name="PARAM_DETAIL" value="1">
Detail Layer for diffuse lighting.
</constant>
<constant name="PARAM_SPECULAR" value="2">
Specular Lighting (light reflected from the surface).
</constant>
<constant name="PARAM_EMISSION" value="3">
Emission Lighting (light emitted from the surface).
</constant>
<constant name="PARAM_SPECULAR_EXP" value="4">
Specular Exponent (size of the specular dot).
</constant>
<constant name="PARAM_GLOW" value="5">
Glow (Visible emitted scattered light).
</constant>
<constant name="PARAM_NORMAL" value="6">
Normal Map (irregularity map).
</constant>
<constant name="PARAM_SHADE_PARAM" value="7">
</constant>
<constant name="PARAM_MAX" value="8">
Maximum amount of parameters.
</constant>
<constant name="TEXCOORD_UV" value="0">
Read texture coordinates from the UV array.
</constant>
<constant name="TEXCOORD_UV_TRANSFORM" value="1">
Read texture coordinates from the UV array and transform them by uv_xform.
</constant>
<constant name="TEXCOORD_UV2" value="2">
Read texture coordinates from the UV2 array.
</constant>
<constant name="TEXCOORD_SPHERE" value="3">
</constant>
<constant name="FLAG_USE_ALPHA" value="0">
</constant>
<constant name="FLAG_USE_COLOR_ARRAY" value="1">
</constant>
<constant name="FLAG_USE_POINT_SIZE" value="2">
</constant>
<constant name="FLAG_DISCARD_ALPHA" value="3">
</constant>
<constant name="LIGHT_SHADER_LAMBERT" value="0">
</constant>
<constant name="LIGHT_SHADER_WRAP" value="1">
</constant>
<constant name="LIGHT_SHADER_VELVET" value="2">
</constant>
<constant name="LIGHT_SHADER_TOON" value="3">
</constant>
</constants>
</class>
<class name="Font" inherits="Resource" category="Core">
<brief_description>
Internationalized font and text drawing support.
</brief_description>
<description>
Font contains an unicode compatible character set, as well as the ability to draw it with variable width, ascent, descent and kerning. For creating fonts from TTF files (or other font formats), see the editor support for fonts. TODO check wikipedia for graph of ascent/baseline/descent/height/etc.
</description>
<methods>
<method name="add_char">
<argument index="0" name="character" type="int">
</argument>
<argument index="1" name="texture" type="int">
</argument>
<argument index="2" name="rect" type="Rect2">
</argument>
<argument index="3" name="align" type="Vector2" default="Vector2(0,0)">
</argument>
<argument index="4" name="advance" type="float" default="-1">
</argument>
<description>
Add a character to the font, where "character" is the unicode value, "texture" is the texture index, "rect" is the region in the texture (in pixels!), "align" is the (optional) alignment for the character and "advance" is the (optional) advance.
</description>
</method>
<method name="add_kerning_pair">
<argument index="0" name="char_a" type="int">
</argument>
<argument index="1" name="char_b" type="int">
</argument>
<argument index="2" name="kerning" type="int">
</argument>
<description>
Add a kerning pair to the [Font] as a difference. Kerning pairs are special cases where a typeface advance is determined by the next character.
</description>
</method>
<method name="add_texture">
<argument index="0" name="texture" type="Texture">
</argument>
<description>
Add a texture to the [Font].
</description>
</method>
<method name="clear">
<description>
Clear all the font data.
</description>
</method>
<method name="create_from_fnt">
<return type="int">
</return>
<argument index="0" name="path" type="String">
</argument>
<description>
</description>
</method>
<method name="draw" qualifiers="const">
<argument index="0" name="canvas_item" type="RID">
</argument>
<argument index="1" name="pos" type="Vector2">
</argument>
<argument index="2" name="string" type="String">
</argument>
<argument index="3" name="modulate" type="Color" default="Color(1,1,1,1)">
</argument>
<argument index="4" name="clip_w" type="int" default="-1">
</argument>
<description>
Draw "string" into a canvas item using the font at a given "pos" position, with "modulate" color, and optionally clipping the width. "pos" specifies the baseline, not the top. To draw from the top, [i]ascent[/i] must be added to the Y axis.
</description>
</method>
<method name="draw_char" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="canvas_item" type="RID">
</argument>
<argument index="1" name="pos" type="Vector2">
</argument>
<argument index="2" name="char" type="int">
</argument>
<argument index="3" name="next" type="int" default="-1">
</argument>
<argument index="4" name="modulate" type="Color" default="Color(1,1,1,1)">
</argument>
<description>
Draw character "char" into a canvas item using the font at a given "pos" position, with "modulate" color, and optionally kerning if "next" is passed. clipping the width. "pos" specifies the baseline, not the top. To draw from the top, [i]ascent[/i] must be added to the Y axis. The width used by the character is returned, making this function useful for drawing strings character by character.
</description>
</method>
<method name="get_ascent" qualifiers="const">
<return type="float">
</return>
<description>
Return the font ascent (number of pixels above the baseline).
</description>
</method>
<method name="get_char_size" qualifiers="const">
<return type="Vector2">
</return>
<argument index="0" name="char" type="int">
</argument>
<argument index="1" name="next" type="int" default="0">
</argument>
<description>
Return the size of a character, optionally taking kerning into account if the next character is provided.
</description>
</method>
<method name="get_descent" qualifiers="const">
<return type="float">
</return>
<description>
Return the font descent (number of pixels below the baseline).
</description>
</method>
<method name="get_fallback" qualifiers="const">
<return type="Object">
</return>
<description>
</description>
</method>
<method name="get_height" qualifiers="const">
<return type="float">
</return>
<description>
Return the total font height (ascent plus descent) in pixels.
</description>
</method>
<method name="get_kerning_pair" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="char_a" type="int">
</argument>
<argument index="1" name="char_b" type="int">
</argument>
<description>
Return a kerning pair as a difference. Kerning pairs are special cases where a typeface advance is determined by the next character.
</description>
</method>
<method name="get_string_size" qualifiers="const">
<return type="Vector2">
</return>
<argument index="0" name="string" type="String">
</argument>
<description>
Return the size of a string, taking kerning and advance into account.
</description>
</method>
<method name="get_texture" qualifiers="const">
<return type="Texture">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
</description>
</method>
<method name="get_texture_count" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="is_distance_field_hint" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="set_ascent">
<argument index="0" name="px" type="float">
</argument>
<description>
Set the font ascent (number of pixels above the baseline).
</description>
</method>
<method name="set_distance_field_hint">
<argument index="0" name="enable" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_fallback">
<argument index="0" name="fallback" type="Object">
</argument>
<description>
</description>
</method>
<method name="set_height">
<argument index="0" name="px" type="float">
</argument>
<description>
Set the total font height (ascent plus descent) in pixels.
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="FuncRef" inherits="Reference" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
<method name="call_func">
<argument index="0" name="arg0" type="var" default="NULL">
</argument>
<argument index="1" name="arg1" type="var" default="NULL">
</argument>
<argument index="2" name="arg2" type="var" default="NULL">
</argument>
<argument index="3" name="arg3" type="var" default="NULL">
</argument>
<argument index="4" name="arg4" type="var" default="NULL">
</argument>
<argument index="5" name="arg5" type="var" default="NULL">
</argument>
<argument index="6" name="arg6" type="var" default="NULL">
</argument>
<argument index="7" name="arg7" type="var" default="NULL">
</argument>
<argument index="8" name="arg8" type="var" default="NULL">
</argument>
<argument index="9" name="arg9" type="var" default="NULL">
</argument>
<description>
</description>
</method>
<method name="set_function">
<argument index="0" name="name" type="String">
</argument>
<description>
</description>
</method>
<method name="set_instance">
<argument index="0" name="instance" type="Object">
</argument>
<description>
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="GDFunctionState" inherits="Reference" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
<method name="is_valid" qualifiers="const">
<return type="bool">
</return>
<description>
Should put children to the top left corner instead of center of the container.
</description>
</method>
<method name="resume">
<return type="Variant">
</return>
<argument index="0" name="arg" type="var" default="NULL">
</argument>
<description>
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="GDNativeClass" inherits="Reference" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
<method name="new">
<description>
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="GDScript" inherits="Script" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
<method name="get_as_byte_code" qualifiers="const">
<return type="RawArray">
</return>
<description>
</description>
</method>
<method name="new">
<description>
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="Generic6DOFJoint" inherits="Joint" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
<method name="get_flag_x" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="flag" type="int">
</argument>
<description>
</description>
</method>
<method name="get_flag_y" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="flag" type="int">
</argument>
<description>
</description>
</method>
<method name="get_flag_z" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="flag" type="int">
</argument>
<description>
</description>
</method>
<method name="get_param_x" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="param" type="int">
</argument>
<description>
</description>
</method>
<method name="get_param_y" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="param" type="int">
</argument>
<description>
</description>
</method>
<method name="get_param_z" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="param" type="int">
</argument>
<description>
</description>
</method>
<method name="set_flag_x">
<argument index="0" name="flag" type="int">
</argument>
<argument index="1" name="value" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_flag_y">
<argument index="0" name="flag" type="int">
</argument>
<argument index="1" name="value" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_flag_z">
<argument index="0" name="flag" type="int">
</argument>
<argument index="1" name="value" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_param_x">
<argument index="0" name="param" type="int">
</argument>
<argument index="1" name="value" type="float">
</argument>
<description>
</description>
</method>
<method name="set_param_y">
<argument index="0" name="param" type="int">
</argument>
<argument index="1" name="value" type="float">
</argument>
<description>
</description>
</method>
<method name="set_param_z">
<argument index="0" name="param" type="int">
</argument>
<argument index="1" name="value" type="float">
</argument>
<description>
</description>
</method>
</methods>
<constants>
<constant name="PARAM_LINEAR_LOWER_LIMIT" value="0">
</constant>
<constant name="PARAM_LINEAR_UPPER_LIMIT" value="1">
</constant>
<constant name="PARAM_LINEAR_LIMIT_SOFTNESS" value="2">
</constant>
<constant name="PARAM_LINEAR_RESTITUTION" value="3">
</constant>
<constant name="PARAM_LINEAR_DAMPING" value="4">
</constant>
<constant name="PARAM_ANGULAR_LOWER_LIMIT" value="5">
</constant>
<constant name="PARAM_ANGULAR_UPPER_LIMIT" value="6">
</constant>
<constant name="PARAM_ANGULAR_LIMIT_SOFTNESS" value="7">
</constant>
<constant name="PARAM_ANGULAR_DAMPING" value="8">
</constant>
<constant name="PARAM_ANGULAR_RESTITUTION" value="9">
</constant>
<constant name="PARAM_ANGULAR_FORCE_LIMIT" value="10">
</constant>
<constant name="PARAM_ANGULAR_ERP" value="11">
</constant>
<constant name="PARAM_ANGULAR_MOTOR_TARGET_VELOCITY" value="12">
</constant>
<constant name="PARAM_ANGULAR_MOTOR_FORCE_LIMIT" value="13">
</constant>
<constant name="PARAM_MAX" value="14">
</constant>
<constant name="FLAG_ENABLE_LINEAR_LIMIT" value="0">
</constant>
<constant name="FLAG_ENABLE_ANGULAR_LIMIT" value="1">
</constant>
<constant name="FLAG_ENABLE_MOTOR" value="2">
</constant>
<constant name="FLAG_MAX" value="3">
</constant>
</constants>
</class>
<class name="Geometry" inherits="Object" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
<method name="build_box_planes">
<return type="Array">
</return>
<argument index="0" name="extents" type="Vector3">
</argument>
<description>
</description>
</method>
<method name="build_capsule_planes">
<return type="Array">
</return>
<argument index="0" name="radius" type="float">
</argument>
<argument index="1" name="height" type="float">
</argument>
<argument index="2" name="sides" type="int">
</argument>
<argument index="3" name="lats" type="int">
</argument>
<argument index="4" name="axis" type="int" default="2">
</argument>
<description>
</description>
</method>
<method name="build_cylinder_planes">
<return type="Array">
</return>
<argument index="0" name="radius" type="float">
</argument>
<argument index="1" name="height" type="float">
</argument>
<argument index="2" name="sides" type="int">
</argument>
<argument index="3" name="axis" type="int" default="2">
</argument>
<description>
</description>
</method>
<method name="get_closest_point_to_segment">
<return type="Vector3">
</return>
<argument index="0" name="point" type="Vector3">
</argument>
<argument index="1" name="s1" type="Vector3">
</argument>
<argument index="2" name="s2" type="Vector3">
</argument>
<description>
</description>
</method>
<method name="get_closest_points_between_segments">
<return type="Vector3Array">
</return>
<argument index="0" name="p1" type="Vector3">
</argument>
<argument index="1" name="p2" type="Vector3">
</argument>
<argument index="2" name="q1" type="Vector3">
</argument>
<argument index="3" name="q2" type="Vector3">
</argument>
<description>
</description>
</method>
<method name="get_closest_points_between_segments_2d">
<return type="Vector2Array">
</return>
<argument index="0" name="p1" type="Vector2">
</argument>
<argument index="1" name="q1" type="Vector2">
</argument>
<argument index="2" name="p2" type="Vector2">
</argument>
<argument index="3" name="q2" type="Vector2">
</argument>
<description>
</description>
</method>
<method name="get_uv84_normal_bit">
<return type="int">
</return>
<argument index="0" name="normal" type="Vector3">
</argument>
<description>
</description>
</method>
<method name="make_atlas">
<return type="Dictionary">
</return>
<argument index="0" name="sizes" type="Vector2Array">
</argument>
<description>
</description>
</method>
<method name="point_is_inside_triangle" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="point" type="Vector2">
</argument>
<argument index="1" name="a" type="Vector2">
</argument>
<argument index="2" name="b" type="Vector2">
</argument>
<argument index="3" name="c" type="Vector2">
</argument>
<description>
</description>
</method>
<method name="ray_intersects_triangle">
<argument index="0" name="from" type="Vector3">
</argument>
<argument index="1" name="dir" type="Vector3">
</argument>
<argument index="2" name="a" type="Vector3">
</argument>
<argument index="3" name="b" type="Vector3">
</argument>
<argument index="4" name="c" type="Vector3">
</argument>
<description>
</description>
</method>
<method name="segment_intersects_circle">
<return type="float">
</return>
<argument index="0" name="segment_from" type="Vector2">
</argument>
<argument index="1" name="segment_to" type="Vector2">
</argument>
<argument index="2" name="circle_pos" type="Vector2">
</argument>
<argument index="3" name="circle_radius" type="float">
</argument>
<description>
</description>
</method>
<method name="segment_intersects_convex">
<return type="Vector3Array">
</return>
<argument index="0" name="from" type="Vector3">
</argument>
<argument index="1" name="to" type="Vector3">
</argument>
<argument index="2" name="planes" type="Array">
</argument>
<description>
</description>
</method>
<method name="segment_intersects_cylinder">
<return type="Vector3Array">
</return>
<argument index="0" name="from" type="Vector3">
</argument>
<argument index="1" name="to" type="Vector3">
</argument>
<argument index="2" name="height" type="float">
</argument>
<argument index="3" name="radius" type="float">
</argument>
<description>
</description>
</method>
<method name="segment_intersects_segment_2d">
<argument index="0" name="from_a" type="Vector2">
</argument>
<argument index="1" name="to_a" type="Vector2">
</argument>
<argument index="2" name="from_b" type="Vector2">
</argument>
<argument index="3" name="to_b" type="Vector2">
</argument>
<description>
</description>
</method>
<method name="segment_intersects_sphere">
<return type="Vector3Array">
</return>
<argument index="0" name="from" type="Vector3">
</argument>
<argument index="1" name="to" type="Vector3">
</argument>
<argument index="2" name="spos" type="Vector3">
</argument>
<argument index="3" name="sradius" type="float">
</argument>
<description>
</description>
</method>
<method name="segment_intersects_triangle">
<argument index="0" name="from" type="Vector3">
</argument>
<argument index="1" name="to" type="Vector3">
</argument>
<argument index="2" name="a" type="Vector3">
</argument>
<argument index="3" name="b" type="Vector3">
</argument>
<argument index="4" name="c" type="Vector3">
</argument>
<description>
</description>
</method>
<method name="triangulate_polygon">
<return type="IntArray">
</return>
<argument index="0" name="polygon" type="Vector2Array">
</argument>
<description>
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="GeometryInstance" inherits="VisualInstance" category="Core">
<brief_description>
Base node for geometry based visual instances.
</brief_description>
<description>
Base node for geometry based visual instances. Shares some common functionality like visibility and custom materials.
</description>
<methods>
<method name="get_baked_light_texture_id" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_draw_range_begin" qualifiers="const">
<return type="float">
</return>
<description>
</description>
</method>
<method name="get_draw_range_end" qualifiers="const">
<return type="float">
</return>
<description>
</description>
</method>
<method name="get_extra_cull_margin" qualifiers="const">
<return type="float">
</return>
<description>
</description>
</method>
<method name="get_flag" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="flag" type="int">
</argument>
<description>
</description>
</method>
<method name="get_material_override" qualifiers="const">
<return type="Object">
</return>
<description>
Return the material override for the whole geometry.
</description>
</method>
<method name="set_baked_light_texture_id">
<argument index="0" name="id" type="int">
</argument>
<description>
</description>
</method>
<method name="set_draw_range_begin">
<argument index="0" name="mode" type="float">
</argument>
<description>
</description>
</method>
<method name="set_draw_range_end">
<argument index="0" name="mode" type="float">
</argument>
<description>
</description>
</method>
<method name="set_extra_cull_margin">
<argument index="0" name="margin" type="float">
</argument>
<description>
</description>
</method>
<method name="set_flag">
<argument index="0" name="flag" type="int">
</argument>
<argument index="1" name="value" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_material_override">
<argument index="0" name="material" type="Object">
</argument>
<description>
Set the material override for the whole geometry.
</description>
</method>
</methods>
<constants>
<constant name="FLAG_VISIBLE" value="0">
</constant>
<constant name="FLAG_CAST_SHADOW" value="3">
</constant>
<constant name="FLAG_RECEIVE_SHADOWS" value="4">
</constant>
<constant name="FLAG_BILLBOARD" value="1">
</constant>
<constant name="FLAG_BILLBOARD_FIX_Y" value="2">
</constant>
<constant name="FLAG_DEPH_SCALE" value="5">
</constant>
<constant name="FLAG_VISIBLE_IN_ALL_ROOMS" value="6">
</constant>
<constant name="FLAG_MAX" value="8">
</constant>
</constants>
</class>
<class name="Globals" inherits="Object" category="Core">
<brief_description>
Contains global variables accessible from everywhere.
</brief_description>
<description>
Contains global variables accessible from everywhere. Use the normal [Object] API, such as "Globals.get(variable)", "Globals.set(variable,value)" or "Globals.has(variable)" to access them. Variables stored in engine.cfg are also loaded into globals, making this object very useful for reading custom game configuration options.
</description>
<methods>
<method name="clear">
<argument index="0" name="name" type="String">
</argument>
<description>
Clear the whole configuration (not recommended, may break things).
</description>
</method>
<method name="get_order" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="name" type="String">
</argument>
<description>
Return the order of a configuration value (influences when saved to the config file).
</description>
</method>
<method name="get_singleton" qualifiers="const">
<return type="Object">
</return>
<argument index="0" name="name" type="String">
</argument>
<description>
</description>
</method>
<method name="globalize_path" qualifiers="const">
<return type="String">
</return>
<argument index="0" name="path" type="String">
</argument>
<description>
Convert a localized path (res://) to a full native OS path.
</description>
</method>
<method name="has" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="name" type="String">
</argument>
<description>
Return true if a configuration value is present.
</description>
</method>
<method name="has_singleton" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="name" type="String">
</argument>
<description>
</description>
</method>
<method name="is_persisting" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="name" type="String">
</argument>
<description>
If returns true, this value can be saved to the configuration file. This is useful for editors.
</description>
</method>
<method name="load_resource_pack">
<return type="bool">
</return>
<argument index="0" name="pack" type="String">
</argument>
<description>
</description>
</method>
<method name="localize_path" qualifiers="const">
<return type="String">
</return>
<argument index="0" name="path" type="String">
</argument>
<description>
Convert a path to a localized path (res:// path).
</description>
</method>
<method name="save">
<return type="int">
</return>
<description>
</description>
</method>
<method name="save_custom">
<return type="int">
</return>
<argument index="0" name="file" type="String">
</argument>
<description>
</description>
</method>
<method name="set_order">
<argument index="0" name="name" type="String">
</argument>
<argument index="1" name="pos" type="int">
</argument>
<description>
Set the order of a configuration value (influences when saved to the config file).
</description>
</method>
<method name="set_persisting">
<argument index="0" name="name" type="String">
</argument>
<argument index="1" name="enable" type="bool">
</argument>
<description>
If set to true, this value can be saved to the configuration file. This is useful for editors.
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="GraphEdit" inherits="Control" category="Core">
<brief_description>
GraphEdit is an area capable of showing various GraphNodes. It manages connection events between them.
</brief_description>
<description>
GraphEdit manages the showing of GraphNodes it contains, as well as connections an disconnections between them. Signals are sent for each of these two events. Disconnection between GraphNodes slots is disabled by default.
It is greatly advised to enable low processor usage mode (see [method OS.set_low_processor_usage_mode]) when using GraphEdits.
</description>
<methods>
<method name="connect_node">
<return type="Error">
</return>
<argument index="0" name="from" type="String">
</argument>
<argument index="1" name="from_port" type="int">
</argument>
<argument index="2" name="to" type="String">
</argument>
<argument index="3" name="to_port" type="int">
</argument>
<description>
Create a connection between 'from_port' slot of 'from' GraphNode and 'to_port' slot of 'to' GraphNode. If the connection already exists, no connection is created.
</description>
</method>
<method name="disconnect_node">
<argument index="0" name="from" type="String">
</argument>
<argument index="1" name="from_port" type="int">
</argument>
<argument index="2" name="to" type="String">
</argument>
<argument index="3" name="to_port" type="int">
</argument>
<description>
Remove the connection between 'from_port' slot of 'from' GraphNode and 'to_port' slot of 'to' GraphNode, if connection exists.
</description>
</method>
<method name="get_connection_list" qualifiers="const">
<return type="Array">
</return>
<description>
Return an Array containing the list of connections. A connection consists in a structure of the form {from_slot: 0, from: "GraphNode name 0", to_slot: 1, to: "GraphNode name 1" }
</description>
</method>
<method name="get_scroll_ofs" qualifiers="const">
<return type="Vector2">
</return>
<description>
Return the scroll offset.
</description>
</method>
<method name="get_zoom" qualifiers="const">
<return type="float">
</return>
<description>
Return the current zoom value.
</description>
</method>
<method name="is_node_connected">
<return type="bool">
</return>
<argument index="0" name="from" type="String">
</argument>
<argument index="1" name="from_port" type="int">
</argument>
<argument index="2" name="to" type="String">
</argument>
<argument index="3" name="to_port" type="int">
</argument>
<description>
Return true if the 'from_port' slot of 'from' GraphNode is connected to the 'to_port' slot of 'to' GraphNode.
</description>
</method>
<method name="is_right_disconnects_enabled" qualifiers="const">
<return type="bool">
</return>
<description>
Return true is the disconnection of connections is enable in the visual GraphEdit. False otherwise.
</description>
</method>
<method name="set_right_disconnects">
<argument index="0" name="enable" type="bool">
</argument>
<description>
Enable the disconnection of existing connections in the visual GraphEdit by left-clicking a connection and releasing into the void.
</description>
</method>
<method name="set_zoom">
<argument index="0" name="p_zoom" type="float">
</argument>
<description>
Set the zoom value of the GraphEdit. Zoom value is between [0.01; 1.728].
</description>
</method>
</methods>
<signals>
<signal name="_begin_node_move">
<description>
Signal sent at the beginning of a GraphNode movement.
</description>
</signal>
<signal name="_end_node_move">
<description>
Signal sent at the end of a GraphNode movement.
</description>
</signal>
<signal name="connection_request">
<argument index="0" name="from" type="String">
</argument>
<argument index="1" name="from_slot" type="int">
</argument>
<argument index="2" name="to" type="String">
</argument>
<argument index="3" name="to_slot" type="int">
</argument>
<description>
Signal sent to the GraphEdit when the connection between 'from_slot' slot of 'from' GraphNode and 'to_slot' slot of 'to' GraphNode is attempted to be created.
</description>
</signal>
<signal name="delete_nodes_request">
<description>
Signal sent when a GraphNode is attempted to be removed from the GraphEdit.
</description>
</signal>
<signal name="disconnection_request">
<argument index="0" name="from" type="String">
</argument>
<argument index="1" name="from_slot" type="int">
</argument>
<argument index="2" name="to" type="String">
</argument>
<argument index="3" name="to_slot" type="int">
</argument>
<description>
Signal sent to the GraphEdit when the connection between 'from_slot' slot of 'from' GraphNode and 'to_slot' slot of 'to' GraphNode is attempted to be removed.
</description>
</signal>
<signal name="duplicate_nodes_request">
<description>
Signal sent when a GraphNode is attempted to be duplicated in the GraphEdit.
</description>
</signal>
<signal name="popup_request">
<argument index="0" name="p_position" type="Vector2">
</argument>
<description>
Signal sent when a popup is requested. Happens on right-clicking in the GraphEdit. 'p_position' is the position of the mouse pointer when the signal is sent.
</description>
</signal>
</signals>
<constants>
</constants>
<theme_items>
<theme_item name="bg" type="StyleBox">
</theme_item>
<theme_item name="minus" type="Texture">
</theme_item>
<theme_item name="more" type="Texture">
</theme_item>
<theme_item name="reset" type="Texture">
</theme_item>
</theme_items>
</class>
<class name="GraphNode" inherits="Container" category="Core">
<brief_description>
A GraphNode is a container with several input and output slots allowing connections between GraphNodes. Slots can have different, incompatible types.
</brief_description>
<description>
A GraphNode is a container defined by a title. It can have 1 or more input and output slots, which can be enabled (shown) or disabled (not shown) and have different (incompatible) types. Colors can also be assigned to slots. A tuple of input and output slots is defined for each GUI element included in the GraphNode. Input and output connections are left and right slots, but only enabled slots are counted as connections.
</description>
<methods>
<method name="clear_all_slots">
<description>
Disable all input and output slots of the GraphNode.
</description>
</method>
<method name="clear_slot">
<argument index="0" name="idx" type="int">
</argument>
<description>
Disable input and output slot whose index is 'idx'.
</description>
</method>
<method name="get_connection_input_color">
<return type="Color">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
Return the color of the input connection 'idx'.
</description>
</method>
<method name="get_connection_input_count">
<return type="int">
</return>
<description>
Return the number of enabled input slots (connections) to the GraphNode.
</description>
</method>
<method name="get_connection_input_pos">
<return type="Vector2">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
Return the position of the input connection 'idx'.
</description>
</method>
<method name="get_connection_input_type">
<return type="int">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
Return the type of the input connection 'idx'.
</description>
</method>
<method name="get_connection_output_color">
<return type="Color">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
Return the color of the output connection 'idx'.
</description>
</method>
<method name="get_connection_output_count">
<return type="int">
</return>
<description>
Return the number of enabled output slots (connections) of the GraphNode.
</description>
</method>
<method name="get_connection_output_pos">
<return type="Vector2">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
Return the position of the output connection 'idx'.
</description>
</method>
<method name="get_connection_output_type">
<return type="int">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
Return the type of the output connection 'idx'.
</description>
</method>
<method name="get_offset" qualifiers="const">
<return type="Vector2">
</return>
<description>
Return the offset of the GraphNode.
</description>
</method>
<method name="get_slot_color_left" qualifiers="const">
<return type="Color">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
Return the color set to 'idx' left (input) slot.
</description>
</method>
<method name="get_slot_color_right" qualifiers="const">
<return type="Color">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
Return the color set to 'idx' right (output) slot.
</description>
</method>
<method name="get_slot_type_left" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
Return the (integer) type of left (input) 'idx' slot.
</description>
</method>
<method name="get_slot_type_right" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
Return the (integer) type of right (output) 'idx' slot.
</description>
</method>
<method name="get_title" qualifiers="const">
<return type="String">
</return>
<description>
Return the title of the GraphNode.
</description>
</method>
<method name="is_close_button_visible" qualifiers="const">
<return type="bool">
</return>
<description>
Returns true if the close button is shown. False otherwise.
</description>
</method>
<method name="is_slot_enabled_left" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
Return true if left (input) slot 'idx' is enabled. False otherwise.
</description>
</method>
<method name="is_slot_enabled_right" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
Return true if right (output) slot 'idx' is enabled. False otherwise.
</description>
</method>
<method name="set_offset">
<argument index="0" name="offset" type="Vector2">
</argument>
<description>
Set the offset of the GraphNode.
</description>
</method>
<method name="set_show_close_button">
<argument index="0" name="show" type="bool">
</argument>
<description>
Show the close button on the GraphNode if 'show' is true (disabled by default). If enabled, a connection on the signal close_request is needed for the close button to work.
</description>
</method>
<method name="set_slot">
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="enable_left" type="bool">
</argument>
<argument index="2" name="type_left" type="int">
</argument>
<argument index="3" name="color_left" type="Color">
</argument>
<argument index="4" name="enable_right" type="bool">
</argument>
<argument index="5" name="type_right" type="int">
</argument>
<argument index="6" name="color_right" type="Color">
</argument>
<description>
Set the tuple of input/output slots defined by 'idx' ID. 'left' slots are input, 'right' are output. 'type' is an integer defining the type of the slot. Refer to description for the compatibility between slot types.
</description>
</method>
<method name="set_title">
<argument index="0" name="title" type="String">
</argument>
<description>
Set the title of the GraphNode.
</description>
</method>
</methods>
<signals>
<signal name="close_request">
<description>
Signal sent on closing the GraphNode.
</description>
</signal>
<signal name="dragged">
<argument index="0" name="from" type="Vector2">
</argument>
<argument index="1" name="to" type="Vector2">
</argument>
<description>
Signal sent when the GraphNode is dragged.
</description>
</signal>
<signal name="offset_changed">
<description>
Signal sent when the GraphNode is moved.
</description>
</signal>
<signal name="raise_request">
<description>
Signal sent when the GraphNode is requested to be displayed over other ones. Happens on focusing (clicking into) the GraphNode.
</description>
</signal>
</signals>
<constants>
</constants>
<theme_items>
<theme_item name="close" type="Texture">
</theme_item>
<theme_item name="close_offset" type="int">
</theme_item>
<theme_item name="defaultfocus" type="StyleBox">
</theme_item>
<theme_item name="defaultframe" type="StyleBox">
</theme_item>
<theme_item name="frame" type="StyleBox">
</theme_item>
<theme_item name="port" type="Texture">
</theme_item>
<theme_item name="port_offset" type="int">
</theme_item>
<theme_item name="selectedframe" type="StyleBox">
</theme_item>
<theme_item name="separation" type="int">
</theme_item>
<theme_item name="title_color" type="Color">
</theme_item>
<theme_item name="title_font" type="Font">
</theme_item>
<theme_item name="title_offset" type="int">
</theme_item>
</theme_items>
</class>
<class name="GridContainer" inherits="Container" category="Core">
<brief_description>
Grid container used to arrange elements in a grid like layout
</brief_description>
<description>
Grid container will arrange its children in a grid like structure, the grid columns are specified using the [method set_columns] method and the number of rows will be equal to the number of children in the container divided by the number of columns, for example: if the container has 5 children, and 2 columns, there will be 3 rows in the container. Notice that grid layout will preserve the columns and rows for every size of the container.
</description>
<methods>
<method name="get_columns" qualifiers="const">
<return type="int">
</return>
<description>
Returns the number of columns in this container
</description>
</method>
<method name="set_columns">
<argument index="0" name="columns" type="int">
</argument>
<description>
Sets the numbers of columns in the container, then reorder its children to accommodate the new layout
</description>
</method>
</methods>
<constants>
</constants>
<theme_items>
<theme_item name="hseparation" type="int">
</theme_item>
<theme_item name="vseparation" type="int">
</theme_item>
</theme_items>
</class>
<class name="GridMap" inherits="Spatial" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
<method name="area_get_bounds" qualifiers="const">
<return type="AABB">
</return>
<argument index="0" name="area" type="int">
</argument>
<description>
</description>
</method>
<method name="area_get_name" qualifiers="const">
<return type="String">
</return>
<argument index="0" name="area" type="int">
</argument>
<description>
</description>
</method>
<method name="area_get_portal_disable_color" qualifiers="const">
<return type="Color">
</return>
<argument index="0" name="area" type="int">
</argument>
<description>
</description>
</method>
<method name="area_get_portal_disable_distance" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="area" type="int">
</argument>
<description>
</description>
</method>
<method name="area_is_exterior_portal" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="area" type="int">
</argument>
<description>
</description>
</method>
<method name="area_set_exterior_portal">
<argument index="0" name="area" type="int">
</argument>
<argument index="1" name="enable" type="bool">
</argument>
<description>
</description>
</method>
<method name="area_set_name">
<argument index="0" name="area" type="int">
</argument>
<argument index="1" name="name" type="String">
</argument>
<description>
</description>
</method>
<method name="area_set_portal_disable_color">
<argument index="0" name="area" type="int">
</argument>
<argument index="1" name="color" type="Color">
</argument>
<description>
</description>
</method>
<method name="area_set_portal_disable_distance">
<argument index="0" name="area" type="int">
</argument>
<argument index="1" name="distance" type="float">
</argument>
<description>
</description>
</method>
<method name="bake_geometry">
<description>
</description>
</method>
<method name="clear">
<description>
</description>
</method>
<method name="create_area">
<return type="int">
</return>
<argument index="0" name="id" type="int">
</argument>
<argument index="1" name="area" type="AABB">
</argument>
<description>
</description>
</method>
<method name="erase_area">
<argument index="0" name="area" type="int">
</argument>
<description>
</description>
</method>
<method name="get_cell_item" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="x" type="int">
</argument>
<argument index="1" name="y" type="int">
</argument>
<argument index="2" name="z" type="int">
</argument>
<description>
</description>
</method>
<method name="get_cell_item_orientation" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="x" type="int">
</argument>
<argument index="1" name="y" type="int">
</argument>
<argument index="2" name="z" type="int">
</argument>
<description>
</description>
</method>
<method name="get_cell_size" qualifiers="const">
<return type="float">
</return>
<description>
</description>
</method>
<method name="get_center_x" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="get_center_y" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="get_center_z" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="get_octant_size" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_theme" qualifiers="const">
<return type="MeshLibrary">
</return>
<description>
</description>
</method>
<method name="get_unused_area_id" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="is_baking_enabled" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="is_using_baked_light" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="resource_changed">
<argument index="0" name="resource" type="Object">
</argument>
<description>
</description>
</method>
<method name="set_bake">
<argument index="0" name="enable" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_cell_item">
<argument index="0" name="x" type="int">
</argument>
<argument index="1" name="y" type="int">
</argument>
<argument index="2" name="z" type="int">
</argument>
<argument index="3" name="item" type="int">
</argument>
<argument index="4" name="orientation" type="int" default="0">
</argument>
<description>
</description>
</method>
<method name="set_cell_size">
<argument index="0" name="size" type="float">
</argument>
<description>
</description>
</method>
<method name="set_center_x">
<argument index="0" name="enable" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_center_y">
<argument index="0" name="enable" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_center_z">
<argument index="0" name="enable" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_clip">
<argument index="0" name="enabled" type="bool">
</argument>
<argument index="1" name="clipabove" type="bool" default="true">
</argument>
<argument index="2" name="floor" type="int" default="0">
</argument>
<argument index="3" name="axis" type="int" default="0">
</argument>
<description>
</description>
</method>
<method name="set_octant_size">
<argument index="0" name="size" type="int">
</argument>
<description>
</description>
</method>
<method name="set_theme">
<argument index="0" name="theme" type="MeshLibrary">
</argument>
<description>
</description>
</method>
<method name="set_use_baked_light">
<argument index="0" name="use" type="bool">
</argument>
<description>
</description>
</method>
</methods>
<constants>
<constant name="INVALID_CELL_ITEM" value="-1">
</constant>
</constants>
</class>
<class name="GrooveJoint2D" inherits="Joint2D" category="Core">
<brief_description>
Groove constraint for 2D physics.
</brief_description>
<description>
Groove constraint for 2D physics. This is useful for making a body "slide" through a segment placed in another.
</description>
<methods>
<method name="get_initial_offset" qualifiers="const">
<return type="float">
</return>
<description>
Set the final offset of the groove on body A.
</description>
</method>
<method name="get_length" qualifiers="const">
<return type="float">
</return>
<description>
Return the length of the groove.
</description>
</method>
<method name="set_initial_offset">
<argument index="0" name="offset" type="float">
</argument>
<description>
Set the initial offset of the groove on body A.
</description>
</method>
<method name="set_length">
<argument index="0" name="length" type="float">
</argument>
<description>
Set the length of the groove.
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="HBoxContainer" inherits="BoxContainer" category="Core">
<brief_description>
Horizontal box container.
</brief_description>
<description>
Horizontal box container. See [BoxContainer].
</description>
<methods>
</methods>
<constants>
</constants>
<theme_items>
<theme_item name="separation" type="int">
</theme_item>
</theme_items>
</class>
<class name="HButtonArray" inherits="ButtonArray" category="Core">
<brief_description>
Horizontal button array.
</brief_description>
<description>
Horizontal button array. See [ButtonArray].
</description>
<methods>
</methods>
<constants>
</constants>
<theme_items>
<theme_item name="button_separator" type="int">
</theme_item>
<theme_item name="focus" type="StyleBox">
</theme_item>
<theme_item name="font" type="Font">
</theme_item>
<theme_item name="font_color" type="Color">
</theme_item>
<theme_item name="font_color_selected" type="Color">
</theme_item>
<theme_item name="font_selected" type="Font">
</theme_item>
<theme_item name="hover" type="StyleBox">
</theme_item>
<theme_item name="icon_separator" type="int">
</theme_item>
<theme_item name="normal" type="StyleBox">
</theme_item>
<theme_item name="selected" type="StyleBox">
</theme_item>
</theme_items>
</class>
<class name="HScrollBar" inherits="ScrollBar" category="Core">
<brief_description>
Horizontal scroll bar.
</brief_description>
<description>
Horizontal scroll bar. See [ScrollBar]. This one goes from left (min) to right (max).
</description>
<methods>
</methods>
<constants>
</constants>
<theme_items>
<theme_item name="decrement" type="Texture">
</theme_item>
<theme_item name="decrement_hilite" type="Texture">
</theme_item>
<theme_item name="grabber" type="StyleBox">
</theme_item>
<theme_item name="grabber_hilite" type="StyleBox">
</theme_item>
<theme_item name="increment" type="Texture">
</theme_item>
<theme_item name="increment_hilite" type="Texture">
</theme_item>
<theme_item name="scroll" type="StyleBox">
</theme_item>
<theme_item name="scroll_focus" type="StyleBox">
</theme_item>
</theme_items>
</class>
<class name="HSeparator" inherits="Separator" category="Core">
<brief_description>
Horizontal separator.
</brief_description>
<description>
Horizontal separator. See [Separator]. It is used to separate objects vertically, though (but it looks horizontal!).
</description>
<methods>
</methods>
<constants>
</constants>
<theme_items>
<theme_item name="separation" type="int">
</theme_item>
<theme_item name="separator" type="StyleBox">
</theme_item>
</theme_items>
</class>
<class name="HSlider" inherits="Slider" category="Core">
<brief_description>
Horizontal slider.
</brief_description>
<description>
Horizontal slider. See [Slider]. This one goes from left (min) to right (max).
</description>
<methods>
</methods>
<constants>
</constants>
<theme_items>
<theme_item name="focus" type="StyleBox">
</theme_item>
<theme_item name="grabber" type="Texture">
</theme_item>
<theme_item name="grabber_hilite" type="Texture">
</theme_item>
<theme_item name="grabber_hilite" type="StyleBox">
</theme_item>
<theme_item name="slider" type="StyleBox">
</theme_item>
<theme_item name="tick" type="Texture">
</theme_item>
</theme_items>
</class>
<class name="HSplitContainer" inherits="SplitContainer" category="Core">
<brief_description>
Horizontal split container.
</brief_description>
<description>
Horizontal split container. See [SplitContainer]. This goes from left to right.
</description>
<methods>
</methods>
<constants>
</constants>
<theme_items>
<theme_item name="autohide" type="int">
</theme_item>
<theme_item name="bg" type="StyleBox">
</theme_item>
<theme_item name="grabber" type="Texture">
</theme_item>
<theme_item name="separation" type="int">
</theme_item>
</theme_items>
</class>
<class name="HTTPClient" inherits="Reference" category="Core">
<brief_description>
Hyper-text transfer protocol client.
</brief_description>
<description>
Hyper-text transfer protocol client. Supports SSL and SSL server certificate verification.
Can be reused to connect to different hosts and make many requests.
</description>
<methods>
<method name="close">
<description>
Cloces the current connection, allows for reusal of [HTTPClient].
</description>
</method>
<method name="connect">
<return type="Error">
</return>
<argument index="0" name="host" type="String">
</argument>
<argument index="1" name="port" type="int">
</argument>
<argument index="2" name="use_ssl" type="bool" default="false">
</argument>
<argument index="3" name="verify_host" type="bool" default="true">
</argument>
<description>
Connect to a host. This needs to be done before any requests are sent.
The host should not have http:// prepended but will strip the protocol identifier if provided.
verify_host will check the SSL identity of the host if set to true.
</description>
</method>
<method name="get_response_body_length" qualifiers="const">
<return type="int">
</return>
<description>
Return the response's body length.
</description>
</method>
<method name="get_response_code" qualifiers="const">
<return type="int">
</return>
<description>
Return the HTTP status code of the response.
</description>
</method>
<method name="get_response_headers">
<return type="StringArray">
</return>
<description>
Return the response headers.
</description>
</method>
<method name="get_response_headers_as_dictionary">
<return type="Dictionary">
</return>
<description>
Returns all response headers as dictionary where the case-sensitivity of the keys and values is kept like the server delivers it. A value is a simple String, this string can have more than one value where "; " is used as separator.
Structure: ("key":"value1; value2")
Example: (content-length:12), (Content-Type:application/json; charset=UTF-8)
</description>
</method>
<method name="get_status" qualifiers="const">
<return type="int">
</return>
<description>
Returns a status string like STATUS_REQUESTING. Need to call [method poll] in order to get status updates.
</description>
</method>
<method name="has_response" qualifiers="const">
<return type="bool">
</return>
<description>
Return whether this [HTTPClient] has a response available.
</description>
</method>
<method name="is_blocking_mode_enabled" qualifiers="const">
<return type="bool">
</return>
<description>
Return whether blocking mode is enabled.
</description>
</method>
<method name="is_response_chunked" qualifiers="const">
<return type="bool">
</return>
<description>
Return whether this [HTTPClient] has a response that is chunked.
</description>
</method>
<method name="poll">
<return type="Error">
</return>
<description>
This needs to be called in order to have any request processed. Check results with [method get_status]
</description>
</method>
<method name="query_string_from_dict">
<return type="String">
</return>
<argument index="0" name="fields" type="Dictionary">
</argument>
<description>
Generates a GET/POST application/x-www-form-urlencoded style query string from a provided dictionary, e.g.:
[codeblock]
var fields = {"username": "user", "password": "pass"}
String queryString = httpClient.query_string_from_dict(fields)
returns:= "username=user&amp;password=pass"
[/codeblock]
</description>
</method>
<method name="read_response_body_chunk">
<return type="RawArray">
</return>
<description>
Reads one chunk from the response.
</description>
</method>
<method name="request">
<return type="int">
</return>
<argument index="0" name="method" type="int">
</argument>
<argument index="1" name="url" type="String">
</argument>
<argument index="2" name="headers" type="StringArray">
</argument>
<argument index="3" name="body" type="String" default="&quot;&quot;">
</argument>
<description>
Sends a request to the connected host. The url is what is normally behind the hostname, i.e. in [code]http://somehost.com/index.php[/code], url would be "index.php".
Headers are HTTP request headers.
To create a POST request with query strings to push to the server, do:
[codeblock]
var fields = {"username" : "user", "password" : "pass"}
var queryString = httpClient.query_string_from_dict(fields)
var headers = ["Content-Type: application/x-www-form-urlencoded", "Content-Length: " + str(queryString.length())]
var result = httpClient.request(httpClient.METHOD_POST, "index.php", headers, queryString)
[/codeblock]
</description>
</method>
<method name="send_body_data">
<return type="int">
</return>
<argument index="0" name="body" type="RawArray">
</argument>
<description>
Stub function
</description>
</method>
<method name="send_body_text">
<return type="int">
</return>
<argument index="0" name="body" type="String">
</argument>
<description>
Stub function
</description>
</method>
<method name="set_blocking_mode">
<argument index="0" name="enabled" type="bool">
</argument>
<description>
If set to true, execution will block until all data is read from the response.
</description>
</method>
<method name="set_connection">
<argument index="0" name="connection" type="StreamPeer">
</argument>
<description>
Set connection to use, for this client.
</description>
</method>
<method name="set_read_chunk_size">
<argument index="0" name="bytes" type="int">
</argument>
<description>
Sets the size of the buffer used and maximum bytes to read per iteration. see [method read_response_body_chunk]
</description>
</method>
</methods>
<constants>
<constant name="METHOD_GET" value="0">
</constant>
<constant name="METHOD_HEAD" value="1">
</constant>
<constant name="METHOD_POST" value="2">
</constant>
<constant name="METHOD_PUT" value="3">
</constant>
<constant name="METHOD_DELETE" value="4">
</constant>
<constant name="METHOD_OPTIONS" value="5">
</constant>
<constant name="METHOD_TRACE" value="6">
</constant>
<constant name="METHOD_CONNECT" value="7">
</constant>
<constant name="METHOD_MAX" value="8">
</constant>
<constant name="STATUS_DISCONNECTED" value="0">
</constant>
<constant name="STATUS_RESOLVING" value="1">
</constant>
<constant name="STATUS_CANT_RESOLVE" value="2">
</constant>
<constant name="STATUS_CONNECTING" value="3">
</constant>
<constant name="STATUS_CANT_CONNECT" value="4">
</constant>
<constant name="STATUS_CONNECTED" value="5">
</constant>
<constant name="STATUS_REQUESTING" value="6">
</constant>
<constant name="STATUS_BODY" value="7">
</constant>
<constant name="STATUS_CONNECTION_ERROR" value="8">
</constant>
<constant name="STATUS_SSL_HANDSHAKE_ERROR" value="9">
</constant>
<constant name="RESPONSE_CONTINUE" value="100">
</constant>
<constant name="RESPONSE_SWITCHING_PROTOCOLS" value="101">
</constant>
<constant name="RESPONSE_PROCESSING" value="102">
</constant>
<constant name="RESPONSE_OK" value="200">
</constant>
<constant name="RESPONSE_CREATED" value="201">
</constant>
<constant name="RESPONSE_ACCEPTED" value="202">
</constant>
<constant name="RESPONSE_NON_AUTHORITATIVE_INFORMATION" value="203">
</constant>
<constant name="RESPONSE_NO_CONTENT" value="204">
</constant>
<constant name="RESPONSE_RESET_CONTENT" value="205">
</constant>
<constant name="RESPONSE_PARTIAL_CONTENT" value="206">
</constant>
<constant name="RESPONSE_MULTI_STATUS" value="207">
</constant>
<constant name="RESPONSE_IM_USED" value="226">
</constant>
<constant name="RESPONSE_MULTIPLE_CHOICES" value="300">
</constant>
<constant name="RESPONSE_MOVED_PERMANENTLY" value="301">
</constant>
<constant name="RESPONSE_FOUND" value="302">
</constant>
<constant name="RESPONSE_SEE_OTHER" value="303">
</constant>
<constant name="RESPONSE_NOT_MODIFIED" value="304">
</constant>
<constant name="RESPONSE_USE_PROXY" value="305">
</constant>
<constant name="RESPONSE_TEMPORARY_REDIRECT" value="307">
</constant>
<constant name="RESPONSE_BAD_REQUEST" value="400">
</constant>
<constant name="RESPONSE_UNAUTHORIZED" value="401">
</constant>
<constant name="RESPONSE_PAYMENT_REQUIRED" value="402">
</constant>
<constant name="RESPONSE_FORBIDDEN" value="403">
</constant>
<constant name="RESPONSE_NOT_FOUND" value="404">
</constant>
<constant name="RESPONSE_METHOD_NOT_ALLOWED" value="405">
</constant>
<constant name="RESPONSE_NOT_ACCEPTABLE" value="406">
</constant>
<constant name="RESPONSE_PROXY_AUTHENTICATION_REQUIRED" value="407">
</constant>
<constant name="RESPONSE_REQUEST_TIMEOUT" value="408">
</constant>
<constant name="RESPONSE_CONFLICT" value="409">
</constant>
<constant name="RESPONSE_GONE" value="410">
</constant>
<constant name="RESPONSE_LENGTH_REQUIRED" value="411">
</constant>
<constant name="RESPONSE_PRECONDITION_FAILED" value="412">
</constant>
<constant name="RESPONSE_REQUEST_ENTITY_TOO_LARGE" value="413">
</constant>
<constant name="RESPONSE_REQUEST_URI_TOO_LONG" value="414">
</constant>
<constant name="RESPONSE_UNSUPPORTED_MEDIA_TYPE" value="415">
</constant>
<constant name="RESPONSE_REQUESTED_RANGE_NOT_SATISFIABLE" value="416">
</constant>
<constant name="RESPONSE_EXPECTATION_FAILED" value="417">
</constant>
<constant name="RESPONSE_UNPROCESSABLE_ENTITY" value="422">
</constant>
<constant name="RESPONSE_LOCKED" value="423">
</constant>
<constant name="RESPONSE_FAILED_DEPENDENCY" value="424">
</constant>
<constant name="RESPONSE_UPGRADE_REQUIRED" value="426">
</constant>
<constant name="RESPONSE_INTERNAL_SERVER_ERROR" value="500">
</constant>
<constant name="RESPONSE_NOT_IMPLEMENTED" value="501">
</constant>
<constant name="RESPONSE_BAD_GATEWAY" value="502">
</constant>
<constant name="RESPONSE_SERVICE_UNAVAILABLE" value="503">
</constant>
<constant name="RESPONSE_GATEWAY_TIMEOUT" value="504">
</constant>
<constant name="RESPONSE_HTTP_VERSION_NOT_SUPPORTED" value="505">
</constant>
<constant name="RESPONSE_INSUFFICIENT_STORAGE" value="507">
</constant>
<constant name="RESPONSE_NOT_EXTENDED" value="510">
</constant>
</constants>
</class>
<class name="HingeJoint" inherits="Joint" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
<method name="get_flag" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="flag" type="int">
</argument>
<description>
</description>
</method>
<method name="get_param" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="param" type="int">
</argument>
<description>
</description>
</method>
<method name="set_flag">
<argument index="0" name="flag" type="int">
</argument>
<argument index="1" name="enabled" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_param">
<argument index="0" name="param" type="int">
</argument>
<argument index="1" name="value" type="float">
</argument>
<description>
</description>
</method>
</methods>
<constants>
<constant name="PARAM_BIAS" value="0">
</constant>
<constant name="PARAM_LIMIT_UPPER" value="1">
</constant>
<constant name="PARAM_LIMIT_LOWER" value="2">
</constant>
<constant name="PARAM_LIMIT_BIAS" value="3">
</constant>
<constant name="PARAM_LIMIT_SOFTNESS" value="4">
</constant>
<constant name="PARAM_LIMIT_RELAXATION" value="5">
</constant>
<constant name="PARAM_MOTOR_TARGET_VELOCITY" value="6">
</constant>
<constant name="PARAM_MOTOR_MAX_IMPULSE" value="7">
</constant>
<constant name="PARAM_MAX" value="8">
</constant>
<constant name="FLAG_USE_LIMIT" value="0">
</constant>
<constant name="FLAG_ENABLE_MOTOR" value="1">
</constant>
<constant name="FLAG_MAX" value="2">
</constant>
</constants>
</class>
<class name="IP" inherits="Object" category="Core">
<brief_description>
IP Protocol support functions.
</brief_description>
<description>
IP contains some support functions for the IPv4 protocol. TCP/IP support is in different classes (see [StreamPeerTCP] and [TCP_Server]). IP provides hostname resolution support, both blocking and threaded.
</description>
<methods>
<method name="erase_resolve_item">
<argument index="0" name="id" type="int">
</argument>
<description>
Erase a queue ID, removing it from the queue if needed. This should be used after a queue is completed to free it and enable more queries to happen.
</description>
</method>
<method name="get_local_addresses" qualifiers="const">
<return type="Array">
</return>
<description>
</description>
</method>
<method name="get_resolve_item_address" qualifiers="const">
<return type="String">
</return>
<argument index="0" name="id" type="int">
</argument>
<description>
Return a resolved item address, or an empty string if an error happened or resolution didn't happen yet (see [method get_resolve_item_status]).
</description>
</method>
<method name="get_resolve_item_status" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="id" type="int">
</argument>
<description>
Return the status of hostname queued for resolving, given it's queue ID. Returned status can be any of the RESOLVER_STATUS_* enumeration.
</description>
</method>
<method name="resolve_hostname">
<return type="String">
</return>
<argument index="0" name="host" type="String">
</argument>
<description>
Resolve a given hostname, blocking. Resolved hostname is returned as an IP.
</description>
</method>
<method name="resolve_hostname_queue_item">
<return type="int">
</return>
<argument index="0" name="host" type="String">
</argument>
<description>
Create a queue item for resolving a given hostname. The queue ID is returned, or RESOLVER_INVALID_ID on error.
</description>
</method>
</methods>
<constants>
<constant name="RESOLVER_STATUS_NONE" value="0">
</constant>
<constant name="RESOLVER_STATUS_WAITING" value="1">
</constant>
<constant name="RESOLVER_STATUS_DONE" value="2">
</constant>
<constant name="RESOLVER_STATUS_ERROR" value="3">
</constant>
<constant name="RESOLVER_MAX_QUERIES" value="32">
</constant>
<constant name="RESOLVER_INVALID_ID" value="-1">
</constant>
</constants>
</class>
<class name="IP_Unix" inherits="IP" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
</methods>
<constants>
</constants>
</class>
<class name="Image" category="Built-In Types">
<brief_description>
Image datatype.
</brief_description>
<description>
Built in native image datatype. Contains image data, which can be converted to a texture, and several functions to interact with it.
</description>
<methods>
<method name="Image">
<return type="Image">
</return>
<argument index="0" name="width" type="int">
</argument>
<argument index="1" name="height" type="int">
</argument>
<argument index="2" name="mipmaps" type="bool">
</argument>
<argument index="3" name="format" type="int">
</argument>
<description>
Create an empty image of a specific size and format.
</description>
</method>
<method name="blit_rect">
<argument index="0" name="src" type="Image">
</argument>
<argument index="1" name="src_rect" type="Rect2">
</argument>
<argument index="2" name="dest" type="Vector2" default="0">
</argument>
<description>
Copy a "src_rect" [Rect2] from "src" [Image] to this [Image] on coordinates "dest".
</description>
</method>
<method name="brush_transfer">
<argument index="0" name="src" type="Image">
</argument>
<argument index="1" name="brush" type="Image">
</argument>
<argument index="2" name="pos" type="Vector2" default="0">
</argument>
<description>
Transfer data from "src" to this [Image] using a "brush" as a mask/brush on coordinates "pos".
</description>
</method>
<method name="brushed">
<return type="Image">
</return>
<argument index="0" name="src" type="Image">
</argument>
<argument index="1" name="brush" type="Image">
</argument>
<argument index="2" name="pos" type="Vector2" default="0">
</argument>
<description>
Return a new [Image] from this [Image] that is created by brushhing see [method brush_transfer].
</description>
</method>
<method name="compressed">
<return type="Image">
</return>
<argument index="0" name="format" type="int" default="0">
</argument>
<description>
Return a new compressed [Image] from this [Image] using one of [Image].COMPRESS_*.
</description>
</method>
<method name="converted">
<return type="Image">
</return>
<argument index="0" name="format" type="int" default="0">
</argument>
<description>
Return a new [Image] from this [Image] with a different format.
</description>
</method>
<method name="decompressed">
<return type="Image">
</return>
<description>
Return a new decompressed [Image].
</description>
</method>
<method name="empty">
<return type="bool">
</return>
<description>
Return whether this [Image] is empty(no data).
</description>
</method>
<method name="fix_alpha_edges">
<description>
</description>
</method>
<method name="get_data">
<return type="RawArray">
</return>
<description>
Return the raw data of the [Image].
</description>
</method>
<method name="get_format">
<return type="int">
</return>
<description>
Return the format of the [Image], one of [Image].FORMAT_*.
</description>
</method>
<method name="get_height">
<return type="int">
</return>
<description>
Return the height of the [Image].
</description>
</method>
<method name="get_pixel">
<return type="Color">
</return>
<argument index="0" name="x" type="int">
</argument>
<argument index="1" name="y" type="int">
</argument>
<argument index="2" name="mipmap_level" type="int" default="0">
</argument>
<description>
Return the color of the pixel in the [Image] on coordinates "x,y" on mipmap level "mipmap_level".
</description>
</method>
<method name="get_rect">
<return type="Image">
</return>
<argument index="0" name="area" type="Rect2" default="0">
</argument>
<description>
Return a new [Image] that is a copy of "area" in this [Image].
</description>
</method>
<method name="get_used_rect">
<return type="Rect2">
</return>
<description>
Return the area of this [Image] that is used/visibly colored/opaque.
</description>
</method>
<method name="get_width">
<return type="int">
</return>
<description>
Return the width of the [Image].
</description>
</method>
<method name="load">
<return type="int">
</return>
<argument index="0" name="path" type="String" default="0">
</argument>
<description>
Load an [Image].
</description>
</method>
<method name="put_pixel">
<argument index="0" name="x" type="int">
</argument>
<argument index="1" name="y" type="int">
</argument>
<argument index="2" name="color" type="Color">
</argument>
<argument index="3" name="mipmap_level" type="int" default="0">
</argument>
<description>
Put a pixel of "color" on coordinates "x,y" on mipmap level "mipmap_level".
</description>
</method>
<method name="resized">
<return type="Image">
</return>
<argument index="0" name="x" type="int">
</argument>
<argument index="1" name="y" type="int">
</argument>
<argument index="2" name="interpolation" type="int" default="1">
</argument>
<description>
Return a new [Image] from this [Image] that is resized to size "x,y" using [Image].INTERPOLATE_*.
</description>
</method>
<method name="save_png">
<return type="int">
</return>
<argument index="0" name="path" type="String" default="0">
</argument>
<description>
Save this [Image] as a png.
</description>
</method>
</methods>
<constants>
<constant name="COMPRESS_BC" value="0">
</constant>
<constant name="COMPRESS_PVRTC2" value="1">
</constant>
<constant name="COMPRESS_PVRTC4" value="2">
</constant>
<constant name="COMPRESS_ETC" value="3">
</constant>
<constant name="FORMAT_GRAYSCALE" value="0">
</constant>
<constant name="FORMAT_INTENSITY" value="1">
</constant>
<constant name="FORMAT_GRAYSCALE_ALPHA" value="2">
</constant>
<constant name="FORMAT_RGB" value="3">
</constant>
<constant name="FORMAT_RGBA" value="4">
</constant>
<constant name="FORMAT_INDEXED" value="5">
</constant>
<constant name="FORMAT_INDEXED_ALPHA" value="6">
</constant>
<constant name="FORMAT_YUV_422" value="7">
</constant>
<constant name="FORMAT_YUV_444" value="8">
</constant>
<constant name="FORMAT_BC1" value="9">
</constant>
<constant name="FORMAT_BC2" value="10">
</constant>
<constant name="FORMAT_BC3" value="11">
</constant>
<constant name="FORMAT_BC4" value="12">
</constant>
<constant name="FORMAT_BC5" value="13">
</constant>
<constant name="FORMAT_PVRTC2" value="14">
</constant>
<constant name="FORMAT_PVRTC2_ALPHA" value="15">
</constant>
<constant name="FORMAT_PVRTC4" value="16">
</constant>
<constant name="FORMAT_PVRTC4_ALPHA" value="17">
</constant>
<constant name="FORMAT_ETC" value="18">
</constant>
<constant name="FORMAT_ATC" value="19">
</constant>
<constant name="FORMAT_ATC_ALPHA_EXPLICIT" value="20">
</constant>
<constant name="FORMAT_ATC_ALPHA_INTERPOLATED" value="21">
</constant>
<constant name="FORMAT_CUSTOM" value="22">
</constant>
<constant name="INTERPOLATE_NEAREST" value="0">
</constant>
<constant name="INTERPOLATE_BILINEAR" value="1">
</constant>
<constant name="INTERPOLATE_CUBIC" value="2">
</constant>
</constants>
</class>
<class name="ImageTexture" inherits="Texture" category="Core">
<brief_description>
A [Texture] based on an [Image].
</brief_description>
<description>
A [Texture] based on an [Image]. Can be created from an [Image].
</description>
<methods>
<method name="create">
<argument index="0" name="width" type="int">
</argument>
<argument index="1" name="height" type="int">
</argument>
<argument index="2" name="format" type="int">
</argument>
<argument index="3" name="flags" type="int" default="7">
</argument>
<description>
Create a new [ImageTexture] with "width" and "height".
"format" one of [Image].FORMAT_*.
"flags" one or more of [Texture].FLAG_*.
</description>
</method>
<method name="create_from_image">
<argument index="0" name="image" type="Image">
</argument>
<argument index="1" name="flags" type="int" default="7">
</argument>
<description>
Create a new [ImageTexture] from an [Image] with "flags" from [Texture].FLAG_*.
</description>
</method>
<method name="fix_alpha_edges">
<description>
</description>
</method>
<method name="get_data" qualifiers="const">
<return type="Image">
</return>
<description>
Return the [Image] of this [ImageTexture].
</description>
</method>
<method name="get_format" qualifiers="const">
<return type="int">
</return>
<description>
Return the format of the [ImageTexture], one of [Image].FORMAT_*.
</description>
</method>
<method name="get_lossy_storage_quality" qualifiers="const">
<return type="float">
</return>
<description>
Return the storage quality for [ImageTexture].STORAGE_COMPRESS_LOSSY.
</description>
</method>
<method name="get_storage" qualifiers="const">
<return type="int">
</return>
<description>
Return the storage type. One of [ImageTexture].STORAGE_*.
</description>
</method>
<method name="load">
<argument index="0" name="path" type="String">
</argument>
<description>
Load an [ImageTexure].
</description>
</method>
<method name="normal_to_xy">
<description>
</description>
</method>
<method name="premultiply_alpha">
<description>
</description>
</method>
<method name="set_data">
<argument index="0" name="image" type="Image">
</argument>
<description>
Set the [Image] of this [ImageTexture].
</description>
</method>
<method name="set_lossy_storage_quality">
<argument index="0" name="quality" type="float">
</argument>
<description>
Set the storage quality in case of [ImageTexture].STORAGE_COMPRESS_LOSSY.
</description>
</method>
<method name="set_size_override">
<argument index="0" name="size" type="Vector2">
</argument>
<description>
</description>
</method>
<method name="set_storage">
<argument index="0" name="mode" type="int">
</argument>
<description>
Set the storage type. One of [ImageTexture].STORAGE_*.
</description>
</method>
<method name="shrink_x2_and_keep_size">
<description>
</description>
</method>
</methods>
<constants>
<constant name="STORAGE_RAW" value="0">
[Image] data is stored raw and unaltered.
</constant>
<constant name="STORAGE_COMPRESS_LOSSY" value="1">
[Image] data is compressed with a lossy algorithm. You can set the storage quality with [method set_lossy_storage_quality].
</constant>
<constant name="STORAGE_COMPRESS_LOSSLESS" value="2">
[Image] data is compressed with a lossless algorithm.
</constant>
</constants>
</class>
<class name="ImmediateGeometry" inherits="GeometryInstance" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
<method name="add_sphere">
<argument index="0" name="lats" type="int">
</argument>
<argument index="1" name="lons" type="int">
</argument>
<argument index="2" name="radius" type="float">
</argument>
<description>
</description>
</method>
<method name="add_vertex">
<argument index="0" name="pos" type="Vector3">
</argument>
<description>
</description>
</method>
<method name="begin">
<argument index="0" name="primitive" type="int">
</argument>
<argument index="1" name="texture" type="Texture">
</argument>
<description>
</description>
</method>
<method name="clear">
<description>
</description>
</method>
<method name="end">
<description>
</description>
</method>
<method name="set_color">
<argument index="0" name="color" type="Color">
</argument>
<description>
</description>
</method>
<method name="set_normal">
<argument index="0" name="normal" type="Vector3">
</argument>
<description>
</description>
</method>
<method name="set_tangent">
<argument index="0" name="tangent" type="Plane">
</argument>
<description>
</description>
</method>
<method name="set_uv">
<argument index="0" name="uv" type="Vector2">
</argument>
<description>
</description>
</method>
<method name="set_uv2">
<argument index="0" name="uv" type="Vector2">
</argument>
<description>
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="Input" inherits="Object" category="Core">
<brief_description>
A Singleton that deals with inputs.
</brief_description>
<description>
A Singleton that deals with inputs. This includes key presses, mouse buttons and movement, joysticks, and input actions.
</description>
<methods>
<method name="action_press">
<argument index="0" name="action" type="String">
</argument>
<description>
This will simulate pressing the specificed action.
</description>
</method>
<method name="action_release">
<argument index="0" name="action" type="String">
</argument>
<description>
If the specified action is already pressed, this will release it.
</description>
</method>
<method name="add_joy_mapping">
<argument index="0" name="mapping" type="String">
</argument>
<argument index="1" name="update_existing" type="bool" default="false">
</argument>
<description>
Add a new mapping entry (in SDL2 format) to the mapping database. Optionally update already connected devices.
</description>
</method>
<method name="get_accelerometer">
<return type="Vector3">
</return>
<description>
If the device has an accelerometer, this will return the movement.
</description>
</method>
<method name="get_joy_axis">
<return type="float">
</return>
<argument index="0" name="device" type="int">
</argument>
<argument index="1" name="axis" type="int">
</argument>
<description>
Returns the current value of the joystick axis at given index (see JOY_* constants in [@Global Scope])
</description>
</method>
<method name="get_joy_guid" qualifiers="const">
<return type="String">
</return>
<argument index="0" name="device" type="int">
</argument>
<description>
Returns a SDL2 compatible device guid on platforms that use gamepad remapping. Returns "Default Gamepad" otherwise.
</description>
</method>
<method name="get_joy_name">
<return type="String">
</return>
<argument index="0" name="device" type="int">
</argument>
<description>
Returns the name of the joystick at the specified device index
</description>
</method>
<method name="get_mouse_button_mask" qualifiers="const">
<return type="int">
</return>
<description>
Returns mouse buttons as a bitmask. If multiple mouse buttons are pressed at the same time the bits are added together.
</description>
</method>
<method name="get_mouse_mode" qualifiers="const">
<return type="int">
</return>
<description>
Return the mouse mode. See the constants for more information.
</description>
</method>
<method name="get_mouse_speed" qualifiers="const">
<return type="Vector2">
</return>
<description>
Returns the mouse speed.
</description>
</method>
<method name="is_action_pressed">
<return type="bool">
</return>
<argument index="0" name="action" type="String">
</argument>
<description>
Returns true or false depending on whether the action event is pressed. Actions and their events can be set in the Project Settings / Input Map tab. Or be set with [InputMap].
</description>
</method>
<method name="is_joy_button_pressed">
<return type="bool">
</return>
<argument index="0" name="device" type="int">
</argument>
<argument index="1" name="button" type="int">
</argument>
<description>
Returns if the joystick button at the given index is currently pressed. (see JOY_* constants in [@Global Scope])
</description>
</method>
<method name="is_joy_known">
<return type="bool">
</return>
<argument index="0" name="device" type="int">
</argument>
<description>
Returns if the specified device is known by the system. This means that it sets all button and axis indices exactly as defined in the JOY_* constants (see [@Global Scope]). Unknown joysticks are not expected to match these constants, but you can still retrieve events from them.
</description>
</method>
<method name="is_key_pressed">
<return type="bool">
</return>
<argument index="0" name="scancode" type="int">
</argument>
<description>
Returns true or false depending on whether the key is pressed or not. You can pass KEY_*, which are pre-defined constants listed in [@Global Scope].
</description>
</method>
<method name="is_mouse_button_pressed">
<return type="bool">
</return>
<argument index="0" name="button" type="int">
</argument>
<description>
Returns true or false depending on whether mouse button is pressed or not. You can pass BUTTON_*, which are pre-defined constants listed in [@Global Scope].
</description>
</method>
<method name="remove_joy_mapping">
<argument index="0" name="guid" type="String">
</argument>
<description>
Removes all mappings from the internal db that match the given uid.
</description>
</method>
<method name="set_custom_mouse_cursor">
<argument index="0" name="image" type="Texture">
</argument>
<argument index="1" name="hotspot" type="Vector2" default="Vector2(0,0)">
</argument>
<description>
Set a custom mouse cursor image, which is only visible inside the game window. The hotspot can also be specified.
</description>
</method>
<method name="set_mouse_mode">
<argument index="0" name="mode" type="int">
</argument>
<description>
Set the mouse mode. See the constants for more information.
</description>
</method>
<method name="warp_mouse_pos">
<argument index="0" name="to" type="Vector2">
</argument>
<description>
Sets the mouse position to the specified vector.
</description>
</method>
</methods>
<signals>
<signal name="joy_connection_changed">
<argument index="0" name="index" type="int">
</argument>
<argument index="1" name="connected" type="bool">
</argument>
<description>
Emitted when a joystick device has been connected or disconnected
</description>
</signal>
</signals>
<constants>
<constant name="MOUSE_MODE_VISIBLE" value="0">
Makes the mouse cursor visible if it is hidden.
</constant>
<constant name="MOUSE_MODE_HIDDEN" value="1">
Makes the mouse cursor hidden if it is visible.
</constant>
<constant name="MOUSE_MODE_CAPTURED" value="2">
Captures the mouse. The mouse will be hidden and unable to leave the game window. But it will still register movement and mouse button presses.
</constant>
</constants>
</class>
<class name="InputDefault" inherits="Input" category="Core">
<brief_description>
Default implementation of the [Input] class.
</brief_description>
<description>
Default implementation of the [Input] class, used internally by the editor and games for default input management.
</description>
<methods>
</methods>
<constants>
</constants>
</class>
<class name="InputEvent" category="Built-In Types">
<brief_description>
Built-in input event data.
</brief_description>
<description>
Built-in input event data. InputEvent is a built-in engine datatype, given that it's passed around and used so much. Depending on its type, the members contained can be different, so read the documentation well! Input events can also represent actions (editable from the project settings).
</description>
<methods>
<method name="is_action">
<return type="bool">
</return>
<argument index="0" name="action" type="String">
</argument>
<description>
Return if this input event matches a pre-defined action, no matter the type.
</description>
</method>
<method name="is_action_pressed">
<return type="bool">
</return>
<argument index="0" name="action" type="String">
</argument>
<description>
Return whether the given action is being pressed (and is not an echo event for KEY events). Not relevant for the event types MOUSE_MOTION, SCREEN_DRAG and NONE.
</description>
</method>
<method name="is_action_released">
<return type="bool">
</return>
<argument index="0" name="action" type="String">
</argument>
<description>
Return whether the given action is released (i.e. not pressed). Not relevant for the event types MOUSE_MOTION, SCREEN_DRAG and NONE.
</description>
</method>
<method name="is_echo">
<return type="bool">
</return>
<description>
Return if this input event is an echo event (only for events of type KEY, it will return false for other types).
</description>
</method>
<method name="is_pressed">
<return type="bool">
</return>
<description>
Return if this input event is pressed. Not relevant for the event types MOUSE_MOTION, SCREEN_DRAG and NONE.
</description>
</method>
<method name="set_as_action">
<argument index="0" name="action" type="String">
</argument>
<argument index="1" name="pressed" type="bool">
</argument>
<description>
Change the input event to an action event of the given name, regardless of its initial type, with the pressed status passed as argument.
</description>
</method>
</methods>
<members>
<member name="ID" type="int">
Event identifier, positive integer increased at each new event.
</member>
<member name="device" type="int">
Device identifier.
</member>
<member name="type" type="int">
Type of event (one of the [InputEvent] constants).
</member>
</members>
<constants>
<constant name="NONE" value="0">
Empty input event.
</constant>
<constant name="KEY" value="1">
Key event.
</constant>
<constant name="MOUSE_MOTION" value="2">
Mouse motion event.
</constant>
<constant name="MOUSE_BUTTON" value="3">
Mouse button event.
</constant>
<constant name="JOYSTICK_MOTION" value="4">
Joystick motion event.
</constant>
<constant name="JOYSTICK_BUTTON" value="5">
Joystick button event.
</constant>
<constant name="SCREEN_TOUCH" value="6">
Screen touch event.
</constant>
<constant name="SCREEN_DRAG" value="7">
Screen drag event.
</constant>
<constant name="ACTION" value="8">
Pre-defined action event (see [InputMap]).
</constant>
</constants>
</class>
<class name="InputEventAction" category="Built-In Types">
<brief_description>
Built-in input event type for actions.
</brief_description>
<description>
Input event type for actions that extends the global [InputEvent] type.
</description>
<methods>
<method name="is_action">
<return type="bool">
</return>
<argument index="0" name="action" type="String">
</argument>
<description>
Return if this input event matches a pre-defined action, i.e. always true for InputEventAction.
</description>
</method>
<method name="is_action_pressed">
<return type="bool">
</return>
<argument index="0" name="action" type="String">
</argument>
<description>
Return whether the given action is being pressed.
</description>
</method>
<method name="is_action_released">
<return type="bool">
</return>
<argument index="0" name="action" type="String">
</argument>
<description>
Return whether the given action is released (i.e. not pressed).
</description>
</method>
<method name="is_echo">
<return type="bool">
</return>
<description>
Return if this input event is an echo event (only for events of type KEY, i.e. always false for this type).
</description>
</method>
<method name="is_pressed">
<return type="bool">
</return>
<description>
Return if this input event is pressed.
</description>
</method>
<method name="set_as_action">
<argument index="0" name="action" type="String">
</argument>
<argument index="1" name="pressed" type="bool">
</argument>
<description>
Change the input event to an action event of the given name with the pressed status passed as argument.
</description>
</method>
</methods>
<members>
<member name="ID" type="int">
Event identifier, positive integer increased at each new event.
</member>
<member name="device" type="int">
Device identifier.
</member>
<member name="type" type="int">
Type of event (one of the [InputEvent] constants).
</member>
</members>
<constants>
<constant name="NONE" value="0">
Empty input event.
</constant>
<constant name="KEY" value="1">
Key event.
</constant>
<constant name="MOUSE_MOTION" value="2">
Mouse motion event.
</constant>
<constant name="MOUSE_BUTTON" value="3">
Mouse button event.
</constant>
<constant name="JOYSTICK_MOTION" value="4">
Joystick motion event.
</constant>
<constant name="JOYSTICK_BUTTON" value="5">
Joystick button event.
</constant>
<constant name="SCREEN_TOUCH" value="6">
Screen touch event.
</constant>
<constant name="SCREEN_DRAG" value="7">
Screen drag event.
</constant>
<constant name="ACTION" value="8">
Pre-defined action event (see [InputMap]).
</constant>
</constants>
</class>
<class name="InputEventJoystickButton" category="Built-In Types">
<brief_description>
Built-in input event type for joystick button events.
</brief_description>
<description>
Input event type for joystick button events that extends the global [InputEvent] type.
</description>
<methods>
<method name="is_action">
<return type="bool">
</return>
<argument index="0" name="action" type="String">
</argument>
<description>
Return if this input event matches a pre-defined action.
</description>
</method>
<method name="is_action_pressed">
<return type="bool">
</return>
<argument index="0" name="action" type="String">
</argument>
<description>
Return whether the given action is being pressed.
</description>
</method>
<method name="is_action_released">
<return type="bool">
</return>
<argument index="0" name="action" type="String">
</argument>
<description>
Return whether the given action is released (i.e. not pressed).
</description>
</method>
<method name="is_echo">
<return type="bool">
</return>
<description>
Return if this input event is an echo event (only for events of type KEY, i.e. always false for this type).
</description>
</method>
<method name="is_pressed">
<return type="bool">
</return>
<description>
Return if this input event is pressed.
</description>
</method>
<method name="set_as_action">
<argument index="0" name="action" type="String">
</argument>
<argument index="1" name="pressed" type="bool">
</argument>
<description>
Change the input event to an action event of the given name with the pressed status passed as argument.
</description>
</method>
</methods>
<members>
<member name="ID" type="int">
Event identifier, positive integer increased at each new event.
</member>
<member name="button_index" type="int">
Joystick button identifier, one of the JOY_BUTTON_* constants in [@Global Scope].
</member>
<member name="device" type="int">
Device identifier.
</member>
<member name="pressed" type="bool">
Pressed state of the joystick button.
</member>
<member name="pressure" type="float">
Intensity of the button pressure, ranges from 0 to 1.0.
</member>
<member name="type" type="int">
Type of event (one of the [InputEvent] constants).
</member>
</members>
<constants>
<constant name="NONE" value="0">
Empty input event.
</constant>
<constant name="KEY" value="1">
Key event.
</constant>
<constant name="MOUSE_MOTION" value="2">
Mouse motion event.
</constant>
<constant name="MOUSE_BUTTON" value="3">
Mouse button event.
</constant>
<constant name="JOYSTICK_MOTION" value="4">
Joystick motion event.
</constant>
<constant name="JOYSTICK_BUTTON" value="5">
Joystick button event.
</constant>
<constant name="SCREEN_TOUCH" value="6">
Screen touch event.
</constant>
<constant name="SCREEN_DRAG" value="7">
Screen drag event.
</constant>
<constant name="ACTION" value="8">
Pre-defined action event (see [InputMap]).
</constant>
</constants>
</class>
<class name="InputEventJoystickMotion" category="Built-In Types">
<brief_description>
Built-in input event type for joystick motion/axis events.
</brief_description>
<description>
Input event type for joystick motion/axis events that extends the global [InputEvent] type.
</description>
<methods>
<method name="is_action">
<return type="bool">
</return>
<argument index="0" name="action" type="String">
</argument>
<description>
</description>
</method>
<method name="is_action_pressed">
<return type="bool">
</return>
<argument index="0" name="action" type="String">
</argument>
<description>
Return whether the given action is being pressed.
</description>
</method>
<method name="is_action_released">
<return type="bool">
</return>
<argument index="0" name="action" type="String">
</argument>
<description>
Return whether the given action is released (i.e. not pressed).
</description>
</method>
<method name="is_echo">
<return type="bool">
</return>
<description>
Return if this input event is an echo event (only for events of type KEY, i.e. always false for this type).
</description>
</method>
<method name="is_pressed">
<return type="bool">
</return>
<description>
Return if this input event is pressed.
</description>
</method>
<method name="set_as_action">
<argument index="0" name="action" type="String">
</argument>
<argument index="1" name="pressed" type="bool">
</argument>
<description>
Change the input event to an action event of the given name with the pressed status passed as argument.
</description>
</method>
</methods>
<members>
<member name="ID" type="int">
Event identifier, positive integer increased at each new event.
</member>
<member name="axis" type="int">
Joystick axis identifier, one of the JOY_AXIS_* constants in [@Global Scope].
</member>
<member name="device" type="int">
Device identifier.
</member>
<member name="type" type="int">
Type of event (one of the [InputEvent] constants).
</member>
<member name="value" type="float">
Position of the axis, ranging from -1.0 to 1.0. A value of 0 means that the axis is in its neutral position.
</member>
</members>
<constants>
<constant name="NONE" value="0">
Empty input event.
</constant>
<constant name="KEY" value="1">
Key event.
</constant>
<constant name="MOUSE_MOTION" value="2">
Mouse motion event.
</constant>
<constant name="MOUSE_BUTTON" value="3">
Mouse button event.
</constant>
<constant name="JOYSTICK_MOTION" value="4">
Joystick motion event.
</constant>
<constant name="JOYSTICK_BUTTON" value="5">
Joystick button event.
</constant>
<constant name="SCREEN_TOUCH" value="6">
Screen touch event.
</constant>
<constant name="SCREEN_DRAG" value="7">
Screen drag event.
</constant>
<constant name="ACTION" value="8">
Pre-defined action event (see [InputMap]).
</constant>
</constants>
</class>
<class name="InputEventKey" category="Built-In Types">
<brief_description>
Built-in input event type for keyboard events.
</brief_description>
<description>
Input event type for keyboard events that extends the global [InputEvent] type.
</description>
<methods>
<method name="is_action">
<return type="bool">
</return>
<argument index="0" name="action" type="String">
</argument>
<description>
Return if this input event matches a pre-defined action.
</description>
</method>
<method name="is_action_pressed">
<return type="bool">
</return>
<argument index="0" name="action" type="String">
</argument>
<description>
Return whether the given action is being pressed.
</description>
</method>
<method name="is_action_released">
<return type="bool">
</return>
<argument index="0" name="action" type="String">
</argument>
<description>
Return whether the given action is released (i.e. not pressed).
</description>
</method>
<method name="is_echo">
<return type="bool">
</return>
<description>
Return if this input event is an echo event.
</description>
</method>
<method name="is_pressed">
<return type="bool">
</return>
<description>
Return if this input event is pressed.
</description>
</method>
<method name="set_as_action">
<argument index="0" name="action" type="String">
</argument>
<argument index="1" name="pressed" type="bool">
</argument>
<description>
Change the input event to an action event of the given name with the pressed status passed as argument.
</description>
</method>
</methods>
<members>
<member name="ID" type="int">
Event identifier, positive integer increased at each new event.
</member>
<member name="alt" type="bool">
State of the Alt modifier.
</member>
<member name="control" type="bool">
State of the Ctrl modifier.
</member>
<member name="device" type="int">
Device identifier.
</member>
<member name="echo" type="bool">
Echo state of the key, i.e. whether it's a repeat event or not.
</member>
<member name="meta" type="bool">
State of the Meta modifier.
</member>
<member name="pressed" type="bool">
Pressed state of the key.
</member>
<member name="scancode" type="int">
Scancode of the key, one of the KEY_* constants in [@Global Scope].
</member>
<member name="shift" type="bool">
State of the Shift modifier.
</member>
<member name="type" type="int">
Type of event (one of the [InputEvent] constants).
</member>
<member name="unicode" type="int">
Unicode identifier of the key (when relevant).
</member>
</members>
<constants>
<constant name="NONE" value="0">
Empty input event.
</constant>
<constant name="KEY" value="1">
Key event.
</constant>
<constant name="MOUSE_MOTION" value="2">
Mouse motion event.
</constant>
<constant name="MOUSE_BUTTON" value="3">
Mouse button event.
</constant>
<constant name="JOYSTICK_MOTION" value="4">
Joystick motion event.
</constant>
<constant name="JOYSTICK_BUTTON" value="5">
Joystick button event.
</constant>
<constant name="SCREEN_TOUCH" value="6">
Screen touch event.
</constant>
<constant name="SCREEN_DRAG" value="7">
Screen drag event.
</constant>
<constant name="ACTION" value="8">
Pre-defined action event (see [InputMap]).
</constant>
</constants>
</class>
<class name="InputEventMouseButton" category="Built-In Types">
<brief_description>
Built-in input event type for mouse button events.
</brief_description>
<description>
Input event type for mouse button events that extends the global [InputEvent] type.
</description>
<methods>
<method name="is_action">
<return type="bool">
</return>
<argument index="0" name="action" type="String">
</argument>
<description>
Return if this input event matches a pre-defined action.
</description>
</method>
<method name="is_action_pressed">
<return type="bool">
</return>
<argument index="0" name="action" type="String">
</argument>
<description>
Return whether the given action is being pressed.
</description>
</method>
<method name="is_action_released">
<return type="bool">
</return>
<argument index="0" name="action" type="String">
</argument>
<description>
Return whether the given action is released (i.e. not pressed).
</description>
</method>
<method name="is_echo">
<return type="bool">
</return>
<description>
Return if this input event is an echo event (only for events of type KEY, i.e. always false for this type).
</description>
</method>
<method name="is_pressed">
<return type="bool">
</return>
<description>
Return if this input event is pressed.
</description>
</method>
<method name="set_as_action">
<argument index="0" name="action" type="String">
</argument>
<argument index="1" name="pressed" type="bool">
</argument>
<description>
Change the input event to an action event of the given name with the pressed status passed as argument.
</description>
</method>
</methods>
<members>
<member name="ID" type="int">
Event identifier, positive integer increased at each new event.
</member>
<member name="alt" type="bool">
State of the Alt modifier.
</member>
<member name="button_index" type="int">
Mouse button identifier, one of the BUTTON_* or BUTTON_WHEEL_* constants in [@Global Scope].
</member>
<member name="button_mask" type="int">
Mouse button mask identifier, one of or a bitwise combination of the BUTTON_MASK_* constants in [@Global Scope].
</member>
<member name="control" type="bool">
State of the Control modifier.
</member>
<member name="device" type="int">
Device identifier.
</member>
<member name="doubleclick" type="bool">
Whether the event is a double-click.
</member>
<member name="global_pos" type="Vector2">
Global position of the mouse click.
</member>
<member name="global_x" type="int">
Global X coordinate of the mouse click.
</member>
<member name="global_y" type="int">
Global Y coordinate of the mouse click.
</member>
<member name="meta" type="bool">
State of the Meta modifier.
</member>
<member name="pos" type="Vector2">
Local position of the mouse click.
</member>
<member name="pressed" type="bool">
Pressed state of the mouse button.
</member>
<member name="shift" type="bool">
State of the Shift modifier.
</member>
<member name="type" type="int">
Type of event (one of the [InputEvent] constants).
</member>
<member name="x" type="int">
Local X coordinate of the mouse click.
</member>
<member name="y" type="int">
Local Y coordinate of the mouse click.
</member>
</members>
<constants>
<constant name="NONE" value="0">
Empty input event.
</constant>
<constant name="KEY" value="1">
Key event.
</constant>
<constant name="MOUSE_MOTION" value="2">
Mouse motion event.
</constant>
<constant name="MOUSE_BUTTON" value="3">
Mouse button event.
</constant>
<constant name="JOYSTICK_MOTION" value="4">
Joystick motion event.
</constant>
<constant name="JOYSTICK_BUTTON" value="5">
Joystick button event.
</constant>
<constant name="SCREEN_TOUCH" value="6">
Screen touch event.
</constant>
<constant name="SCREEN_DRAG" value="7">
Screen drag event.
</constant>
<constant name="ACTION" value="8">
Pre-defined action event (see [InputMap]).
</constant>
</constants>
</class>
<class name="InputEventMouseMotion" category="Built-In Types">
<brief_description>
Built-in input event type for mouse motion events.
</brief_description>
<description>
Input event type for mouse motion events that extends the global [InputEvent] type.
</description>
<methods>
<method name="is_action">
<return type="bool">
</return>
<argument index="0" name="action" type="String">
</argument>
<description>
Return if this input event matches a pre-defined action.
</description>
</method>
<method name="is_action_pressed">
<return type="bool">
</return>
<argument index="0" name="action" type="String">
</argument>
<description>
Return whether the given action is being pressed. Not relevant for MOUSE_MOTION events, always false.
</description>
</method>
<method name="is_action_released">
<return type="bool">
</return>
<argument index="0" name="action" type="String">
</argument>
<description>
Return whether the given action is released (i.e. not pressed). Not relevant for MOUSE_MOTION events, can be true or false depending on whether [method is_action] is true.
</description>
</method>
<method name="is_echo">
<return type="bool">
</return>
<description>
Return if this input event is an echo event (only for events of type KEY, i.e. always false for this type).
</description>
</method>
<method name="is_pressed">
<return type="bool">
</return>
<description>
Return if this input event is pressed. Not relevant for MOUSE_MOTION events, always false.
</description>
</method>
<method name="set_as_action">
<argument index="0" name="action" type="String">
</argument>
<argument index="1" name="pressed" type="bool">
</argument>
<description>
Change the input event to an action event of the given name with the (irrelevant for this type) pressed status passed as argument.
</description>
</method>
</methods>
<members>
<member name="ID" type="int">
Event identifier, positive integer increased at each new event.
</member>
<member name="alt" type="bool">
State of the Alt modifier.
</member>
<member name="button_mask" type="int">
Mouse button mask identifier, one of or a bitwise combination of the BUTTON_MASK_* constants in [@Global Scope].
</member>
<member name="control" type="bool">
State of the Ctrl modifier.
</member>
<member name="device" type="int">
Device identifier.
</member>
<member name="global_pos" type="Vector2">
Global position of the mouse pointer.
</member>
<member name="global_x" type="int">
Global X coordinate of the mouse pointer.
</member>
<member name="global_y" type="int">
Global Y coordinate of the mouse pointer.
</member>
<member name="meta" type="bool">
State of the Meta modifier.
</member>
<member name="pos" type="Vector2">
Local position of the mouse pointer.
</member>
<member name="relative_pos" type="Vector2">
Position of the mouse pointer relative to the previous mouse position.
</member>
<member name="relative_x" type="int">
X coordinate of the mouse pointer relative to the previous mouse position.
</member>
<member name="relative_y" type="int">
Y coordinate of the mouse pointer relative to the previous mouse position.
</member>
<member name="shift" type="bool">
State of the Shift modifier.
</member>
<member name="speed" type="Vector2">
Speed of the mouse pointer.
</member>
<member name="speed_x" type="float">
Speed of the mouse pointer on the X axis.
</member>
<member name="speed_y" type="float">
Speed of the mouse pointer on the Y axis.
</member>
<member name="type" type="int">
Type of event (one of the [InputEvent] constants).
</member>
<member name="x" type="int">
Local X coordinate of the mouse pointer.
</member>
<member name="y" type="int">
Local Y coordinate of the mouse pointer.
</member>
</members>
<constants>
<constant name="NONE" value="0">
Empty input event.
</constant>
<constant name="KEY" value="1">
Key event.
</constant>
<constant name="MOUSE_MOTION" value="2">
Mouse motion event.
</constant>
<constant name="MOUSE_BUTTON" value="3">
Mouse button event.
</constant>
<constant name="JOYSTICK_MOTION" value="4">
Joystick motion event.
</constant>
<constant name="JOYSTICK_BUTTON" value="5">
Joystick button event.
</constant>
<constant name="SCREEN_TOUCH" value="6">
Screen touch event.
</constant>
<constant name="SCREEN_DRAG" value="7">
Screen drag event.
</constant>
<constant name="ACTION" value="8">
Pre-defined action event (see [InputMap]).
</constant>
</constants>
</class>
<class name="InputEventScreenDrag" category="Built-In Types">
<brief_description>
Built-in input event type for screen drag events.
</brief_description>
<description>
Input event type for screen drag events that extends the global [InputEvent] type.
</description>
<methods>
<method name="is_action">
<return type="bool">
</return>
<argument index="0" name="action" type="String">
</argument>
<description>
Return if this input event matches a pre-defined action.
</description>
</method>
<method name="is_action_pressed">
<return type="bool">
</return>
<argument index="0" name="action" type="String">
</argument>
<description>
Return whether the given action is being pressed. Not relevant for SCREEN_DRAG events, always false.
</description>
</method>
<method name="is_action_released">
<return type="bool">
</return>
<argument index="0" name="action" type="String">
</argument>
<description>
Return whether the given action is released (i.e. not pressed). Not relevant for SCREEN_DRAG events, can be true or false depending on whether [method is_action] is true.
</description>
</method>
<method name="is_echo">
<return type="bool">
</return>
<description>
Return if this input event is an echo event (only for events of type KEY, i.e. always false for this type).
</description>
</method>
<method name="is_pressed">
<return type="bool">
</return>
<description>
Return if this input event is pressed. Not relevant for SCREEN_DRAG events, always false.
</description>
</method>
<method name="set_as_action">
<argument index="0" name="action" type="String">
</argument>
<argument index="1" name="pressed" type="bool">
</argument>
<description>
Change the input event to an action event of the given name with the (irrelevant for this type) pressed status passed as argument.
</description>
</method>
</methods>
<members>
<member name="ID" type="int">
Event identifier, positive integer increased at each new event.
</member>
<member name="device" type="int">
Device identifier.
</member>
<member name="index" type="int">
Drag event index in the case of a multi-drag event.
</member>
<member name="pos" type="Vector2">
Position of the drag event.
</member>
<member name="relative_pos" type="Vector2">
Position of the drag event relative to its start position.
</member>
<member name="relative_x" type="float">
X coordinate of the drag event relative to its start position.
</member>
<member name="relative_y" type="float">
Y coordinate of the drag event relative to its start position.
</member>
<member name="speed" type="Vector2">
Speed of the drag event.
</member>
<member name="speed_x" type="float">
Speed of the drag event on the X axis.
</member>
<member name="speed_y" type="float">
Speed of the drag event on the Y axis.
</member>
<member name="type" type="int">
Type of event (one of the [InputEvent] constants).
</member>
<member name="x" type="float">
X coordinate of the drag event.
</member>
<member name="y" type="float">
Y coordinate of the drag event.
</member>
</members>
<constants>
<constant name="NONE" value="0">
Empty input event.
</constant>
<constant name="KEY" value="1">
Key event.
</constant>
<constant name="MOUSE_MOTION" value="2">
Mouse motion event.
</constant>
<constant name="MOUSE_BUTTON" value="3">
Mouse button event.
</constant>
<constant name="JOYSTICK_MOTION" value="4">
Joystick motion event.
</constant>
<constant name="JOYSTICK_BUTTON" value="5">
Joystick button event.
</constant>
<constant name="SCREEN_TOUCH" value="6">
Screen touch event.
</constant>
<constant name="SCREEN_DRAG" value="7">
Screen drag event.
</constant>
<constant name="ACTION" value="8">
Pre-defined action event (see [InputMap]).
</constant>
</constants>
</class>
<class name="InputEventScreenTouch" category="Built-In Types">
<brief_description>
Built-in input event type for touchscreen drag events.
</brief_description>
<description>
Input event type for touchscreen drag events that extends the global [InputEvent] type.
</description>
<methods>
<method name="is_action">
<return type="bool">
</return>
<argument index="0" name="action" type="String">
</argument>
<description>
Return if this input event matches a pre-defined action.
</description>
</method>
<method name="is_action_pressed">
<return type="bool">
</return>
<argument index="0" name="action" type="String">
</argument>
<description>
Return whether the given action is being pressed.
</description>
</method>
<method name="is_action_released">
<return type="bool">
</return>
<argument index="0" name="action" type="String">
</argument>
<description>
Return whether the given action is released (i.e. not pressed).
</description>
</method>
<method name="is_echo">
<return type="bool">
</return>
<description>
Return if this input event is an echo event (only for events of type KEY, i.e. always false for this type).
</description>
</method>
<method name="is_pressed">
<return type="bool">
</return>
<description>
Return if this input event is pressed.
</description>
</method>
<method name="set_as_action">
<argument index="0" name="action" type="String">
</argument>
<argument index="1" name="pressed" type="bool">
</argument>
<description>
Change the input event to an action event of the given name with the pressed status passed as argument.
</description>
</method>
</methods>
<members>
<member name="ID" type="int">
Event identifier, positive integer increased at each new event.
</member>
<member name="device" type="int">
Device identifier.
</member>
<member name="index" type="int">
Touch event index in the case of a multi-touch event.
</member>
<member name="pos" type="Vector2">
Position of the touch event.
</member>
<member name="pressed" type="bool">
Pressed state of the touch event.
</member>
<member name="type" type="int">
Type of event (one of the [InputEvent] constants).
</member>
<member name="x" type="float">
X coordinate of the touch event.
</member>
<member name="y" type="float">
Y coordinate of the touch event.
</member>
</members>
<constants>
<constant name="NONE" value="0">
Empty input event.
</constant>
<constant name="KEY" value="1">
Key event.
</constant>
<constant name="MOUSE_MOTION" value="2">
Mouse motion event.
</constant>
<constant name="MOUSE_BUTTON" value="3">
Mouse button event.
</constant>
<constant name="JOYSTICK_MOTION" value="4">
Joystick motion event.
</constant>
<constant name="JOYSTICK_BUTTON" value="5">
Joystick button event.
</constant>
<constant name="SCREEN_TOUCH" value="6">
Screen touch event.
</constant>
<constant name="SCREEN_DRAG" value="7">
Screen drag event.
</constant>
<constant name="ACTION" value="8">
Pre-defined action event (see [InputMap]).
</constant>
</constants>
</class>
<class name="InputMap" inherits="Object" category="Core">
<brief_description>
Singleton that manages actions.
</brief_description>
<description>
Singleton that manages actions. InputMap has a list of the actions used in InputEvent, which can be modified.
</description>
<methods>
<method name="action_add_event">
<argument index="0" name="action" type="String">
</argument>
<argument index="1" name="event" type="InputEvent">
</argument>
<description>
Add an [InputEvent] to an action. This [InputEvent] will trigger the action.
</description>
</method>
<method name="action_erase_event">
<argument index="0" name="action" type="String">
</argument>
<argument index="1" name="event" type="InputEvent">
</argument>
<description>
Remove an [InputEvent] from an action.
</description>
</method>
<method name="action_has_event">
<return type="bool">
</return>
<argument index="0" name="action" type="String">
</argument>
<argument index="1" name="event" type="InputEvent">
</argument>
<description>
Whether an action has an [InputEvent] associated with it.
</description>
</method>
<method name="add_action">
<argument index="0" name="action" type="String">
</argument>
<description>
Add an (empty) action to the [InputMap]. An [InputEvent] can then be added to this action with [method action_add_event].
</description>
</method>
<method name="erase_action">
<argument index="0" name="action" type="String">
</argument>
<description>
Remove an action from the [InputMap].
</description>
</method>
<method name="event_is_action" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="event" type="InputEvent">
</argument>
<argument index="1" name="action" type="String">
</argument>
<description>
Return whether the given event is part of an existing action.
</description>
</method>
<method name="get_action_from_id" qualifiers="const">
<return type="String">
</return>
<argument index="0" name="id" type="int">
</argument>
<description>
Return the action corresponding to the identifier.
</description>
</method>
<method name="get_action_id" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="action" type="String">
</argument>
<description>
Return the identifier of the given action.
</description>
</method>
<method name="get_action_list">
<return type="Array">
</return>
<argument index="0" name="action" type="String">
</argument>
<description>
Return an array of InputEvents associated with a given action.
</description>
</method>
<method name="get_actions">
<return type="Array">
</return>
<description>
Return an array of all actions in the [InputMap].
</description>
</method>
<method name="has_action" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="action" type="String">
</argument>
<description>
Whether this InputMap has a registered action with the given name.
</description>
</method>
<method name="load_from_globals">
<description>
Clear the [InputMap] and load it anew from [Globals].
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="InstancePlaceholder" inherits="Node" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
<method name="get_instance_path" qualifiers="const">
<return type="String">
</return>
<description>
</description>
</method>
<method name="replace_by_instance">
<argument index="0" name="custom_scene" type="PackedScene" default="NULL">
</argument>
<description>
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="IntArray" category="Built-In Types">
<brief_description>
Integer Array.
</brief_description>
<description>
Integer Array. Array of integers. Can only contain integers. Optimized for memory usage, can't fragment the memory.
</description>
<methods>
<method name="IntArray">
<return type="IntArray">
</return>
<argument index="0" name="from" type="Array">
</argument>
<description>
Create from a generic array.
</description>
</method>
<method name="push_back">
<argument index="0" name="integer" type="int">
</argument>
<description>
Append a value to the array.
</description>
</method>
<method name="resize">
<argument index="0" name="idx" type="int">
</argument>
<description>
Set the size of the [IntArray]. If larger than the current size it will reserve some space beforehand, and if it is smaller it will cut off the array.
</description>
</method>
<method name="set">
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="integer" type="int">
</argument>
<description>
Change the int at the given index.
</description>
</method>
<method name="size">
<return type="int">
</return>
<description>
Return the array size.
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="InterpolatedCamera" inherits="Camera" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
<method name="get_speed" qualifiers="const">
<return type="float">
</return>
<description>
</description>
</method>
<method name="get_target_path" qualifiers="const">
<return type="NodePath">
</return>
<description>
</description>
</method>
<method name="is_interpolation_enabled" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="set_interpolation_enabled">
<argument index="0" name="target_path" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_speed">
<argument index="0" name="speed" type="float">
</argument>
<description>
</description>
</method>
<method name="set_target">
<argument index="0" name="target" type="Camera">
</argument>
<description>
</description>
</method>
<method name="set_target_path">
<argument index="0" name="target_path" type="NodePath">
</argument>
<description>
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="ItemList" inherits="Control" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
<method name="add_icon_item">
<argument index="0" name="icon" type="Texture">
</argument>
<argument index="1" name="selectable" type="bool" default="true">
</argument>
<description>
</description>
</method>
<method name="add_item">
<argument index="0" name="text" type="String">
</argument>
<argument index="1" name="icon" type="Texture" default="NULL">
</argument>
<argument index="2" name="selectable" type="bool" default="true">
</argument>
<description>
</description>
</method>
<method name="clear">
<description>
</description>
</method>
<method name="ensure_current_is_visible">
<description>
</description>
</method>
<method name="get_fixed_column_width" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_icon_mode" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_item_count" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_item_custom_bg_color" qualifiers="const">
<return type="Color">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
</description>
</method>
<method name="get_item_icon" qualifiers="const">
<return type="Texture">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
</description>
</method>
<method name="get_item_metadata" qualifiers="const">
<argument index="0" name="idx" type="int">
</argument>
<description>
</description>
</method>
<method name="get_item_text" qualifiers="const">
<return type="String">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
</description>
</method>
<method name="get_item_tooltip" qualifiers="const">
<return type="String">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
</description>
</method>
<method name="get_max_columns" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_max_text_lines" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_min_icon_size" qualifiers="const">
<return type="Vector2">
</return>
<description>
</description>
</method>
<method name="get_select_mode" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="is_item_disabled" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
</description>
</method>
<method name="is_item_selectable" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
</description>
</method>
<method name="is_selected" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
</description>
</method>
<method name="remove_item">
<argument index="0" name="idx" type="int">
</argument>
<description>
</description>
</method>
<method name="select">
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="single" type="bool" default="true">
</argument>
<description>
</description>
</method>
<method name="set_fixed_column_width">
<argument index="0" name="width" type="int">
</argument>
<description>
</description>
</method>
<method name="set_icon_mode">
<argument index="0" name="mode" type="int">
</argument>
<description>
</description>
</method>
<method name="set_item_custom_bg_color">
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="custom_bg_color" type="Color">
</argument>
<description>
</description>
</method>
<method name="set_item_disabled">
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="disabled" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_item_icon">
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="icon" type="Texture">
</argument>
<description>
</description>
</method>
<method name="set_item_metadata">
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="metadata" type="var">
</argument>
<description>
</description>
</method>
<method name="set_item_selectable">
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="selectable" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_item_text">
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="text" type="String">
</argument>
<description>
</description>
</method>
<method name="set_item_tooltip">
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="tooltip" type="String">
</argument>
<description>
</description>
</method>
<method name="set_max_columns">
<argument index="0" name="amount" type="int">
</argument>
<description>
</description>
</method>
<method name="set_max_text_lines">
<argument index="0" name="lines" type="int">
</argument>
<description>
</description>
</method>
<method name="set_min_icon_size">
<argument index="0" name="size" type="Vector2">
</argument>
<description>
</description>
</method>
<method name="set_select_mode">
<argument index="0" name="mode" type="int">
</argument>
<description>
</description>
</method>
<method name="sort_items_by_text">
<description>
</description>
</method>
<method name="unselect">
<argument index="0" name="idx" type="int">
</argument>
<description>
</description>
</method>
</methods>
<signals>
<signal name="item_activated">
<argument index="0" name="index" type="int">
</argument>
<description>
</description>
</signal>
<signal name="item_selected">
<argument index="0" name="index" type="int">
</argument>
<description>
</description>
</signal>
<signal name="multi_selected">
<argument index="0" name="index" type="int">
</argument>
<argument index="1" name="selected" type="bool">
</argument>
<description>
</description>
</signal>
</signals>
<constants>
<constant name="ICON_MODE_TOP" value="0">
</constant>
<constant name="ICON_MODE_LEFT" value="1">
</constant>
<constant name="SELECT_SINGLE" value="0">
</constant>
<constant name="SELECT_MULTI" value="1">
</constant>
</constants>
<theme_items>
<theme_item name="bg" type="StyleBox">
</theme_item>
<theme_item name="bg_focus" type="StyleBox">
</theme_item>
<theme_item name="cursor" type="StyleBox">
</theme_item>
<theme_item name="cursor_unfocused" type="StyleBox">
</theme_item>
<theme_item name="font" type="Font">
</theme_item>
<theme_item name="font_color" type="Color">
</theme_item>
<theme_item name="font_color_selected" type="Color">
</theme_item>
<theme_item name="guide_color" type="Color">
</theme_item>
<theme_item name="hseparation" type="int">
</theme_item>
<theme_item name="icon_margin" type="int">
</theme_item>
<theme_item name="line_separation" type="int">
</theme_item>
<theme_item name="selected" type="StyleBox">
</theme_item>
<theme_item name="selected_focus" type="StyleBox">
</theme_item>
<theme_item name="vseparation" type="int">
</theme_item>
</theme_items>
</class>
<class name="Joint" inherits="Spatial" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
<method name="get_exclude_nodes_from_collision" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="get_node_a" qualifiers="const">
<return type="NodePath">
</return>
<description>
</description>
</method>
<method name="get_node_b" qualifiers="const">
<return type="NodePath">
</return>
<description>
</description>
</method>
<method name="get_solver_priority" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="set_exclude_nodes_from_collision">
<argument index="0" name="enable" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_node_a">
<argument index="0" name="node" type="NodePath">
</argument>
<description>
</description>
</method>
<method name="set_node_b">
<argument index="0" name="node" type="NodePath">
</argument>
<description>
</description>
</method>
<method name="set_solver_priority">
<argument index="0" name="priority" type="int">
</argument>
<description>
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="Joint2D" inherits="Node2D" category="Core">
<brief_description>
Base node for all joint constraints in 2D physics.
</brief_description>
<description>
Base node for all joint constraints in 2D physics. Joints take 2 bodies and apply a custom constraint.
</description>
<methods>
<method name="get_bias" qualifiers="const">
<return type="float">
</return>
<description>
</description>
</method>
<method name="get_exclude_nodes_from_collision" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="get_node_a" qualifiers="const">
<return type="NodePath">
</return>
<description>
Return the path to the A node for the joint.
</description>
</method>
<method name="get_node_b" qualifiers="const">
<return type="NodePath">
</return>
<description>
Return the path to the B node for the joint.
</description>
</method>
<method name="set_bias">
<argument index="0" name="bias" type="float">
</argument>
<description>
</description>
</method>
<method name="set_exclude_nodes_from_collision">
<argument index="0" name="enable" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_node_a">
<argument index="0" name="node" type="NodePath">
</argument>
<description>
Set the path to the A node for the joint. Must be of type [PhysicsBody2D].
</description>
</method>
<method name="set_node_b">
<argument index="0" name="node" type="NodePath">
</argument>
<description>
Set the path to the B node for the joint. Must be of type [PhysicsBody2D].
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="KinematicBody" inherits="PhysicsBody" category="Core">
<brief_description>
Kinematic body 3D node.
</brief_description>
<description>
Kinematic bodies are special types of bodies that are meant to be user-controlled. They are not affected by physics at all (to other types of bodies, such a character or a rigid body, these are the same as a static body). They have however, two main uses:
Simulated Motion: When these bodies are moved manually, either from code or from an AnimationPlayer (with process mode set to fixed), the physics will automatically compute an estimate of their linear and angular velocity. This makes them very useful for moving platforms or other AnimationPlayer-controlled objects (like a door, a bridge that opens, etc).
Kinematic Characters: KinematicBody also has an api for moving objects (the [method move] method) while performing collision tests. This makes them really useful to implement characters that collide against a world, but that don't require advanced physics.
</description>
<methods>
<method name="can_collide_with_character_bodies" qualifiers="const">
<return type="bool">
</return>
<description>
Return if this body can collide with character bodies.
</description>
</method>
<method name="can_collide_with_kinematic_bodies" qualifiers="const">
<return type="bool">
</return>
<description>
Return if this body can collide with kinematic bodies.
</description>
</method>
<method name="can_collide_with_rigid_bodies" qualifiers="const">
<return type="bool">
</return>
<description>
Return if this body can collide with rigid bodies.
</description>
</method>
<method name="can_collide_with_static_bodies" qualifiers="const">
<return type="bool">
</return>
<description>
Return if this body can collide with static bodies.
</description>
</method>
<method name="can_teleport_to">
<return type="bool">
</return>
<argument index="0" name="position" type="Vector3">
</argument>
<description>
Returns whether the KinematicBody can be teleported to the destination given as an argument, checking all collision shapes of the body against potential colliders at the destination.
</description>
</method>
<method name="get_collider" qualifiers="const">
<return type="Object">
</return>
<description>
Return the body that collided with this one.
</description>
</method>
<method name="get_collider_shape" qualifiers="const">
<return type="int">
</return>
<description>
Return the shape index from the body that collided with this one. If there is no collision, this method will return 0, so collisions must be checked first with [method is_colliding].
</description>
</method>
<method name="get_collider_velocity" qualifiers="const">
<return type="Vector3">
</return>
<description>
Return the velocity of the body that collided with this one.
</description>
</method>
<method name="get_collision_margin" qualifiers="const">
<return type="float">
</return>
<description>
Return the collision margin for this object.
</description>
</method>
<method name="get_collision_normal" qualifiers="const">
<return type="Vector3">
</return>
<description>
Return the normal of the surface the body collided with. This is useful to implement sliding along a surface.
</description>
</method>
<method name="get_collision_pos" qualifiers="const">
<return type="Vector3">
</return>
<description>
Return the point in space where the body is touching another. If there is no collision, this method will return (0,0,0), so collisions must be checked first with [method is_colliding].
</description>
</method>
<method name="is_colliding" qualifiers="const">
<return type="bool">
</return>
<description>
Return whether the body is colliding with another.
</description>
</method>
<method name="move">
<return type="Vector3">
</return>
<argument index="0" name="rel_vec" type="Vector3">
</argument>
<description>
Move the body in the given direction, stopping if there is an obstacle. The returned vector is how much movement was remaining before being stopped.
</description>
</method>
<method name="move_to">
<return type="Vector3">
</return>
<argument index="0" name="position" type="Vector3">
</argument>
<description>
Move the body to the given position. This is not a teleport, and the body will stop if there is an obstacle. The returned vector is how much movement was remaining before being stopped.
</description>
</method>
<method name="set_collide_with_character_bodies">
<argument index="0" name="enable" type="bool">
</argument>
<description>
Set if this body should collide with character bodies.
</description>
</method>
<method name="set_collide_with_kinematic_bodies">
<argument index="0" name="enable" type="bool">
</argument>
<description>
Set if this body should collide with kinematic bodies.
</description>
</method>
<method name="set_collide_with_rigid_bodies">
<argument index="0" name="enable" type="bool">
</argument>
<description>
Set if this body should collide with rigid bodies.
</description>
</method>
<method name="set_collide_with_static_bodies">
<argument index="0" name="enable" type="bool">
</argument>
<description>
Set if this body should collide with static bodies.
</description>
</method>
<method name="set_collision_margin">
<argument index="0" name="pixels" type="float">
</argument>
<description>
Set the collision margin for this object. A collision margin is an amount that all shapes will grow when computing collisions, to account for numerical imprecision.
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="KinematicBody2D" inherits="PhysicsBody2D" category="Core">
<brief_description>
Kinematic body 2D node.
</brief_description>
<description>
Kinematic bodies are special types of bodies that are meant to be user-controlled. They are not affected by physics at all (to other types of bodies, such a character or a rigid body, these are the same as a static body). They have however, two main uses:
Simulated Motion: When these bodies are moved manually, either from code or from an AnimationPlayer (with process mode set to fixed), the physics will automatically compute an estimate of their linear and angular velocity. This makes them very useful for moving platforms or other AnimationPlayer-controlled objects (like a door, a bridge that opens, etc).
Kinematic Characters: KinematicBody2D also has an api for moving objects (the [method move] method) while performing collision tests. This makes them really useful to implement characters that collide against a world, but that don't require advanced physics.
</description>
<methods>
<method name="get_collider" qualifiers="const">
<return type="Object">
</return>
<description>
Return the body that collided with this one.
</description>
</method>
<method name="get_collider_metadata" qualifiers="const">
<return type="Variant">
</return>
<description>
Return the metadata of the shape that collided with this body. If there is no collision, it will return 0, so collisions must be checked first with [method is_colliding]. Additionally, this metadata can not be set with [method Object.set_meta], it must be set with [method Physics2DServer.body_set_shape_metadata].
</description>
</method>
<method name="get_collider_shape" qualifiers="const">
<return type="int">
</return>
<description>
Return the shape index from the body that collided with this one. If there is no collision, this method will return 0, so collisions must be checked first with [method is_colliding].
</description>
</method>
<method name="get_collider_velocity" qualifiers="const">
<return type="Vector2">
</return>
<description>
Return the velocity of the body that collided with this one.
</description>
</method>
<method name="get_collision_margin" qualifiers="const">
<return type="float">
</return>
<description>
Return the collision margin for this object.
</description>
</method>
<method name="get_collision_normal" qualifiers="const">
<return type="Vector2">
</return>
<description>
Return the normal of the surface the body collided with. This is useful to implement sliding along a surface.
</description>
</method>
<method name="get_collision_pos" qualifiers="const">
<return type="Vector2">
</return>
<description>
Return the point in space where the body is touching another. If there is no collision, this method will return (0,0), so collisions must be checked first with [method is_colliding].
</description>
</method>
<method name="get_travel" qualifiers="const">
<return type="Vector2">
</return>
<description>
Return the last movement done by the body.
</description>
</method>
<method name="is_colliding" qualifiers="const">
<return type="bool">
</return>
<description>
Return whether the body is colliding with another.
</description>
</method>
<method name="move">
<return type="Vector2">
</return>
<argument index="0" name="rel_vec" type="Vector2">
</argument>
<description>
Move the body in the given direction, stopping if there is an obstacle. The returned vector is how much movement was remaining before being stopped.
</description>
</method>
<method name="move_to">
<return type="Vector2">
</return>
<argument index="0" name="position" type="Vector2">
</argument>
<description>
Move the body to the given position. This is not a teleport, and the body will stop if there is an obstacle. The returned vector is how much movement was remaining before being stopped.
</description>
</method>
<method name="revert_motion">
<description>
Undo the last movement done by the body.
</description>
</method>
<method name="set_collision_margin">
<argument index="0" name="pixels" type="float">
</argument>
<description>
Set the collision margin for this object. A collision margin is an amount (in pixels) that all shapes will grow when computing collisions, to account for numerical imprecision.
</description>
</method>
<method name="test_move">
<return type="bool">
</return>
<argument index="0" name="rel_vec" type="Vector2">
</argument>
<description>
Return true if there would be a collision if the body moved in the given direction.
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="Label" inherits="Control" category="Core">
<brief_description>
Control that displays formatted text.
</brief_description>
<description>
Label is a control that displays formatted text, optionally autowrapping it to the [Control] area. It inherits from range to be able to scroll wrapped text vertically.
</description>
<methods>
<method name="get_align" qualifiers="const">
<return type="int">
</return>
<description>
Return the alignment mode (any of the ALIGN_* enumeration values).
</description>
</method>
<method name="get_line_count" qualifiers="const">
<return type="int">
</return>
<description>
Return the amount of lines.
</description>
</method>
<method name="get_line_height" qualifiers="const">
<return type="int">
</return>
<description>
Return the height of a line.
</description>
</method>
<method name="get_lines_skipped" qualifiers="const">
<return type="int">
</return>
<description>
Return the the number of lines to skipped before displaying.
</description>
</method>
<method name="get_max_lines_visible" qualifiers="const">
<return type="int">
</return>
<description>
Return the restricted number of lines to display. Returns -1 if unrestricted.
</description>
</method>
<method name="get_percent_visible" qualifiers="const">
<return type="float">
</return>
<description>
Return the restricted number of characters to display (as a percentage of the total text).
</description>
</method>
<method name="get_text" qualifiers="const">
<return type="String">
</return>
<description>
Return the label text. Text can contain newlines.
</description>
</method>
<method name="get_total_character_count" qualifiers="const">
<return type="int">
</return>
<description>
Return the total length of the text.
</description>
</method>
<method name="get_valign" qualifiers="const">
<return type="int">
</return>
<description>
Return the vertical alignment mode (any of the VALIGN_* enumeration values).
</description>
</method>
<method name="get_visible_characters" qualifiers="const">
<return type="int">
</return>
<description>
Return the restricted number of characters to display. Returns -1 if unrestricted.
</description>
</method>
<method name="has_autowrap" qualifiers="const">
<return type="bool">
</return>
<description>
Return the state of the [i]autowrap[/i] mode (see [method set_autowrap]).
</description>
</method>
<method name="is_clipping_text" qualifiers="const">
<return type="bool">
</return>
<description>
Return true if text would be cut off if it is too wide.
</description>
</method>
<method name="is_uppercase" qualifiers="const">
<return type="bool">
</return>
<description>
Return true if text is displayed in all capitals.
</description>
</method>
<method name="set_align">
<argument index="0" name="align" type="int">
</argument>
<description>
Sets the alignment mode to any of the ALIGN_* enumeration values.
</description>
</method>
<method name="set_autowrap">
<argument index="0" name="enable" type="bool">
</argument>
<description>
Set [i]autowrap[/i] mode. When enabled, autowrap will fit text to the control width, breaking sentences when they exceed the available horizontal space. When disabled, the label minimum width becomes the width of the longest row, and the minimum height large enough to fit all rows.
</description>
</method>
<method name="set_clip_text">
<argument index="0" name="enable" type="bool">
</argument>
<description>
Cuts off the rest of the text if it is too wide.
</description>
</method>
<method name="set_lines_skipped">
<argument index="0" name="lines_skipped" type="int">
</argument>
<description>
Sets the number of lines to skip before displaying. Useful for scrolling text.
</description>
</method>
<method name="set_max_lines_visible">
<argument index="0" name="lines_visible" type="int">
</argument>
<description>
Restricts the number of lines to display. Set to -1 to disable.
</description>
</method>
<method name="set_percent_visible">
<argument index="0" name="percent_visible" type="float">
</argument>
<description>
Restricts the number of characters to display (as a percentage of the total text).
</description>
</method>
<method name="set_text">
<argument index="0" name="text" type="String">
</argument>
<description>
Set the label text. Text can contain newlines.
</description>
</method>
<method name="set_uppercase">
<argument index="0" name="enable" type="bool">
</argument>
<description>
Display text in all capitals.
</description>
</method>
<method name="set_valign">
<argument index="0" name="valign" type="int">
</argument>
<description>
Sets the vertical alignment mode to any of the VALIGN_* enumeration values.
</description>
</method>
<method name="set_visible_characters">
<argument index="0" name="amount" type="int">
</argument>
<description>
Restricts the number of characters to display. Set to -1 to disable.
</description>
</method>
</methods>
<constants>
<constant name="ALIGN_LEFT" value="0">
Align rows to the left (default).
</constant>
<constant name="ALIGN_CENTER" value="1">
Align rows centered.
</constant>
<constant name="ALIGN_RIGHT" value="2">
Align rows to the right (default).
</constant>
<constant name="ALIGN_FILL" value="3">
Expand row whitespaces to fit the width.
</constant>
<constant name="VALIGN_TOP" value="0">
Align the whole text to the top.
</constant>
<constant name="VALIGN_CENTER" value="1">
Align the whole text to the center.
</constant>
<constant name="VALIGN_BOTTOM" value="2">
Align the whole text to the bottom.
</constant>
<constant name="VALIGN_FILL" value="3">
Align the whole text by spreading the rows.
</constant>
</constants>
<theme_items>
<theme_item name="font" type="Font">
</theme_item>
<theme_item name="font_color" type="Color">
</theme_item>
<theme_item name="font_color_shadow" type="Color">
</theme_item>
<theme_item name="shadow_as_outline" type="int">
</theme_item>
<theme_item name="shadow_offset_x" type="int">
</theme_item>
<theme_item name="shadow_offset_y" type="int">
</theme_item>
</theme_items>
</class>
<class name="LargeTexture" inherits="Texture" category="Core">
<brief_description>
A Texture capable of storing many smaller Textures with offsets.
</brief_description>
<description>
A Texture capable of storing many smaller Textures with offsets.
You can dynamically add pieces(Textures) to this fLargeTexture] using different offsets.
</description>
<methods>
<method name="add_piece">
<return type="int">
</return>
<argument index="0" name="ofs" type="Vector2">
</argument>
<argument index="1" name="texture" type="Texture">
</argument>
<description>
Add another [Texture] to this [LargeTexture], starting on offset "ofs".
</description>
</method>
<method name="clear">
<description>
Clear the [LargeTexture].
</description>
</method>
<method name="get_piece_count" qualifiers="const">
<return type="int">
</return>
<description>
Return the number of pieces currently in this [LargeTexture].
</description>
</method>
<method name="get_piece_offset" qualifiers="const">
<return type="Vector2">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
Return the offset of the piece with index "idx".
</description>
</method>
<method name="get_piece_texture" qualifiers="const">
<return type="Texture">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
Return the [Texture] of the piece with index "idx".
</description>
</method>
<method name="set_piece_offset">
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="ofs" type="Vector2">
</argument>
<description>
Set the offset of the piece with index "idx" to "ofs".
</description>
</method>
<method name="set_piece_texture">
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="texture" type="Texture">
</argument>
<description>
Set the [Texture] of the piece with index "idx" to "ofs".
</description>
</method>
<method name="set_size">
<argument index="0" name="size" type="Vector2">
</argument>
<description>
Set the size of this [LargeTexture].
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="Light" inherits="VisualInstance" category="Core">
<brief_description>
Provides a base class for different kinds of light nodes.
</brief_description>
<description>
Light is the abstract base class for light nodes, so it shouldn't be used directly (It can't be instanced). Other types of light nodes inherit from it. Light contains the common variables and parameters used for lighting.
</description>
<methods>
<method name="get_bake_mode" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_color" qualifiers="const">
<return type="Color">
</return>
<argument index="0" name="color" type="int">
</argument>
<description>
</description>
</method>
<method name="get_operator" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_parameter" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="variable" type="int">
</argument>
<description>
</description>
</method>
<method name="get_projector" qualifiers="const">
<return type="Texture">
</return>
<description>
</description>
</method>
<method name="has_project_shadows" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="is_editor_only" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="is_enabled" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="set_bake_mode">
<argument index="0" name="bake_mode" type="int">
</argument>
<description>
</description>
</method>
<method name="set_color">
<argument index="0" name="color" type="int">
</argument>
<argument index="1" name="value" type="Color">
</argument>
<description>
</description>
</method>
<method name="set_editor_only">
<argument index="0" name="editor_only" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_enabled">
<argument index="0" name="enabled" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_operator">
<argument index="0" name="operator" type="int">
</argument>
<description>
</description>
</method>
<method name="set_parameter">
<argument index="0" name="variable" type="int">
</argument>
<argument index="1" name="value" type="float">
</argument>
<description>
</description>
</method>
<method name="set_project_shadows">
<argument index="0" name="enable" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_projector">
<argument index="0" name="projector" type="Texture">
</argument>
<description>
</description>
</method>
</methods>
<constants>
<constant name="PARAM_RADIUS" value="2">
</constant>
<constant name="PARAM_ENERGY" value="3">
</constant>
<constant name="PARAM_ATTENUATION" value="4">
</constant>
<constant name="PARAM_SPOT_ANGLE" value="1">
</constant>
<constant name="PARAM_SPOT_ATTENUATION" value="0">
</constant>
<constant name="PARAM_SHADOW_DARKENING" value="5">
</constant>
<constant name="PARAM_SHADOW_Z_OFFSET" value="6">
</constant>
<constant name="COLOR_DIFFUSE" value="0">
</constant>
<constant name="COLOR_SPECULAR" value="1">
</constant>
<constant name="BAKE_MODE_DISABLED" value="0">
</constant>
<constant name="BAKE_MODE_INDIRECT" value="1">
</constant>
<constant name="BAKE_MODE_INDIRECT_AND_SHADOWS" value="2">
</constant>
<constant name="BAKE_MODE_FULL" value="3">
</constant>
</constants>
</class>
<class name="Light2D" inherits="Node2D" category="Core">
<brief_description>
Node that casts light in a 2D environment.
</brief_description>
<description>
Node that casts light in a 2D environment. Light is defined by a (usually grayscale) texture, a color, an energy value, a mode (see constants), and various other parameters (range and shadows-related). Note that Light2D can be used as a mask.
</description>
<methods>
<method name="get_color" qualifiers="const">
<return type="Color">
</return>
<description>
Return the color of the Light2D.
</description>
</method>
<method name="get_energy" qualifiers="const">
<return type="float">
</return>
<description>
Return the energy value of the Light2D.
</description>
</method>
<method name="get_height" qualifiers="const">
<return type="float">
</return>
<description>
Return the height of the Light2D. Used with 2D normalmapping.
</description>
</method>
<method name="get_item_mask" qualifiers="const">
<return type="int">
</return>
<description>
Return the item mask of the Light2D.
</description>
</method>
<method name="get_item_shadow_mask" qualifiers="const">
<return type="int">
</return>
<description>
Return the item shadow mask of the Light2D.
</description>
</method>
<method name="get_layer_range_max" qualifiers="const">
<return type="int">
</return>
<description>
Set the maximum layer value of objects of the scene that are affected by the Light2D.
</description>
</method>
<method name="get_layer_range_min" qualifiers="const">
<return type="int">
</return>
<description>
Get the minimum layer value of objects of the scene that are affected by the Light2D.
</description>
</method>
<method name="get_mode" qualifiers="const">
<return type="int">
</return>
<description>
Return the current mode set to the Light2D.
</description>
</method>
<method name="get_shadow_buffer_size" qualifiers="const">
<return type="int">
</return>
<description>
Return the shadow buffer size.
</description>
</method>
<method name="get_shadow_color" qualifiers="const">
<return type="Color">
</return>
<description>
Return the color of casted shadows for this Light2D.
</description>
</method>
<method name="get_shadow_esm_multiplier" qualifiers="const">
<return type="float">
</return>
<description>
Return the Exponential Shadow Multiplier (ESM) value of the Light2D.
</description>
</method>
<method name="get_texture" qualifiers="const">
<return type="Object">
</return>
<description>
Return the texture of the Light2D.
</description>
</method>
<method name="get_texture_offset" qualifiers="const">
<return type="Vector2">
</return>
<description>
Return the offset of the light texture.
</description>
</method>
<method name="get_texture_scale" qualifiers="const">
<return type="float">
</return>
<description>
Return the scale value of the light texture.
</description>
</method>
<method name="get_z_range_max" qualifiers="const">
<return type="int">
</return>
<description>
Get the maximum Z value that objects of the scene can be in order to be affected by the Light2D.
</description>
</method>
<method name="get_z_range_min" qualifiers="const">
<return type="int">
</return>
<description>
Get the minimum Z value that objects of the scene have to be in order to be affected by the Light2D.
</description>
</method>
<method name="is_enabled" qualifiers="const">
<return type="bool">
</return>
<description>
Return true if the Light2D is enabled, false if it is not.
</description>
</method>
<method name="is_shadow_enabled" qualifiers="const">
<return type="bool">
</return>
<description>
Return true if shadow casting is enabled for this Light2D, else return false.
</description>
</method>
<method name="set_color">
<argument index="0" name="color" type="Color">
</argument>
<description>
Set the color of the Light2D.
</description>
</method>
<method name="set_enabled">
<argument index="0" name="enabled" type="bool">
</argument>
<description>
Switches the Light2D on or off, depending on the 'enabled' parameter.
</description>
</method>
<method name="set_energy">
<argument index="0" name="energy" type="float">
</argument>
<description>
Set the energy value of the Light2D. The bigger the value, the stronger the light.
</description>
</method>
<method name="set_height">
<argument index="0" name="height" type="float">
</argument>
<description>
Set the height of the Light2D. Used with 2D normalmapping.
</description>
</method>
<method name="set_item_mask">
<argument index="0" name="item_mask" type="int">
</argument>
<description>
Set the item mask of the Light2D to 'item_mask' value.
</description>
</method>
<method name="set_item_shadow_mask">
<argument index="0" name="item_shadow_mask" type="int">
</argument>
<description>
Set the item shadow mask to 'item_shadow_mask' value.
</description>
</method>
<method name="set_layer_range_max">
<argument index="0" name="layer" type="int">
</argument>
<description>
Set the maximum layer value of objects of the scene that are affected by the Light2D.
</description>
</method>
<method name="set_layer_range_min">
<argument index="0" name="layer" type="int">
</argument>
<description>
Set the minimum layer value of objects of the scene that are affected by the Light2D.
</description>
</method>
<method name="set_mode">
<argument index="0" name="mode" type="int">
</argument>
<description>
Set the behaviour mode of the Light2D. Use constants defined in the constants section.
</description>
</method>
<method name="set_shadow_buffer_size">
<argument index="0" name="size" type="int">
</argument>
<description>
Set the shadow buffer size.
</description>
</method>
<method name="set_shadow_color">
<argument index="0" name="shadow_color" type="Color">
</argument>
<description>
Set the color of casted shadows for this Light2D.
</description>
</method>
<method name="set_shadow_enabled">
<argument index="0" name="enabled" type="bool">
</argument>
<description>
Enable or disable shadows casting from this Light2D according to the 'enabled' parameter.
</description>
</method>
<method name="set_shadow_esm_multiplier">
<argument index="0" name="multiplier" type="float">
</argument>
<description>
Set the Exponential Shadow Multiplier (ESM) value of the Light2D.
</description>
</method>
<method name="set_texture">
<argument index="0" name="texture" type="Object">
</argument>
<description>
Set the texture of the Light2D.
</description>
</method>
<method name="set_texture_offset">
<argument index="0" name="texture_offset" type="Vector2">
</argument>
<description>
Set the offset of the light texture.
</description>
</method>
<method name="set_texture_scale">
<argument index="0" name="texture_scale" type="float">
</argument>
<description>
Set the scale value of the light texture.
</description>
</method>
<method name="set_z_range_max">
<argument index="0" name="z" type="int">
</argument>
<description>
Set the maximum Z value that objects of the scene can be in order to be affected by the Light2D.
</description>
</method>
<method name="set_z_range_min">
<argument index="0" name="z" type="int">
</argument>
<description>
Set the minimum Z value that objects of the scene have to be in order to be affected by the Light2D.
</description>
</method>
</methods>
<constants>
<constant name="MODE_ADD" value="0">
Adds the value of pixels corresponding to the Light2D to the values of pixels under it. This is the common behaviour of a light.
</constant>
<constant name="MODE_SUB" value="1">
Substract the value of pixels corresponding to the Light2D to the values of pixels under it, resulting in inversed light effect.
</constant>
<constant name="MODE_MIX" value="2">
Mix the value of pixels corresponding to the Light2D to the values of pixels under it by linear interpolation.
</constant>
<constant name="MODE_MASK" value="3">
The light texture of the Light2D is used as a mask, hiding or revealing parts of the screen underneath depending on the value of each pixel of the light (mask) texture.
</constant>
</constants>
</class>
<class name="LightOccluder2D" inherits="Node2D" category="Core">
<brief_description>
Occludes light cast by a Light2D, thus casting shadows.
</brief_description>
<description>
Occludes light cast by a Light2D, thus casting shadows. The LightOccluder2D must be provided with a shape (see OccluderPolygon2D) that allows the shadow to be computed. This shape affects the resulting shadow, while the shape of the representating asset shadowed does not actually affect shadows.
</description>
<methods>
<method name="get_occluder_light_mask" qualifiers="const">
<return type="int">
</return>
<description>
Return the light mask of the LightOccluder2D.
</description>
</method>
<method name="get_occluder_polygon" qualifiers="const">
<return type="OccluderPolygon2D">
</return>
<description>
Return the OccluderPolygon2D that defines the LightOccluder2D.
</description>
</method>
<method name="set_occluder_light_mask">
<argument index="0" name="mask" type="int">
</argument>
<description>
Set the LightOccluder2D light mask. The LightOccluder2D will cast shadows only from Light2Ds that belong to the same light mask(s).
</description>
</method>
<method name="set_occluder_polygon">
<argument index="0" name="polygon" type="OccluderPolygon2D">
</argument>
<description>
Set the OccluderPolygon2D that defines the LightOccluder2D.
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="LineEdit" inherits="Control" category="Core">
<brief_description>
Control that provides single line string editing.
</brief_description>
<description>
LineEdit provides a single line string editor, used for text fields.
</description>
<methods>
<method name="append_at_cursor">
<argument index="0" name="text" type="String">
</argument>
<description>
Append text at cursor, scrolling the [LineEdit] when needed.
</description>
</method>
<method name="clear">
<description>
Clear the [LineEdit] text.
</description>
</method>
<method name="get_align" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_cursor_pos" qualifiers="const">
<return type="int">
</return>
<description>
Return the cursor position inside the [LineEdit].
</description>
</method>
<method name="get_max_length" qualifiers="const">
<return type="int">
</return>
<description>
Return the maximum amount of characters the [LineEdit] can edit. If 0 is returned, no limit exists.
</description>
</method>
<method name="get_text" qualifiers="const">
<return type="String">
</return>
<description>
Return the text in the [LineEdit].
</description>
</method>
<method name="is_editable" qualifiers="const">
<return type="bool">
</return>
<description>
Return the [i]editable[/i] status of the [LineEdit] (see [method set_editable]).
</description>
</method>
<method name="is_secret" qualifiers="const">
<return type="bool">
</return>
<description>
Return the [i]secret[/i] status of the [LineEdit] (see [method set_secret]).
</description>
</method>
<method name="select">
<argument index="0" name="from" type="int" default="0">
</argument>
<argument index="1" name="to" type="int" default="-1">
</argument>
<description>
</description>
</method>
<method name="select_all">
<description>
Select the whole string.
</description>
</method>
<method name="set_align">
<argument index="0" name="align" type="int">
</argument>
<description>
</description>
</method>
<method name="set_cursor_pos">
<argument index="0" name="pos" type="int">
</argument>
<description>
Set the cursor position inside the [LineEdit], causing it to scroll if needed.
</description>
</method>
<method name="set_editable">
<argument index="0" name="enabled" type="bool">
</argument>
<description>
Set the [i]editable[/i] status of the [LineEdit]. When disabled, existing text can't be modified and new text can't be added.
</description>
</method>
<method name="set_max_length">
<argument index="0" name="chars" type="int">
</argument>
<description>
Set the maximum amount of characters the [LineEdit] can edit, and cropping existing text in case it exceeds that limit. Setting 0 removes the limit.
</description>
</method>
<method name="set_secret">
<argument index="0" name="enabled" type="bool">
</argument>
<description>
Set the [i]secret[/i] status of the [LineEdit]. When enabled, every character is displayed as "*".
</description>
</method>
<method name="set_text">
<argument index="0" name="text" type="String">
</argument>
<description>
Set the text in the [LineEdit], clearing the existing one and the selection.
</description>
</method>
</methods>
<signals>
<signal name="text_changed">
<argument index="0" name="text" type="String">
</argument>
<description>
When the text changes, this signal is emitted.
</description>
</signal>
<signal name="text_entered">
<argument index="0" name="text" type="String">
</argument>
<description>
This signal is emitted when the user presses KEY_ENTER on the [LineEdit]. This signal is often used as an alternate confirmation mechanism in dialogs.
</description>
</signal>
</signals>
<constants>
<constant name="ALIGN_LEFT" value="0">
</constant>
<constant name="ALIGN_CENTER" value="1">
</constant>
<constant name="ALIGN_RIGHT" value="2">
</constant>
<constant name="ALIGN_FILL" value="3">
</constant>
</constants>
<theme_items>
<theme_item name="cursor_color" type="Color">
</theme_item>
<theme_item name="focus" type="StyleBox">
</theme_item>
<theme_item name="font" type="Font">
</theme_item>
<theme_item name="font_color" type="Color">
</theme_item>
<theme_item name="font_color_selected" type="Color">
</theme_item>
<theme_item name="minimum_spaces" type="int">
</theme_item>
<theme_item name="normal" type="StyleBox">
</theme_item>
<theme_item name="read_only" type="StyleBox">
</theme_item>
<theme_item name="selection_color" type="Color">
</theme_item>
</theme_items>
</class>
<class name="LineShape2D" inherits="Shape2D" category="Core">
<brief_description>
Line shape for 2D collision objects.
</brief_description>
<description>
Line shape for 2D collision objects. It works like a 2D plane and will not allow any body to go to the negative side. Not recommended for rigid bodies, and usually not recommended for static bodies either because it forces checks against it on every frame.
</description>
<methods>
<method name="get_d" qualifiers="const">
<return type="float">
</return>
<description>
Return the line distance from the origin.
</description>
</method>
<method name="get_normal" qualifiers="const">
<return type="Vector2">
</return>
<description>
Return the line normal.
</description>
</method>
<method name="set_d">
<argument index="0" name="d" type="float">
</argument>
<description>
Set the line distance from the origin.
</description>
</method>
<method name="set_normal">
<argument index="0" name="normal" type="Vector2">
</argument>
<description>
Set the line normal.
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="MainLoop" inherits="Object" category="Core">
<brief_description>
Main loop is the abstract main loop base class.
</brief_description>
<description>
Main loop is the abstract main loop base class. All other main loop classes are derived from it. Upon application start, a [MainLoop] has to be provided to OS, else the application will exit. This happens automatically (and a [SceneTree] is created), unless a main [Script] is supplied, which may or not create and return a [MainLoop].
</description>
<methods>
<method name="_finalize" qualifiers="virtual">
<description>
</description>
</method>
<method name="_idle" qualifiers="virtual">
<argument index="0" name="delta" type="float">
</argument>
<description>
</description>
</method>
<method name="_initialize" qualifiers="virtual">
<description>
</description>
</method>
<method name="_input_event" qualifiers="virtual">
<argument index="0" name="ev" type="InputEvent">
</argument>
<description>
</description>
</method>
<method name="_input_text" qualifiers="virtual">
<argument index="0" name="text" type="String">
</argument>
<description>
</description>
</method>
<method name="_iteration" qualifiers="virtual">
<argument index="0" name="delta" type="float">
</argument>
<description>
</description>
</method>
<method name="finish">
<description>
</description>
</method>
<method name="idle">
<return type="bool">
</return>
<argument index="0" name="delta" type="float">
</argument>
<description>
</description>
</method>
<method name="init">
<description>
</description>
</method>
<method name="input_event">
<argument index="0" name="ev" type="InputEvent">
</argument>
<description>
</description>
</method>
<method name="input_text">
<argument index="0" name="text" type="String">
</argument>
<description>
</description>
</method>
<method name="iteration">
<return type="bool">
</return>
<argument index="0" name="delta" type="float">
</argument>
<description>
</description>
</method>
</methods>
<constants>
<constant name="NOTIFICATION_WM_MOUSE_ENTER" value="3">
</constant>
<constant name="NOTIFICATION_WM_MOUSE_EXIT" value="4">
</constant>
<constant name="NOTIFICATION_WM_FOCUS_IN" value="5">
</constant>
<constant name="NOTIFICATION_WM_FOCUS_OUT" value="6">
</constant>
<constant name="NOTIFICATION_WM_QUIT_REQUEST" value="7">
</constant>
<constant name="NOTIFICATION_WM_UNFOCUS_REQUEST" value="8">
</constant>
<constant name="NOTIFICATION_OS_MEMORY_WARNING" value="9">
</constant>
</constants>
</class>
<class name="MarginContainer" inherits="Container" category="Core">
<brief_description>
Simple margin container.
</brief_description>
<description>
Simple margin container. Adds a left margin to anything contained.
</description>
<methods>
</methods>
<constants>
</constants>
<theme_items>
<theme_item name="margin" type="int">
</theme_item>
</theme_items>
</class>
<class name="Marshalls" inherits="Reference" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
<method name="base64_to_raw">
<return type="RawArray">
</return>
<argument index="0" name="base64_str" type="String">
</argument>
<description>
</description>
</method>
<method name="base64_to_utf8">
<return type="String">
</return>
<argument index="0" name="base64_str" type="String">
</argument>
<description>
</description>
</method>
<method name="base64_to_variant">
<return type="Variant">
</return>
<argument index="0" name="base64_str" type="String">
</argument>
<description>
</description>
</method>
<method name="raw_to_base64">
<return type="String">
</return>
<argument index="0" name="array" type="RawArray">
</argument>
<description>
</description>
</method>
<method name="utf8_to_base64">
<return type="String">
</return>
<argument index="0" name="utf8_str" type="String">
</argument>
<description>
</description>
</method>
<method name="variant_to_base64">
<return type="String">
</return>
<argument index="0" name="variant" type="var">
</argument>
<description>
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="Material" inherits="Resource" category="Core">
<brief_description>
Abstract base [Resource] for coloring and shading geometry.
</brief_description>
<description>
Material is a base [Resource] used for coloring and shading geometry. All materials inherit from it and almost all [VisualInstance] derived nodes carry a Material. A few flags and parameters are shared between all material types and are configured here.
</description>
<methods>
<method name="get_blend_mode" qualifiers="const">
<return type="int">
</return>
<description>
Return blend mode for the material, which can be one of BLEND_MODE_MIX (default), BLEND_MODE_ADD, BLEND_MODE_SUB. Keep in mind that only BLEND_MODE_MIX ensures that the material [i]may[/i] be opaque, any other blend mode will render with alpha blending enabled in raster-based [VisualServer] implementations.
</description>
</method>
<method name="get_depth_draw_mode" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_flag" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="flag" type="int">
</argument>
<description>
Return a [Material] flag, which toggles on or off a behavior when rendering. See enumeration FLAG_* for a list.
</description>
</method>
<method name="get_line_width" qualifiers="const">
<return type="float">
</return>
<description>
Return the line width for geometry drawn with FLAG_WIREFRAME enabled, or LINE primitives. Note that not all hardware or VisualServer backends support this (like DirectX).
</description>
</method>
<method name="set_blend_mode">
<argument index="0" name="mode" type="int">
</argument>
<description>
Set blend mode for the material, which can be one of BLEND_MODE_MIX (default), BLEND_MODE_ADD, BLEND_MODE_SUB. Keep in mind that only BLEND_MODE_MIX ensures that the material [i]may[/i] be opaque, any other blend mode will render with alpha blending enabled in raster-based [VisualServer] implementations.
</description>
</method>
<method name="set_depth_draw_mode">
<argument index="0" name="mode" type="int">
</argument>
<description>
</description>
</method>
<method name="set_flag">
<argument index="0" name="flag" type="int">
</argument>
<argument index="1" name="enable" type="bool">
</argument>
<description>
Set a [Material] flag, which toggles on or off a behavior when rendering. See enumeration FLAG_* for a list.
</description>
</method>
<method name="set_line_width">
<argument index="0" name="width" type="float">
</argument>
<description>
Set the line width for geometry drawn with FLAG_WIREFRAME enabled, or LINE primitives. Note that not all hardware or VisualServer backends support this (like DirectX).
</description>
</method>
</methods>
<constants>
<constant name="FLAG_VISIBLE" value="0">
Geometry is visible when this flag is enabled (default).
</constant>
<constant name="FLAG_DOUBLE_SIDED" value="1">
Both front facing and back facing triangles are rendered when this flag is enabled.
</constant>
<constant name="FLAG_INVERT_FACES" value="2">
Front facing and back facing order is swapped when this flag is enabled.
</constant>
<constant name="FLAG_UNSHADED" value="3">
Shading (lighting) is disabled when this flag is enabled.
</constant>
<constant name="FLAG_ONTOP" value="4">
</constant>
<constant name="FLAG_LIGHTMAP_ON_UV2" value="5">
</constant>
<constant name="FLAG_COLOR_ARRAY_SRGB" value="6">
</constant>
<constant name="FLAG_MAX" value="7">
Maximum amount of flags.
</constant>
<constant name="DEPTH_DRAW_ALWAYS" value="0">
</constant>
<constant name="DEPTH_DRAW_OPAQUE_ONLY" value="1">
</constant>
<constant name="DEPTH_DRAW_OPAQUE_PRE_PASS_ALPHA" value="2">
</constant>
<constant name="DEPTH_DRAW_NEVER" value="3">
</constant>
<constant name="BLEND_MODE_MIX" value="0">
Use the regular alpha blending equation (source and dest colors are faded) (default).
</constant>
<constant name="BLEND_MODE_ADD" value="1">
Use additive blending equation, often used for particle effects such as fire or light decals.
</constant>
<constant name="BLEND_MODE_SUB" value="2">
Use subtractive blending equation, often used for some smoke effects or types of glass.
</constant>
<constant name="BLEND_MODE_MUL" value="3">
</constant>
<constant name="BLEND_MODE_PREMULT_ALPHA" value="4">
</constant>
</constants>
</class>
<class name="MaterialShader" inherits="Shader" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
</methods>
<constants>
</constants>
</class>
<class name="MaterialShaderGraph" inherits="ShaderGraph" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
</methods>
<constants>
</constants>
</class>
<class name="Matrix3" category="Built-In Types">
<brief_description>
3x3 matrix datatype.
</brief_description>
<description>
3x3 matrix used for 3D rotation and scale. Contains 3 vector fields x,y and z. Can also be accessed as array of 3D vectors. Almost always used as orthogonal basis for a [Transform].
</description>
<methods>
<method name="Matrix3">
<return type="Matrix3">
</return>
<argument index="0" name="from" type="Quat">
</argument>
<description>
Create a matrix from a quaternion.
</description>
</method>
<method name="Matrix3">
<return type="Matrix3">
</return>
<argument index="0" name="axis" type="Vector3">
</argument>
<argument index="1" name="phi" type="float">
</argument>
<description>
Create a matrix from an axis vector and an angle.
</description>
</method>
<method name="Matrix3">
<return type="Matrix3">
</return>
<argument index="0" name="x_axis" type="Vector3">
</argument>
<argument index="1" name="y_axis" type="Vector3">
</argument>
<argument index="2" name="z_axis" type="Vector3">
</argument>
<description>
Create a matrix from 3 axis vectors.
</description>
</method>
<method name="determinant">
<return type="float">
</return>
<description>
Return the determinant of the matrix.
</description>
</method>
<method name="get_euler">
<return type="Vector3">
</return>
<description>
Return euler angles from the matrix.
</description>
</method>
<method name="get_orthogonal_index">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_scale">
<return type="Vector3">
</return>
<description>
</description>
</method>
<method name="inverse">
<return type="Matrix3">
</return>
<description>
Return the affine inverse of the matrix.
</description>
</method>
<method name="orthonormalized">
<return type="Matrix3">
</return>
<description>
Return the orthonormalized version of the matrix (useful to call from time to time to avoid rounding error).
</description>
</method>
<method name="rotated">
<return type="Matrix3">
</return>
<argument index="0" name="axis" type="Vector3">
</argument>
<argument index="1" name="phi" type="float">
</argument>
<description>
Return the rotated version of the matrix, by a given axis and angle.
</description>
</method>
<method name="scaled">
<return type="Matrix3">
</return>
<argument index="0" name="scale" type="Vector3">
</argument>
<description>
Return the scaled version of the matrix, by a 3D scale.
</description>
</method>
<method name="tdotx">
<return type="float">
</return>
<argument index="0" name="with" type="Vector3">
</argument>
<description>
Transposed dot product with the x axis of the matrix.
</description>
</method>
<method name="tdoty">
<return type="float">
</return>
<argument index="0" name="with" type="Vector3">
</argument>
<description>
Transposed dot product with the y axis of the matrix.
</description>
</method>
<method name="tdotz">
<return type="float">
</return>
<argument index="0" name="with" type="Vector3">
</argument>
<description>
Transposed dot product with the z axis of the matrix.
</description>
</method>
<method name="transposed">
<return type="Matrix3">
</return>
<description>
Return the transposed version of the matrix.
</description>
</method>
<method name="xform">
<return type="Vector3">
</return>
<argument index="0" name="v" type="Vector3">
</argument>
<description>
Return a vector transformed by the matrix and return it.
</description>
</method>
<method name="xform_inv">
<return type="Vector3">
</return>
<argument index="0" name="v" type="Vector3">
</argument>
<description>
Return a vector transformed by the transposed matrix and return it.
</description>
</method>
</methods>
<members>
<member name="x" type="Vector3">
</member>
<member name="y" type="Vector3">
</member>
<member name="z" type="Vector3">
</member>
</members>
<constants>
</constants>
</class>
<class name="Matrix32" category="Built-In Types">
<brief_description>
3x2 Matrix for 2D transforms.
</brief_description>
<description>
3x2 Matrix for 2D transforms.
</description>
<methods>
<method name="Matrix32">
<return type="Matrix32">
</return>
<argument index="0" name="from" type="Transform">
</argument>
<description>
</description>
</method>
<method name="Matrix32">
<return type="Matrix32">
</return>
<argument index="0" name="x_axis" type="Vector2">
</argument>
<argument index="1" name="y_axis" type="Vector2">
</argument>
<argument index="2" name="origin" type="Vector2">
</argument>
<description>
</description>
</method>
<method name="Matrix32">
<return type="Matrix32">
</return>
<argument index="0" name="rot" type="float">
</argument>
<argument index="1" name="pos" type="Vector2">
</argument>
<description>
</description>
</method>
<method name="affine_inverse">
<return type="Matrix32">
</return>
<description>
</description>
</method>
<method name="basis_xform">
<return type="Matrix32">
</return>
<argument index="0" name="v" type="var">
</argument>
<description>
</description>
</method>
<method name="basis_xform_inv">
<return type="Matrix32">
</return>
<argument index="0" name="v" type="var">
</argument>
<description>
</description>
</method>
<method name="get_origin">
<return type="Vector2">
</return>
<description>
</description>
</method>
<method name="get_rotation">
<return type="float">
</return>
<description>
</description>
</method>
<method name="get_scale">
<return type="Vector2">
</return>
<description>
</description>
</method>
<method name="interpolate_with">
<return type="Matrix32">
</return>
<argument index="0" name="m" type="Matrix32">
</argument>
<argument index="1" name="c" type="float">
</argument>
<description>
</description>
</method>
<method name="inverse">
<return type="Matrix32">
</return>
<description>
</description>
</method>
<method name="orthonormalized">
<return type="Matrix32">
</return>
<description>
</description>
</method>
<method name="rotated">
<return type="Matrix32">
</return>
<argument index="0" name="phi" type="float">
</argument>
<description>
</description>
</method>
<method name="scaled">
<return type="Matrix32">
</return>
<argument index="0" name="scale" type="Vector2">
</argument>
<description>
</description>
</method>
<method name="translated">
<return type="Matrix32">
</return>
<argument index="0" name="offset" type="Vector2">
</argument>
<description>
</description>
</method>
<method name="xform">
<return type="Matrix32">
</return>
<argument index="0" name="v" type="var">
</argument>
<description>
</description>
</method>
<method name="xform_inv">
<return type="Matrix32">
</return>
<argument index="0" name="v" type="var">
</argument>
<description>
</description>
</method>
</methods>
<members>
<member name="o" type="Vector2">
</member>
<member name="x" type="Vector2">
</member>
<member name="y" type="Vector2">
</member>
</members>
<constants>
</constants>
</class>
<class name="MenuButton" inherits="Button" category="Core">
<brief_description>
Special button that brings up a [PopupMenu] when clicked.
</brief_description>
<description>
Special button that brings up a [PopupMenu] when clicked. That's pretty much all it does, as it's just a helper class when building GUIs.
</description>
<methods>
<method name="get_popup">
<return type="PopupMenu">
</return>
<description>
Return the [PopupMenu] contained in this button.
</description>
</method>
</methods>
<signals>
<signal name="about_to_show">
<description>
</description>
</signal>
</signals>
<constants>
</constants>
<theme_items>
<theme_item name="disabled" type="StyleBox">
</theme_item>
<theme_item name="focus" type="StyleBox">
</theme_item>
<theme_item name="font" type="Font">
</theme_item>
<theme_item name="font_color" type="Color">
</theme_item>
<theme_item name="font_color_disabled" type="Color">
</theme_item>
<theme_item name="font_color_hover" type="Color">
</theme_item>
<theme_item name="font_color_pressed" type="Color">
</theme_item>
<theme_item name="hover" type="StyleBox">
</theme_item>
<theme_item name="hseparation" type="int">
</theme_item>
<theme_item name="normal" type="StyleBox">
</theme_item>
<theme_item name="pressed" type="StyleBox">
</theme_item>
</theme_items>
</class>
<class name="Mesh" inherits="Resource" category="Core">
<brief_description>
A [Resource] that contains vertex-array based geometry.
</brief_description>
<description>
Mesh is a type of [Resource] that contains vertex-array based geometry, divided in [i]surfaces[/i]. Each surface contains a completely separate array and a material used to draw it. Design wise, a mesh with multiple surfaces is preferred to a single surface, because objects created in 3D editing software commonly contain multiple materials.
</description>
<methods>
<method name="add_morph_target">
<argument index="0" name="name" type="String">
</argument>
<description>
</description>
</method>
<method name="add_surface">
<argument index="0" name="primitive" type="int">
</argument>
<argument index="1" name="arrays" type="Array">
</argument>
<argument index="2" name="morph_arrays" type="Array" default="Array()">
</argument>
<argument index="3" name="alphasort" type="bool" default="false">
</argument>
<description>
Create a new surface ([method get_surface_count] that will become surf_idx for this.
Surfaces are created to be rendered using a "primitive", which may be PRIMITIVE_POINTS, PRIMITIVE_LINES, PRIMITIVE_LINE_STRIP, PRIMITIVE_LINE_LOOP, PRIMITIVE_TRIANGLES, PRIMITIVE_TRIANGLE_STRIP, PRIMITIVE_TRIANGLE_FAN. (As a note, when using indices, it is recommended to only use just points, lines or triangles).
The format of a surface determines which arrays it will allocate and hold, so "format" is a combination of ARRAY_FORMAT_* mask constants ORed together. ARRAY_FORMAT_VERTEX must be always present. "array_len" determines the amount of vertices in the array (not primitives!). if ARRAY_FORMAT_INDEX is in the format mask, then it means that an index array will be allocated and "index_array_len" must be passed.
</description>
</method>
<method name="center_geometry">
<description>
</description>
</method>
<method name="clear_morph_targets">
<description>
</description>
</method>
<method name="get_custom_aabb" qualifiers="const">
<return type="AABB">
</return>
<description>
</description>
</method>
<method name="get_morph_target_count" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_morph_target_mode" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_morph_target_name" qualifiers="const">
<return type="String">
</return>
<argument index="0" name="index" type="int">
</argument>
<description>
</description>
</method>
<method name="get_surface_count" qualifiers="const">
<return type="int">
</return>
<description>
Return the amount of surfaces that the [Mesh] holds.
</description>
</method>
<method name="regen_normalmaps">
<description>
</description>
</method>
<method name="set_custom_aabb">
<argument index="0" name="aabb" type="AABB">
</argument>
<description>
</description>
</method>
<method name="set_morph_target_mode">
<argument index="0" name="mode" type="int">
</argument>
<description>
</description>
</method>
<method name="surface_get_array_index_len" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="surf_idx" type="int">
</argument>
<description>
Return the length in indices of the index array in the requested surface (see [method add_surface]).
</description>
</method>
<method name="surface_get_array_len" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="surf_idx" type="int">
</argument>
<description>
Return the length in vertices of the vertex array in the requested surface (see [method add_surface]).
</description>
</method>
<method name="surface_get_format" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="surf_idx" type="int">
</argument>
<description>
Return the format mask of the requested surface (see [method add_surface]).
</description>
</method>
<method name="surface_get_material" qualifiers="const">
<return type="Material">
</return>
<argument index="0" name="surf_idx" type="int">
</argument>
<description>
Return a [Material] in a given surface. Surface is rendered using this material.
</description>
</method>
<method name="surface_get_name" qualifiers="const">
<return type="String">
</return>
<argument index="0" name="surf_idx" type="int">
</argument>
<description>
</description>
</method>
<method name="surface_get_primitive_type" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="surf_idx" type="int">
</argument>
<description>
Return the primitive type of the requested surface (see [method add_surface]).
</description>
</method>
<method name="surface_remove">
<argument index="0" name="surf_idx" type="int">
</argument>
<description>
Remove a surface at position surf_idx, shifting greater surfaces one surf_idx slot down.
</description>
</method>
<method name="surface_set_material">
<argument index="0" name="surf_idx" type="int">
</argument>
<argument index="1" name="material" type="Material">
</argument>
<description>
Set a [Material] for a given surface. Surface will be rendered using this material.
</description>
</method>
<method name="surface_set_name">
<argument index="0" name="surf_idx" type="int">
</argument>
<argument index="1" name="name" type="String">
</argument>
<description>
</description>
</method>
</methods>
<constants>
<constant name="NO_INDEX_ARRAY" value="-1">
Default value used for index_array_len when no indices are present.
</constant>
<constant name="ARRAY_WEIGHTS_SIZE" value="4">
Amount of weights/bone indices per vertex (always 4).
</constant>
<constant name="ARRAY_VERTEX" value="0">
Vertex array (array of [Vector3] vertices).
</constant>
<constant name="ARRAY_NORMAL" value="1">
Normal array (array of [Vector3] normals).
</constant>
<constant name="ARRAY_TANGENT" value="2">
Tangent array, array of groups of 4 floats. first 3 floats determine the tangent, and the last the binormal direction as -1 or 1.
</constant>
<constant name="ARRAY_COLOR" value="3">
Vertex array (array of [Color] colors).
</constant>
<constant name="ARRAY_TEX_UV" value="4">
UV array (array of [Vector3] UVs or float array of groups of 2 floats (u,v)).
</constant>
<constant name="ARRAY_TEX_UV2" value="5">
Second UV array (array of [Vector3] UVs or float array of groups of 2 floats (u,v)).
</constant>
<constant name="ARRAY_BONES" value="6">
Array of bone indices, as a float array. Each element in groups of 4 floats.
</constant>
<constant name="ARRAY_WEIGHTS" value="7">
Array of bone weights, as a float array. Each element in groups of 4 floats.
</constant>
<constant name="ARRAY_INDEX" value="8">
Array of integers, used as indices referencing vertices. No index can be beyond the vertex array size.
</constant>
<constant name="ARRAY_FORMAT_VERTEX" value="1">
Array format will include vertices (mandatory).
</constant>
<constant name="ARRAY_FORMAT_NORMAL" value="2">
Array format will include normals
</constant>
<constant name="ARRAY_FORMAT_TANGENT" value="4">
Array format will include tangents
</constant>
<constant name="ARRAY_FORMAT_COLOR" value="8">
Array format will include a color array.
</constant>
<constant name="ARRAY_FORMAT_TEX_UV" value="16">
Array format will include UVs.
</constant>
<constant name="ARRAY_FORMAT_TEX_UV2" value="32">
Array format will include another set of UVs.
</constant>
<constant name="ARRAY_FORMAT_BONES" value="64">
Array format will include bone indices.
</constant>
<constant name="ARRAY_FORMAT_WEIGHTS" value="128">
Array format will include bone weights.
</constant>
<constant name="ARRAY_FORMAT_INDEX" value="256">
Index array will be used.
</constant>
<constant name="PRIMITIVE_POINTS" value="0">
Render array as points (one vertex equals one point).
</constant>
<constant name="PRIMITIVE_LINES" value="1">
Render array as lines (every two vertices a line is created).
</constant>
<constant name="PRIMITIVE_LINE_STRIP" value="2">
Render array as line strip.
</constant>
<constant name="PRIMITIVE_LINE_LOOP" value="3">
Render array as line loop (like line strip, but closed).
</constant>
<constant name="PRIMITIVE_TRIANGLES" value="4">
Render array as triangles (every three vertices a triangle is created).
</constant>
<constant name="PRIMITIVE_TRIANGLE_STRIP" value="5">
Render array as triangle strips.
</constant>
<constant name="PRIMITIVE_TRIANGLE_FAN" value="6">
Render array as triangle fans.
</constant>
</constants>
</class>
<class name="MeshDataTool" inherits="Reference" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
<method name="clear">
<description>
</description>
</method>
<method name="commit_to_surface">
<return type="int">
</return>
<argument index="0" name="mesh" type="Object">
</argument>
<description>
</description>
</method>
<method name="create_from_surface">
<return type="int">
</return>
<argument index="0" name="mesh" type="Object">
</argument>
<argument index="1" name="surface" type="int">
</argument>
<description>
</description>
</method>
<method name="get_edge_count" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_edge_faces" qualifiers="const">
<return type="IntArray">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
</description>
</method>
<method name="get_edge_meta" qualifiers="const">
<argument index="0" name="idx" type="int">
</argument>
<description>
</description>
</method>
<method name="get_edge_vertex" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="vertex" type="int">
</argument>
<description>
</description>
</method>
<method name="get_face_count" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_face_edge" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="edge" type="int">
</argument>
<description>
</description>
</method>
<method name="get_face_meta" qualifiers="const">
<argument index="0" name="idx" type="int">
</argument>
<description>
</description>
</method>
<method name="get_face_normal" qualifiers="const">
<return type="Vector3">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
</description>
</method>
<method name="get_face_vertex" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="vertex" type="int">
</argument>
<description>
</description>
</method>
<method name="get_format" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_material" qualifiers="const">
<return type="Object">
</return>
<description>
</description>
</method>
<method name="get_vertex" qualifiers="const">
<return type="Vector3">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
</description>
</method>
<method name="get_vertex_bones" qualifiers="const">
<return type="IntArray">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
</description>
</method>
<method name="get_vertex_color" qualifiers="const">
<return type="Color">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
</description>
</method>
<method name="get_vertex_count" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_vertex_edges" qualifiers="const">
<return type="IntArray">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
</description>
</method>
<method name="get_vertex_faces" qualifiers="const">
<return type="IntArray">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
</description>
</method>
<method name="get_vertex_meta" qualifiers="const">
<argument index="0" name="idx" type="int">
</argument>
<description>
</description>
</method>
<method name="get_vertex_normal" qualifiers="const">
<return type="Vector3">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
</description>
</method>
<method name="get_vertex_tangent" qualifiers="const">
<return type="Plane">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
</description>
</method>
<method name="get_vertex_uv" qualifiers="const">
<return type="Vector2">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
</description>
</method>
<method name="get_vertex_uv2" qualifiers="const">
<return type="Vector2">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
</description>
</method>
<method name="get_vertex_weights" qualifiers="const">
<return type="RealArray">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
</description>
</method>
<method name="set_edge_meta">
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="meta" type="var">
</argument>
<description>
</description>
</method>
<method name="set_face_meta">
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="meta" type="var">
</argument>
<description>
</description>
</method>
<method name="set_material">
<argument index="0" name="material" type="Material">
</argument>
<description>
</description>
</method>
<method name="set_vertex">
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="vertex" type="Vector3">
</argument>
<description>
</description>
</method>
<method name="set_vertex_bones">
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="bones" type="IntArray">
</argument>
<description>
</description>
</method>
<method name="set_vertex_color">
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="color" type="Color">
</argument>
<description>
</description>
</method>
<method name="set_vertex_meta">
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="meta" type="var">
</argument>
<description>
</description>
</method>
<method name="set_vertex_normal">
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="normal" type="Vector3">
</argument>
<description>
</description>
</method>
<method name="set_vertex_tangent">
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="tangent" type="Plane">
</argument>
<description>
</description>
</method>
<method name="set_vertex_uv">
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="uv" type="Vector2">
</argument>
<description>
</description>
</method>
<method name="set_vertex_uv2">
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="uv2" type="Vector2">
</argument>
<description>
</description>
</method>
<method name="set_vertex_weights">
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="weights" type="RealArray">
</argument>
<description>
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="MeshInstance" inherits="GeometryInstance" category="Core">
<brief_description>
Node that instances meshes into a scenario.
</brief_description>
<description>
MeshInstance is a [Node] that takes a [Mesh] resource and adds it to the current scenario by creating an instance of it. This is the class most often used to get 3D geometry rendered and can be used to instance a single [Mesh] in many places. This allows to reuse geometry and save on resources. When a [Mesh] has to be instanced more than thousands of times at close proximity, consider using a [MultiMesh] in a [MultiMeshInstance] instead.
</description>
<methods>
<method name="create_convex_collision">
<description>
</description>
</method>
<method name="create_trimesh_collision">
<description>
This helper creates a [StaticBody] child [Node] using the mesh geometry as collision. It's mainly used for testing.
</description>
</method>
<method name="get_aabb" qualifiers="const">
<return type="AABB">
</return>
<description>
Return the AABB of the mesh, in local coordinates.
</description>
</method>
<method name="get_mesh" qualifiers="const">
<return type="Mesh">
</return>
<description>
Return the current [Mesh] resource for the instance.
</description>
</method>
<method name="get_skeleton_path">
<return type="NodePath">
</return>
<description>
</description>
</method>
<method name="set_mesh">
<argument index="0" name="mesh" type="Mesh">
</argument>
<description>
Set the [Mesh] resource for the instance.
</description>
</method>
<method name="set_skeleton_path">
<argument index="0" name="skeleton_path" type="NodePath">
</argument>
<description>
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="MeshLibrary" inherits="Resource" category="Core">
<brief_description>
Library of meshes.
</brief_description>
<description>
Library of meshes. Contains a list of [Mesh] resources, each with name and ID. Useful for GridMap or painting Terrain.
</description>
<methods>
<method name="clear">
<description>
Clear the library.
</description>
</method>
<method name="create_item">
<argument index="0" name="id" type="int">
</argument>
<description>
Create a new item in the library, supplied an id.
</description>
</method>
<method name="get_item_list" qualifiers="const">
<return type="IntArray">
</return>
<description>
Return the list of items.
</description>
</method>
<method name="get_item_mesh" qualifiers="const">
<return type="Mesh">
</return>
<argument index="0" name="id" type="int">
</argument>
<description>
Return the mesh of the item.
</description>
</method>
<method name="get_item_name" qualifiers="const">
<return type="String">
</return>
<argument index="0" name="id" type="int">
</argument>
<description>
Return the name of the item.
</description>
</method>
<method name="get_item_shape" qualifiers="const">
<return type="Shape">
</return>
<argument index="0" name="id" type="int">
</argument>
<description>
</description>
</method>
<method name="get_last_unused_item_id" qualifiers="const">
<return type="int">
</return>
<description>
Get an unused id for a new item.
</description>
</method>
<method name="remove_item">
<argument index="0" name="id" type="int">
</argument>
<description>
Remove the item.
</description>
</method>
<method name="set_item_mesh">
<argument index="0" name="id" type="int">
</argument>
<argument index="1" name="mesh" type="Mesh">
</argument>
<description>
Set the mesh of the item.
</description>
</method>
<method name="set_item_name">
<argument index="0" name="id" type="int">
</argument>
<argument index="1" name="name" type="String">
</argument>
<description>
Set the name of the item.
</description>
</method>
<method name="set_item_shape">
<argument index="0" name="id" type="int">
</argument>
<argument index="1" name="shape" type="Shape">
</argument>
<description>
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="MultiMesh" inherits="Resource" category="Core">
<brief_description>
Provides high performance mesh instancing.
</brief_description>
<description>
MultiMesh provides low level mesh instancing. If the amount of [Mesh] instances needed goes from hundreds to thousands (and most need to be visible at close proximity) creating such a large amount of [MeshInstance] nodes may affect performance by using too much CPU or video memory.
For this case a MultiMesh becomes very useful, as it can draw thousands of instances with little API overhead.
As a drawback, if the instances are too far away of each other, performance may be reduced as every single instance will always rendered (they are spatially indexed as one, for the whole object).
Since instances may have any behavior, the AABB used for visibility must be provided by the user, or generated with [method generate_aabb].
</description>
<methods>
<method name="generate_aabb">
<description>
Generate a new visibility AABB, using mesh AABB and instance transforms. Since instance information is stored in the [VisualServer], this function is VERY SLOW and must NOT be used often.
</description>
</method>
<method name="get_aabb" qualifiers="const">
<return type="AABB">
</return>
<description>
Return the visibility AABB.
</description>
</method>
<method name="get_instance_color" qualifiers="const">
<return type="Color">
</return>
<argument index="0" name="instance" type="int">
</argument>
<description>
Get the color of a specific instance.
</description>
</method>
<method name="get_instance_count" qualifiers="const">
<return type="int">
</return>
<description>
Return the amount of instances that is going to be drawn.
</description>
</method>
<method name="get_instance_transform" qualifiers="const">
<return type="Transform">
</return>
<argument index="0" name="instance" type="int">
</argument>
<description>
Return the transform of a specific instance.
</description>
</method>
<method name="get_mesh" qualifiers="const">
<return type="Mesh">
</return>
<description>
Return the [Mesh] resource drawn as multiple instances.
</description>
</method>
<method name="set_aabb">
<argument index="0" name="visibility_aabb" type="AABB">
</argument>
<description>
Set the visibility AABB. If not provided, MultiMesh will not be visible.
</description>
</method>
<method name="set_instance_color">
<argument index="0" name="instance" type="int">
</argument>
<argument index="1" name="color" type="Color">
</argument>
<description>
Set the color of a specific instance.
</description>
</method>
<method name="set_instance_count">
<argument index="0" name="count" type="int">
</argument>
<description>
Set the amount of instances that is going to be drawn. Changing this number will erase all the existing instance transform and color data.
</description>
</method>
<method name="set_instance_transform">
<argument index="0" name="instance" type="int">
</argument>
<argument index="1" name="transform" type="Transform">
</argument>
<description>
Set the transform for a specific instance.
</description>
</method>
<method name="set_mesh">
<argument index="0" name="mesh" type="Mesh">
</argument>
<description>
Set the [Mesh] resource to be drawn in multiple instances.
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="MultiMeshInstance" inherits="GeometryInstance" category="Core">
<brief_description>
Node that instances a [MultiMesh].
</brief_description>
<description>
MultiMeshInstance is a [Node] that takes a [MultiMesh] resource and adds it to the current scenario by creating an instance of it (yes, this is an instance of instances).
</description>
<methods>
<method name="get_multimesh" qualifiers="const">
<return type="Object">
</return>
<description>
Return the [MultiMesh] that is used for instancing.
</description>
</method>
<method name="set_multimesh">
<argument index="0" name="multimesh" type="Object">
</argument>
<description>
Set the [MultiMesh] to be instance.
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="Mutex" inherits="Reference" category="Core">
<brief_description>
A synchronization Mutex.
</brief_description>
<description>
A synchronization Mutex. Element used in multi-threadding. Basically a binary [Semaphore]. Guarantees that only one thread has this lock, can be used to protect a critical section.
</description>
<methods>
<method name="lock">
<description>
Lock this [Mutex], blocks until it is unlocked by the current owner.
</description>
</method>
<method name="try_lock">
<return type="Error">
</return>
<description>
Try locking this [Mutex], does not block. Returns [OK] on success else [ERR_BUSY].
</description>
</method>
<method name="unlock">
<description>
Unlock this [Mutex], leaving it to others threads.
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="Navigation" inherits="Spatial" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
<method name="get_closest_point">
<return type="Vector3">
</return>
<argument index="0" name="to_point" type="Vector3">
</argument>
<description>
</description>
</method>
<method name="get_closest_point_normal">
<return type="Vector3">
</return>
<argument index="0" name="to_point" type="Vector3">
</argument>
<description>
</description>
</method>
<method name="get_closest_point_owner">
<return type="Object">
</return>
<argument index="0" name="to_point" type="Vector3">
</argument>
<description>
</description>
</method>
<method name="get_closest_point_to_segment">
<return type="Vector3">
</return>
<argument index="0" name="start" type="Vector3">
</argument>
<argument index="1" name="end" type="Vector3">
</argument>
<argument index="2" name="use_collision" type="bool" default="false">
</argument>
<description>
</description>
</method>
<method name="get_simple_path">
<return type="Vector3Array">
</return>
<argument index="0" name="start" type="Vector3">
</argument>
<argument index="1" name="end" type="Vector3">
</argument>
<argument index="2" name="optimize" type="bool" default="true">
</argument>
<description>
</description>
</method>
<method name="get_up_vector" qualifiers="const">
<return type="Vector3">
</return>
<description>
</description>
</method>
<method name="navmesh_create">
<return type="int">
</return>
<argument index="0" name="mesh" type="NavigationMesh">
</argument>
<argument index="1" name="xform" type="Transform">
</argument>
<argument index="2" name="owner" type="Object" default="NULL">
</argument>
<description>
</description>
</method>
<method name="navmesh_remove">
<argument index="0" name="id" type="int">
</argument>
<description>
</description>
</method>
<method name="navmesh_set_transform">
<argument index="0" name="id" type="int">
</argument>
<argument index="1" name="xform" type="Transform">
</argument>
<description>
</description>
</method>
<method name="set_up_vector">
<argument index="0" name="up" type="Vector3">
</argument>
<description>
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="Navigation2D" inherits="Node2D" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
<method name="get_closest_point">
<return type="Vector2">
</return>
<argument index="0" name="to_point" type="Vector2">
</argument>
<description>
</description>
</method>
<method name="get_closest_point_owner">
<return type="Object">
</return>
<argument index="0" name="to_point" type="Vector2">
</argument>
<description>
</description>
</method>
<method name="get_simple_path">
<return type="Vector2Array">
</return>
<argument index="0" name="start" type="Vector2">
</argument>
<argument index="1" name="end" type="Vector2">
</argument>
<argument index="2" name="optimize" type="bool" default="true">
</argument>
<description>
</description>
</method>
<method name="navpoly_create">
<return type="int">
</return>
<argument index="0" name="mesh" type="NavigationPolygon">
</argument>
<argument index="1" name="xform" type="Matrix32">
</argument>
<argument index="2" name="owner" type="Object" default="NULL">
</argument>
<description>
</description>
</method>
<method name="navpoly_remove">
<argument index="0" name="id" type="int">
</argument>
<description>
</description>
</method>
<method name="navpoly_set_transform">
<argument index="0" name="id" type="int">
</argument>
<argument index="1" name="xform" type="Matrix32">
</argument>
<description>
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="NavigationMesh" inherits="Resource" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
<method name="add_polygon">
<argument index="0" name="polygon" type="IntArray">
</argument>
<description>
</description>
</method>
<method name="clear_polygons">
<description>
</description>
</method>
<method name="get_polygon">
<return type="IntArray">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
</description>
</method>
<method name="get_polygon_count" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_vertices" qualifiers="const">
<return type="Vector3Array">
</return>
<description>
</description>
</method>
<method name="set_vertices">
<argument index="0" name="vertices" type="Vector3Array">
</argument>
<description>
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="NavigationMeshInstance" inherits="Spatial" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
<method name="get_navigation_mesh" qualifiers="const">
<return type="Object">
</return>
<description>
</description>
</method>
<method name="is_enabled" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="set_enabled">
<argument index="0" name="enabled" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_navigation_mesh">
<argument index="0" name="navmesh" type="Object">
</argument>
<description>
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="NavigationPolygon" inherits="Resource" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
<method name="add_outline">
<argument index="0" name="outline" type="Vector2Array">
</argument>
<description>
</description>
</method>
<method name="add_outline_at_index">
<argument index="0" name="outline" type="Vector2Array">
</argument>
<argument index="1" name="index" type="int">
</argument>
<description>
</description>
</method>
<method name="add_polygon">
<argument index="0" name="polygon" type="IntArray">
</argument>
<description>
</description>
</method>
<method name="clear_outlines">
<description>
</description>
</method>
<method name="clear_polygons">
<description>
</description>
</method>
<method name="get_outline" qualifiers="const">
<return type="Vector2Array">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
</description>
</method>
<method name="get_outline_count" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_polygon">
<return type="IntArray">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
</description>
</method>
<method name="get_polygon_count" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_vertices" qualifiers="const">
<return type="Vector2Array">
</return>
<description>
</description>
</method>
<method name="make_polygons_from_outlines">
<description>
</description>
</method>
<method name="remove_outline">
<argument index="0" name="idx" type="int">
</argument>
<description>
</description>
</method>
<method name="set_outline">
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="outline" type="Vector2Array">
</argument>
<description>
</description>
</method>
<method name="set_vertices">
<argument index="0" name="vertices" type="Vector2Array">
</argument>
<description>
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="NavigationPolygonInstance" inherits="Node2D" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
<method name="get_navigation_polygon" qualifiers="const">
<return type="NavigationPolygon">
</return>
<description>
</description>
</method>
<method name="is_enabled" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="set_enabled">
<argument index="0" name="enabled" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_navigation_polygon">
<argument index="0" name="navpoly" type="NavigationPolygon">
</argument>
<description>
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="Nil" category="Built-In Types">
<brief_description>
</brief_description>
<description>
</description>
<methods>
<method name="Nil">
<argument index="0" name="from" type="ColorArray">
</argument>
<description>
</description>
</method>
<method name="Nil">
<argument index="0" name="from" type="Vector3Array">
</argument>
<description>
</description>
</method>
<method name="Nil">
<argument index="0" name="from" type="Vector2Array">
</argument>
<description>
</description>
</method>
<method name="Nil">
<argument index="0" name="from" type="StringArray">
</argument>
<description>
</description>
</method>
<method name="Nil">
<argument index="0" name="from" type="RealArray">
</argument>
<description>
</description>
</method>
<method name="Nil">
<argument index="0" name="from" type="IntArray">
</argument>
<description>
</description>
</method>
<method name="Nil">
<argument index="0" name="from" type="RawArray">
</argument>
<description>
</description>
</method>
<method name="Nil">
<argument index="0" name="from" type="Array">
</argument>
<description>
</description>
</method>
<method name="Nil">
<argument index="0" name="from" type="Dictionary">
</argument>
<description>
</description>
</method>
<method name="Nil">
<argument index="0" name="from" type="InputEvent">
</argument>
<description>
</description>
</method>
<method name="Nil">
<argument index="0" name="from" type="Object">
</argument>
<description>
</description>
</method>
<method name="Nil">
<argument index="0" name="from" type="RID">
</argument>
<description>
</description>
</method>
<method name="Nil">
<argument index="0" name="from" type="NodePath">
</argument>
<description>
</description>
</method>
<method name="Nil">
<argument index="0" name="from" type="Image">
</argument>
<description>
</description>
</method>
<method name="Nil">
<argument index="0" name="from" type="Color">
</argument>
<description>
</description>
</method>
<method name="Nil">
<argument index="0" name="from" type="Transform">
</argument>
<description>
</description>
</method>
<method name="Nil">
<argument index="0" name="from" type="Matrix3">
</argument>
<description>
</description>
</method>
<method name="Nil">
<argument index="0" name="from" type="AABB">
</argument>
<description>
</description>
</method>
<method name="Nil">
<argument index="0" name="from" type="Quat">
</argument>
<description>
</description>
</method>
<method name="Nil">
<argument index="0" name="from" type="Plane">
</argument>
<description>
</description>
</method>
<method name="Nil">
<argument index="0" name="from" type="Matrix32">
</argument>
<description>
</description>
</method>
<method name="Nil">
<argument index="0" name="from" type="Vector3">
</argument>
<description>
</description>
</method>
<method name="Nil">
<argument index="0" name="from" type="Rect2">
</argument>
<description>
</description>
</method>
<method name="Nil">
<argument index="0" name="from" type="Vector2">
</argument>
<description>
</description>
</method>
<method name="Nil">
<argument index="0" name="from" type="String">
</argument>
<description>
</description>
</method>
<method name="Nil">
<argument index="0" name="from" type="float">
</argument>
<description>
</description>
</method>
<method name="Nil">
<argument index="0" name="from" type="int">
</argument>
<description>
</description>
</method>
<method name="Nil">
<argument index="0" name="from" type="bool">
</argument>
<description>
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="Node" inherits="Object" category="Core">
<brief_description>
Base class for all the "Scene" elements.
</brief_description>
<description>
Nodes can be set as children of other nodes, resulting in a tree arrangement. Any tree of nodes is called a "Scene".
Scenes can be saved to disk, and then instanced into other scenes. This allows for very high flexibility in the architecture and data model of the projects.
[SceneTree] contains the "active" tree of nodes, and a node becomes active (receiving NOTIFICATION_ENTER_SCENE) when added to that tree.
A node can contain any number of nodes as a children (but there is only one tree root) with the requirement that no two children with the same name can exist.
Nodes can, optionally, be added to groups. This makes it easy to reach a number of nodes from the code (for example an "enemies" group).
Nodes can be set to "process" state, so they constantly receive a callback requesting them to process (do anything). Normal processing ([method _process]) happens as fast as possible and is dependent on the frame rate, so the processing time delta is variable. Fixed processing ([method _fixed_process]) happens a fixed amount of times per second (by default 60) and is useful to link itself to the physics.
Nodes can also process input events. When set, the [method _input] function will be called with every input that the program receives. Since this is usually too overkill (unless used for simple projects), an [method _unhandled_input] function is called when the input was not handled by anyone else (usually, GUI [Control] nodes).
To keep track of the scene hierarchy (specially when instancing scenes into scenes) an "owner" can be set to a node. This keeps track of who instanced what. This is mostly useful when writing editors and tools, though.
Finally, when a node is freed, it will free all its children nodes too.
</description>
<methods>
<method name="_enter_tree" qualifiers="virtual">
<description>
</description>
</method>
<method name="_exit_tree" qualifiers="virtual">
<description>
</description>
</method>
<method name="_fixed_process" qualifiers="virtual">
<argument index="0" name="delta" type="float">
</argument>
<description>
Called for fixed processing (synced to the physics).
</description>
</method>
<method name="_input" qualifiers="virtual">
<argument index="0" name="event" type="InputEvent">
</argument>
<description>
Called when any input happens (also must enable with [method set_process_input] or the property).
</description>
</method>
<method name="_process" qualifiers="virtual">
<argument index="0" name="delta" type="float">
</argument>
<description>
Called for processing. This is called every frame, with the delta time from the previous frame.
</description>
</method>
<method name="_ready" qualifiers="virtual">
<description>
Called when ready (entered scene and children entered too).
</description>
</method>
<method name="_unhandled_input" qualifiers="virtual">
<argument index="0" name="event" type="InputEvent">
</argument>
<description>
Called when any input happens that was not handled by something else (also must enable with [method set_process_unhandled_input] or the property).
</description>
</method>
<method name="_unhandled_key_input" qualifiers="virtual">
<argument index="0" name="key_event" type="InputEvent">
</argument>
<description>
Called when any key input happens that was not handled by something else.
</description>
</method>
<method name="add_child">
<argument index="0" name="node" type="Node">
</argument>
<argument index="1" name="legible_unique_name" type="bool" default="false">
</argument>
<description>
Add a child [Node]. Nodes can have as many children as they want, but every child must have a unique name. Children nodes are automatically deleted when the parent node is deleted, so deleting a whole scene is performed by deleting its topmost node.
The optional boolean argument enforces creating child node with human-readable names, based on the name of node being instanced instead of its type only.
</description>
</method>
<method name="add_to_group">
<argument index="0" name="group" type="String">
</argument>
<argument index="1" name="persistent" type="bool" default="false">
</argument>
<description>
Add a node to a group. Groups are helpers to name and organize group of nodes, like for example: "Enemies", "Collectables", etc. A [Node] can be in any number of groups. Nodes can be assigned a group at any time, but will not be added to it until they are inside the scene tree (see [method is_inside_tree]).
</description>
</method>
<method name="can_process" qualifiers="const">
<return type="bool">
</return>
<description>
Return true if the node can process.
</description>
</method>
<method name="duplicate" qualifiers="const">
<return type="Node">
</return>
<argument index="0" name="use_instancing" type="bool" default="false">
</argument>
<description>
</description>
</method>
<method name="find_node" qualifiers="const">
<return type="Node">
</return>
<argument index="0" name="mask" type="String">
</argument>
<argument index="1" name="recursive" type="bool" default="true">
</argument>
<argument index="2" name="owned" type="bool" default="true">
</argument>
<description>
Find a descendant of this node whose name matches [code]mask[/code] as in [method String.match] (i.e. case sensitive, but '*' matches zero or more characters and '?' matches any single character except '.'). Note that it does not match against the full path, just against individual node names.
</description>
</method>
<method name="get_child" qualifiers="const">
<return type="Node">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
Return a children node by it's index (see [method get_child_count]). This method is often used for iterating all children of a node.
</description>
</method>
<method name="get_child_count" qualifiers="const">
<return type="int">
</return>
<description>
Return the amount of children nodes.
</description>
</method>
<method name="get_children" qualifiers="const">
<return type="Array">
</return>
<description>
</description>
</method>
<method name="get_filename" qualifiers="const">
<return type="String">
</return>
<description>
Return a filename that may be containedA node can contained by the node. When a scene is instanced from a file, it topmost node contains the filename from where it was loaded (see [method set_filename]).
</description>
</method>
<method name="get_fixed_process_delta_time" qualifiers="const">
<return type="float">
</return>
<description>
Return the time elapsed since the last fixed frame. This is always the same in fixed processing unless the frames per second is changed in [OS].
</description>
</method>
<method name="get_groups" qualifiers="const">
<return type="Array">
</return>
<description>
</description>
</method>
<method name="get_index" qualifiers="const">
<return type="int">
</return>
<description>
Get the node index in the parent (assuming it has a parent).
</description>
</method>
<method name="get_name" qualifiers="const">
<return type="String">
</return>
<description>
Return the name of the [Node]. Name is be unique within parent.
</description>
</method>
<method name="get_node" qualifiers="const">
<return type="Node">
</return>
<argument index="0" name="path" type="NodePath">
</argument>
<description>
Fetch a node. NodePath must be valid (or else error will occur) and can be either the path to child node, a relative path (from the current node to another node), or an absolute path to a node.
Note: fetching absolute paths only works when the node is inside the scene tree (see [method is_inside_tree]). Examples. Assume your current node is Character and following tree:[br]
root/
root/Character
root/Character/Sword
root/Character/Backpack/Dagger
root/MyGame
root/Swamp/Alligator
root/Swamp/Mosquito
root/Swamp/Goblin
Possible paths are:
- get_node("Sword")
- get_node("Backpack/Dagger")
- get_node("../Swamp/Alligator")
- get_node("/root/MyGame")
</description>
</method>
<method name="get_node_and_resource">
<return type="Array">
</return>
<argument index="0" name="path" type="NodePath">
</argument>
<description>
</description>
</method>
<method name="get_owner" qualifiers="const">
<return type="Node">
</return>
<description>
Get the node owner (see [method set_owner]).
</description>
</method>
<method name="get_parent" qualifiers="const">
<return type="Node">
</return>
<description>
Return the parent [Node] of the current [Node], or an empty Object if the node lacks a parent.
</description>
</method>
<method name="get_path" qualifiers="const">
<return type="NodePath">
</return>
<description>
Return the absolute path of the current node. This only works if the current node is inside the scene tree (see [method is_inside_tree]).
</description>
</method>
<method name="get_path_to" qualifiers="const">
<return type="NodePath">
</return>
<argument index="0" name="node" type="Node">
</argument>
<description>
Return the relative path from the current node to the specified node in "node" argument. Both nodes must be in the same scene, or else the function will fail.
</description>
</method>
<method name="get_pause_mode" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_position_in_parent" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_process_delta_time" qualifiers="const">
<return type="float">
</return>
<description>
Return the time elapsed (in seconds) since the last process callback. This is almost always different each time.
</description>
</method>
<method name="get_scene_instance_load_placeholder" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="get_tree" qualifiers="const">
<return type="SceneTree">
</return>
<description>
</description>
</method>
<method name="get_viewport" qualifiers="const">
<return type="Object">
</return>
<description>
</description>
</method>
<method name="has_node" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="path" type="NodePath">
</argument>
<description>
</description>
</method>
<method name="has_node_and_resource" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="path" type="NodePath">
</argument>
<description>
</description>
</method>
<method name="is_a_parent_of" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="node" type="Node">
</argument>
<description>
Return [i]true[/i] if the "node" argument is a direct or indirect child of the current node, otherwise return [i]false[/i].
</description>
</method>
<method name="is_fixed_processing" qualifiers="const">
<return type="bool">
</return>
<description>
Return true if fixed processing is enabled (see [method set_fixed_process]).
</description>
</method>
<method name="is_greater_than" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="node" type="Node">
</argument>
<description>
Return [i]true[/i] if "node" occurs later in the scene hierarchy than the current node, otherwise return [i]false[/i].
</description>
</method>
<method name="is_in_group" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="group" type="String">
</argument>
<description>
</description>
</method>
<method name="is_inside_tree" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="is_processing" qualifiers="const">
<return type="bool">
</return>
<description>
Return whether processing is enabled in the current node (see [method set_process]).
</description>
</method>
<method name="is_processing_input" qualifiers="const">
<return type="bool">
</return>
<description>
Return true if the node is processing input (see [method set_process_input]).
</description>
</method>
<method name="is_processing_unhandled_input" qualifiers="const">
<return type="bool">
</return>
<description>
Return true if the node is processing unhandled input (see [method set_process_unhandled_input]).
</description>
</method>
<method name="is_processing_unhandled_key_input" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="move_child">
<argument index="0" name="child_node" type="Node">
</argument>
<argument index="1" name="to_pos" type="int">
</argument>
<description>
Move a child node to a different position (order) amongst the other children. Since calls, signals, etc are performed by tree order, changing the order of children nodes may be useful.
</description>
</method>
<method name="print_stray_nodes">
<description>
</description>
</method>
<method name="print_tree">
<description>
Print the scene to stdout. Used mainly for debugging purposes.
</description>
</method>
<method name="propagate_notification">
<argument index="0" name="what" type="int">
</argument>
<description>
Notify the current node and all its children recursively by calling notification() in all of them.
</description>
</method>
<method name="queue_free">
<description>
</description>
</method>
<method name="raise">
<description>
Move this node to the top of the array of nodes of the parent node. This is often useful on GUIs ([Control]), because their order of drawing fully depends on their order in the tree.
</description>
</method>
<method name="remove_and_skip">
<description>
Remove a node and set all its children as children of the parent node (if exists). All even subscriptions that pass by the removed node will be unsubscribed.
</description>
</method>
<method name="remove_child">
<argument index="0" name="node" type="Node">
</argument>
<description>
Remove a child [Node]. Node is NOT deleted and will have to be deleted manually.
</description>
</method>
<method name="remove_from_group">
<argument index="0" name="group" type="String">
</argument>
<description>
Remove a node from a group.
</description>
</method>
<method name="replace_by">
<argument index="0" name="node" type="Node">
</argument>
<argument index="1" name="keep_data" type="bool" default="false">
</argument>
<description>
Replace a node in a scene by a given one. Subscriptions that pass through this node will be lost.
</description>
</method>
<method name="set_filename">
<argument index="0" name="filename" type="String">
</argument>
<description>
A node can contain a filename. This filename should not be changed by the user, unless writing editors and tools. When a scene is instanced from a file, it topmost node contains the filename from where it was loaded.
</description>
</method>
<method name="set_fixed_process">
<argument index="0" name="enable" type="bool">
</argument>
<description>
Enables or disables node fixed framerate processing. When a node is being processed, it will receive a NOTIFICATION_PROCESS at a fixed (usually 60 fps, check [OS] to change that) interval (and the [method _fixed_process] callback will be called if exists). It is common to check how much time was elapsed since the previous frame by calling [method get_fixed_process_delta_time].
</description>
</method>
<method name="set_name">
<argument index="0" name="name" type="String">
</argument>
<description>
Set the name of the [Node]. Name must be unique within parent, and setting an already existing name will cause for the node to be automatically renamed.
</description>
</method>
<method name="set_owner">
<argument index="0" name="owner" type="Node">
</argument>
<description>
Set the node owner. A node can have any other node as owner (as long as a valid parent, grandparent, etc ascending in the tree). When saving a node (using SceneSaver) all the nodes it owns will be saved with it. This allows to create complex SceneTrees, with instancing and subinstancing.
</description>
</method>
<method name="set_pause_mode">
<argument index="0" name="mode" type="int">
</argument>
<description>
</description>
</method>
<method name="set_process">
<argument index="0" name="enable" type="bool">
</argument>
<description>
Enables or disables node processing. When a node is being processed, it will receive a NOTIFICATION_PROCESS on every drawn frame (and the [method _process] callback will be called if exists). It is common to check how much time was elapsed since the previous frame by calling [method get_process_delta_time].
</description>
</method>
<method name="set_process_input">
<argument index="0" name="enable" type="bool">
</argument>
<description>
Enable input processing for node. This is not required for GUI controls! It hooks up the node to receive all input (see [method _input]).
</description>
</method>
<method name="set_process_unhandled_input">
<argument index="0" name="enable" type="bool">
</argument>
<description>
Enable unhandled input processing for node. This is not required for GUI controls! It hooks up the node to receive all input that was not previously handled before (usually by a [Control]). (see [method _unhandled_input]).
</description>
</method>
<method name="set_process_unhandled_key_input">
<argument index="0" name="enable" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_scene_instance_load_placeholder">
<argument index="0" name="load_placeholder" type="bool">
</argument>
<description>
</description>
</method>
</methods>
<signals>
<signal name="enter_tree">
<description>
</description>
</signal>
<signal name="exit_tree">
<description>
</description>
</signal>
<signal name="renamed">
<description>
Emitted when the node is renamed.
</description>
</signal>
</signals>
<constants>
<constant name="NOTIFICATION_ENTER_TREE" value="10">
</constant>
<constant name="NOTIFICATION_EXIT_TREE" value="11">
</constant>
<constant name="NOTIFICATION_MOVED_IN_PARENT" value="12">
</constant>
<constant name="NOTIFICATION_READY" value="13">
</constant>
<constant name="NOTIFICATION_FIXED_PROCESS" value="16">
</constant>
<constant name="NOTIFICATION_PROCESS" value="17">
Notification received every frame when the process flag is set (see [method set_process]).
</constant>
<constant name="NOTIFICATION_PARENTED" value="18">
Notification received when a node is set as a child of another node. Note that this doesn't mean that a node entered the Scene Tree.
</constant>
<constant name="NOTIFICATION_UNPARENTED" value="19">
Notification received when a node is unparented (parent removed it from the list of children).
</constant>
<constant name="NOTIFICATION_PAUSED" value="14">
</constant>
<constant name="NOTIFICATION_UNPAUSED" value="15">
</constant>
<constant name="NOTIFICATION_INSTANCED" value="20">
</constant>
<constant name="PAUSE_MODE_INHERIT" value="0">
</constant>
<constant name="PAUSE_MODE_STOP" value="1">
</constant>
<constant name="PAUSE_MODE_PROCESS" value="2">
</constant>
</constants>
</class>
<class name="Node2D" inherits="CanvasItem" category="Core">
<brief_description>
Base node for 2D system.
</brief_description>
<description>
Base node for 2D system. Node2D contains a position, rotation and scale, which is used to position and animate. It can alternatively be used with a custom 2D transform ([Matrix32]). A tree of Node2Ds allows complex hierarchies for animation and positioning.
</description>
<methods>
<method name="edit_set_pivot">
<argument index="0" name="pivot" type="Vector2">
</argument>
<description>
Set the pivot position of the 2D node to 'pivot' value. This method is implemented only in some nodes that inherit Node2D.
</description>
</method>
<method name="get_angle_to" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="point" type="Vector2">
</argument>
<description>
Return the rotation angle in radians needed for the 2d node to point at 'point' position.
</description>
</method>
<method name="get_global_pos" qualifiers="const">
<return type="Vector2">
</return>
<description>
Return the global position of the 2D node.
</description>
</method>
<method name="get_pos" qualifiers="const">
<return type="Vector2">
</return>
<description>
Return the position of the 2D node.
</description>
</method>
<method name="get_relative_transform_to_parent" qualifiers="const">
<return type="Matrix32">
</return>
<argument index="0" name="parent" type="Object">
</argument>
<description>
Return the transform [Matrix32] calculated relatively to the parent of this 2D node.
</description>
</method>
<method name="get_rot" qualifiers="const">
<return type="float">
</return>
<description>
Return the rotation of the 2D node.
</description>
</method>
<method name="get_rotd" qualifiers="const">
<return type="float">
</return>
<description>
</description>
</method>
<method name="get_scale" qualifiers="const">
<return type="Vector2">
</return>
<description>
Return the scale of the 2D node.
</description>
</method>
<method name="get_z" qualifiers="const">
<return type="int">
</return>
<description>
Return the Z-index of the 2D node.
</description>
</method>
<method name="global_translate">
<argument index="0" name="offset" type="Vector2">
</argument>
<description>
Apply a global translation of 'offset' to the 2D node, starting from its current global position.
</description>
</method>
<method name="is_z_relative" qualifiers="const">
<return type="bool">
</return>
<description>
Return true if the Z-index value of this 2D node is relative to its parent's. Else, return false.
</description>
</method>
<method name="look_at">
<argument index="0" name="point" type="Vector2">
</argument>
<description>
Rotate the 2d node so it points at 'point' position.
</description>
</method>
<method name="move_local_x">
<argument index="0" name="delta" type="float">
</argument>
<argument index="1" name="scaled" type="bool" default="false">
</argument>
<description>
Apply a local translation on X axis to the 2D node according to the 'delta' of the process. If 'scaled' is false, the movement is normalized.
</description>
</method>
<method name="move_local_y">
<argument index="0" name="delta" type="float">
</argument>
<argument index="1" name="scaled" type="bool" default="false">
</argument>
<description>
Apply a local translation on Y axis to the 2D node according to the 'delta' of the process. If 'scaled' is false, the movement is normalized.
</description>
</method>
<method name="rotate">
<argument index="0" name="radians" type="float">
</argument>
<description>
Apply a 'radians' rotation to the 2D node, starting from its current rotation.
</description>
</method>
<method name="scale">
<argument index="0" name="ratio" type="Vector2">
</argument>
<description>
Apply the 'ratio' scale to the 2D node, according to its current scale value.
</description>
</method>
<method name="set_global_pos">
<argument index="0" name="pos" type="Vector2">
</argument>
<description>
Set the global position of the 2D node to 'pos'.
</description>
</method>
<method name="set_global_transform">
<argument index="0" name="xform" type="Matrix32">
</argument>
<description>
Set the global transform [Matrix32] of the 2D node.
</description>
</method>
<method name="set_pos">
<argument index="0" name="pos" type="Vector2">
</argument>
<description>
Set the position of the 2D node.
</description>
</method>
<method name="set_rot">
<argument index="0" name="radians" type="float">
</argument>
<description>
Set the rotation of the 2D node.
</description>
</method>
<method name="set_rotd">
<argument index="0" name="degrees" type="float">
</argument>
<description>
Set the rotation of the 2D node.
</description>
</method>
<method name="set_scale">
<argument index="0" name="scale" type="Vector2">
</argument>
<description>
Set the scale of the 2D node.
</description>
</method>
<method name="set_transform">
<argument index="0" name="xform" type="Matrix32">
</argument>
<description>
Set the local transform [Matrix32] of the 2D node.
</description>
</method>
<method name="set_z">
<argument index="0" name="z" type="int">
</argument>
<description>
Set the Z-index value of the 2D node.
</description>
</method>
<method name="set_z_as_relative">
<argument index="0" name="enable" type="bool">
</argument>
<description>
Set the Z-index value as relative to the parent node of this 2D node. Thus, if this 2D node's Z-index value is 2 and its parent's effective Z-index is 3, then the effective Z-index value of this 2D node would be 3 + 2 = 5.
</description>
</method>
<method name="translate">
<argument index="0" name="offset" type="Vector2">
</argument>
<description>
Apply a local translation of 'offset' to the 2D node, starting from its current local position.
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="NodePath" category="Built-In Types">
<brief_description>
Pre-parsed scene tree path.
</brief_description>
<description>
A pre-parsed relative or absolute path in a scene tree, for use with [method Node.get_node] and similar functions. It can reference a node, a resource within a node, or a property of a node or resource. For instance, [code]"Path2D/PathFollow2D/Sprite:texture:size"[/code] would refer to the size property of the texture resource on the node named "Sprite" which is a child of the other named nodes in the path. Note that if you want to get a resource, you must end the path with a colon, otherwise the last element will be used as a property name.
You will usually just pass a string to [method Node.get_node] and it will be automatically converted, but you may occasionally want to parse a path ahead of time with [NodePath] or the literal syntax [code]@"path"[/code]. Exporting a [NodePath] variable will give you a node selection widget in the properties panel of the editor, which can often be useful.
A [NodePath] is made up of a list of node names, a list of "subnode" (resource) names, and the name of a property in the final node or resource.
</description>
<methods>
<method name="NodePath">
<return type="NodePath">
</return>
<argument index="0" name="from" type="String">
</argument>
<description>
Create a NodePath from a string, e.g. "Path2D/PathFollow2D/Sprite:texture:size". A path is absolute if it starts with a slash. Absolute paths are only valid in the global scene tree, not within individual scenes. In a relative path, [code]"."[/code] and [code]".."[/code] indicate the current node and its parent.
</description>
</method>
<method name="get_name">
<return type="String">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
Get the node name indicated by [code]idx[/code] (0 to [method get_name_count])
</description>
</method>
<method name="get_name_count">
<return type="int">
</return>
<description>
Get the number of node names which make up the path.
</description>
</method>
<method name="get_property">
<return type="String">
</return>
<description>
Get the path's property name, or an empty string if the path doesn't have a property.
</description>
</method>
<method name="get_subname">
<return type="String">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
Get the resource name indicated by [code]idx[/code] (0 to [method get_subname_count])
</description>
</method>
<method name="get_subname_count">
<return type="int">
</return>
<description>
Get the number of resource names in the path.
</description>
</method>
<method name="is_absolute">
<return type="bool">
</return>
<description>
Return true if the node path is absolute (not relative).
</description>
</method>
<method name="is_empty">
<return type="bool">
</return>
<description>
Return true if the node path is empty.
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="OS" inherits="Object" category="Core">
<brief_description>
Operating System functions.
</brief_description>
<description>
Operating System functions. OS Wraps the most common functionality to communicate with the host Operating System, such as:
-Mouse Grabbing
-Mouse Cursors
-Clipboard
-Video Mode
-Date " Time
-Timers
-Environment Variables
-Execution of Binaries
-Command Line
</description>
<methods>
<method name="alert">
<argument index="0" name="text" type="String">
</argument>
<argument index="1" name="title" type="String" default="&quot;Alert!&quot;">
</argument>
<description>
</description>
</method>
<method name="can_draw" qualifiers="const">
<return type="bool">
</return>
<description>
Return true if the host OS allows drawing.
</description>
</method>
<method name="can_use_threads" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="delay_msec" qualifiers="const">
<argument index="0" name="msec" type="int">
</argument>
<description>
Delay executing of the current thread by given milliseconds.
</description>
</method>
<method name="delay_usec" qualifiers="const">
<argument index="0" name="usec" type="int">
</argument>
<description>
Delay executing of the current thread by given microseconds.
</description>
</method>
<method name="dump_memory_to_file">
<argument index="0" name="file" type="String">
</argument>
<description>
</description>
</method>
<method name="dump_resources_to_file">
<argument index="0" name="file" type="String">
</argument>
<description>
</description>
</method>
<method name="execute">
<return type="int">
</return>
<argument index="0" name="path" type="String">
</argument>
<argument index="1" name="arguments" type="StringArray">
</argument>
<argument index="2" name="blocking" type="bool">
</argument>
<argument index="3" name="output" type="Array" default="Array()">
</argument>
<description>
Execute the binary file in given path, optionally blocking until it returns. A process ID is returned.
</description>
</method>
<method name="find_scancode_from_string" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="string" type="String">
</argument>
<description>
</description>
</method>
<method name="get_clipboard" qualifiers="const">
<return type="String">
</return>
<description>
Get clipboard from the host OS.
</description>
</method>
<method name="get_cmdline_args">
<return type="StringArray">
</return>
<description>
Return the commandline passed to the engine.
</description>
</method>
<method name="get_current_screen" qualifiers="const">
<return type="int">
</return>
<description>
Returns the current screen index (0 padded).
</description>
</method>
<method name="get_custom_level" qualifiers="const">
<return type="String">
</return>
<description>
</description>
</method>
<method name="get_data_dir" qualifiers="const">
<return type="String">
</return>
<description>
Return the absolute directory path of user data path([user://]).
</description>
</method>
<method name="get_date" qualifiers="const">
<return type="Dictionary">
</return>
<argument index="0" name="utc" type="bool" default="false">
</argument>
<description>
</description>
</method>
<method name="get_dynamic_memory_usage" qualifiers="const">
<return type="int">
</return>
<description>
Return the total amount of dynamic memory used (only works in debug).
</description>
</method>
<method name="get_environment" qualifiers="const">
<return type="String">
</return>
<argument index="0" name="environment" type="String">
</argument>
<description>
Return an environment variable.
</description>
</method>
<method name="get_executable_path" qualifiers="const">
<return type="String">
</return>
<description>
Return the path to the current engine executable.
</description>
</method>
<method name="get_frames_drawn">
<return type="int">
</return>
<description>
Return the total amount of frames drawn.
</description>
</method>
<method name="get_frames_per_second" qualifiers="const">
<return type="float">
</return>
<description>
Returns the frames per second of the running game.
</description>
</method>
<method name="get_fullscreen_mode_list" qualifiers="const">
<return type="Array">
</return>
<argument index="0" name="screen" type="int" default="0">
</argument>
<description>
Return the list of fullscreen modes.
</description>
</method>
<method name="get_iterations_per_second" qualifiers="const">
<return type="int">
</return>
<description>
Return the amount of fixed iterations per second (for fixed process and physics).
</description>
</method>
<method name="get_locale" qualifiers="const">
<return type="String">
</return>
<description>
Return the host OS locale.
</description>
</method>
<method name="get_main_loop" qualifiers="const">
<return type="Object">
</return>
<description>
Return the main loop object (see [MainLoop]).
</description>
</method>
<method name="get_model_name" qualifiers="const">
<return type="String">
</return>
<description>
</description>
</method>
<method name="get_name" qualifiers="const">
<return type="String">
</return>
<description>
Return the name of the host OS. Possible values are: "Android", "BlackBerry 10", "Flash", "Haiku", "iOS", "HTML5", "OSX", "Server", "Windows", "WinRT", "X11"
</description>
</method>
<method name="get_process_ID" qualifiers="const">
<return type="int">
</return>
<description>
Returns the game process ID
</description>
</method>
<method name="get_processor_count" qualifiers="const">
<return type="int">
</return>
<description>
Returns the number of cores available in the host machine.
</description>
</method>
<method name="get_scancode_string" qualifiers="const">
<return type="String">
</return>
<argument index="0" name="code" type="int">
</argument>
<description>
</description>
</method>
<method name="get_screen_count" qualifiers="const">
<return type="int">
</return>
<description>
Returns the number of displays attached to the host machine
</description>
</method>
<method name="get_screen_orientation" qualifiers="const">
<return type="int">
</return>
<description>
Returns the current screen orientation, the return value will be one of the SCREEN_ORIENTATION constants in this class.
</description>
</method>
<method name="get_screen_position" qualifiers="const">
<return type="Vector2">
</return>
<argument index="0" name="screen" type="int" default="0">
</argument>
<description>
</description>
</method>
<method name="get_screen_size" qualifiers="const">
<return type="Vector2">
</return>
<argument index="0" name="screen" type="int" default="0">
</argument>
<description>
Returns the dimensions in pixels of the specified screen.
</description>
</method>
<method name="get_splash_tick_msec" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_static_memory_peak_usage" qualifiers="const">
<return type="int">
</return>
<description>
Return the max amount of static memory used (only works in debug).
</description>
</method>
<method name="get_static_memory_usage" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_system_dir" qualifiers="const">
<return type="String">
</return>
<argument index="0" name="dir" type="int">
</argument>
<description>
</description>
</method>
<method name="get_system_time_secs" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_target_fps" qualifiers="const">
<return type="float">
</return>
<description>
</description>
</method>
<method name="get_ticks_msec" qualifiers="const">
<return type="int">
</return>
<description>
Return the amount of time passed in milliseconds since the engine started.
</description>
</method>
<method name="get_time" qualifiers="const">
<return type="Dictionary">
</return>
<argument index="0" name="utc" type="bool" default="false">
</argument>
<description>
</description>
</method>
<method name="get_time_scale">
<return type="float">
</return>
<description>
</description>
</method>
<method name="get_time_zone_info" qualifiers="const">
<return type="Dictionary">
</return>
<description>
</description>
</method>
<method name="get_unique_ID" qualifiers="const">
<return type="String">
</return>
<description>
</description>
</method>
<method name="get_unix_time" qualifiers="const">
<return type="int">
</return>
<description>
Return the current unix timestamp.
</description>
</method>
<method name="get_video_mode_size" qualifiers="const">
<return type="Vector2">
</return>
<argument index="0" name="screen" type="int" default="0">
</argument>
<description>
Return the current video mode size.
</description>
</method>
<method name="get_window_position" qualifiers="const">
<return type="Vector2">
</return>
<description>
Returns the window position relative to the screen, the origin is the top left corner, +Y axis goes to the bottom and +X axis goes to the right.
</description>
</method>
<method name="get_window_size" qualifiers="const">
<return type="Vector2">
</return>
<description>
Returns the size of the window (without counting window manager decorations).
</description>
</method>
<method name="has_environment" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="environment" type="String">
</argument>
<description>
Return true if an environment variable exists.
</description>
</method>
<method name="has_touchscreen_ui_hint" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="is_debug_build" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="is_in_low_processor_usage_mode" qualifiers="const">
<return type="bool">
</return>
<description>
Return true if low cpu usage mode is enabled.
</description>
</method>
<method name="is_keep_screen_on" qualifiers="const">
<return type="bool">
</return>
<description>
Returns whether the screen is being kept on or not.
</description>
</method>
<method name="is_ok_left_and_cancel_right" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="is_scancode_unicode" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="code" type="int">
</argument>
<description>
</description>
</method>
<method name="is_stdout_verbose" qualifiers="const">
<return type="bool">
</return>
<description>
Return true if the engine was executed with -v (verbose stdout).
</description>
</method>
<method name="is_video_mode_fullscreen" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="screen" type="int" default="0">
</argument>
<description>
Return true if the current video mode is fullscreen.
</description>
</method>
<method name="is_video_mode_resizable" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="screen" type="int" default="0">
</argument>
<description>
Return true if the window is resizable.
</description>
</method>
<method name="is_window_fullscreen" qualifiers="const">
<return type="bool">
</return>
<description>
Returns whether the window is in fullscreen mode or not.
</description>
</method>
<method name="is_window_maximized" qualifiers="const">
<return type="bool">
</return>
<description>
Return true if the window is maximized.
</description>
</method>
<method name="is_window_minimized" qualifiers="const">
<return type="bool">
</return>
<description>
Return true if the window is minimized.
</description>
</method>
<method name="is_window_resizable" qualifiers="const">
<return type="bool">
</return>
<description>
Returns whether the window is resizable or not.
</description>
</method>
<method name="kill">
<return type="int">
</return>
<argument index="0" name="pid" type="int">
</argument>
<description>
Kill a process ID (this method can be used to kill processes that were not spawned by the game).
</description>
</method>
<method name="native_video_is_playing">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="native_video_pause">
<description>
</description>
</method>
<method name="native_video_play">
<return type="int">
</return>
<argument index="0" name="path" type="String">
</argument>
<argument index="1" name="volume" type="float">
</argument>
<argument index="2" name="audio_track" type="String">
</argument>
<argument index="3" name="subtitle_track" type="String">
</argument>
<description>
</description>
</method>
<method name="native_video_stop">
<description>
</description>
</method>
<method name="native_video_unpause">
<description>
</description>
</method>
<method name="print_all_resources">
<argument index="0" name="tofile" type="String" default="&quot;&quot;">
</argument>
<description>
</description>
</method>
<method name="print_all_textures_by_size">
<description>
</description>
</method>
<method name="print_resources_by_type">
<argument index="0" name="types" type="StringArray">
</argument>
<description>
</description>
</method>
<method name="print_resources_in_use">
<argument index="0" name="short" type="bool" default="false">
</argument>
<description>
</description>
</method>
<method name="set_clipboard">
<argument index="0" name="clipboard" type="String">
</argument>
<description>
Set clipboard to the OS.
</description>
</method>
<method name="set_current_screen">
<argument index="0" name="screen" type="int">
</argument>
<description>
</description>
</method>
<method name="set_icon">
<argument index="0" name="icon" type="Image">
</argument>
<description>
</description>
</method>
<method name="set_iterations_per_second">
<argument index="0" name="iterations_per_second" type="int">
</argument>
<description>
Set the amount of fixed iterations per second (for fixed process and physics).
</description>
</method>
<method name="set_keep_screen_on">
<argument index="0" name="enabled" type="bool">
</argument>
<description>
Set keep screen on if true, or goes to sleep by device setting if false. (for Android/iOS)
</description>
</method>
<method name="set_low_processor_usage_mode">
<argument index="0" name="enable" type="bool">
</argument>
<description>
Set to true to enable the low cpu usage mode. In this mode, the screen only redraws when there are changes, and a considerable sleep time is inserted between frames. This way, editors using the engine UI only use very little cpu.
</description>
</method>
<method name="set_screen_orientation">
<argument index="0" name="orientation" type="int">
</argument>
<description>
Sets the current screen orientation, the argument value must be one of the SCREEN_ORIENTATION constants in this class.
</description>
</method>
<method name="set_target_fps">
<argument index="0" name="target_fps" type="int">
</argument>
<description>
</description>
</method>
<method name="set_thread_name">
<return type="int">
</return>
<argument index="0" name="name" type="String">
</argument>
<description>
</description>
</method>
<method name="set_time_scale">
<argument index="0" name="time_scale" type="float">
</argument>
<description>
Speeds up or slows down the physics by changing the delta variable. (delta * time_scale)
</description>
</method>
<method name="set_use_file_access_save_and_swap">
<argument index="0" name="enabled" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_video_mode">
<argument index="0" name="size" type="Vector2">
</argument>
<argument index="1" name="fullscreen" type="bool">
</argument>
<argument index="2" name="resizable" type="bool">
</argument>
<argument index="3" name="screen" type="int" default="0">
</argument>
<description>
Change the video mode.
</description>
</method>
<method name="set_window_fullscreen">
<argument index="0" name="enabled" type="bool">
</argument>
<description>
Sets window fullscreen mode to the [i]enabled[/i] argument, [i]enabled[/i] is a toggle for the fullscreen mode, calling the function with [i]enabled[/i] true when the screen is not on fullscreen mode will cause the screen to go to fullscreen mode, calling the function with [i]enabled[/i] false when the screen is in fullscreen mode will cause the window to exit the fullscreen mode.
</description>
</method>
<method name="set_window_maximized">
<argument index="0" name="enabled" type="bool">
</argument>
<description>
Set the window size to maximized.
</description>
</method>
<method name="set_window_minimized">
<argument index="0" name="enabled" type="bool">
</argument>
<description>
Set whether the window is minimized.
</description>
</method>
<method name="set_window_position">
<argument index="0" name="position" type="Vector2">
</argument>
<description>
Sets the position of the window to the specified position (this function could be restricted by the window manager, meaning that there could be some unreachable areas of the screen).
</description>
</method>
<method name="set_window_resizable">
<argument index="0" name="enabled" type="bool">
</argument>
<description>
Set the window resizable state, if the window is not resizable it will preserve the dimensions specified in the project settings.
</description>
</method>
<method name="set_window_size">
<argument index="0" name="size" type="Vector2">
</argument>
<description>
Sets the window size to the specified size.
</description>
</method>
<method name="set_window_title">
<argument index="0" name="title" type="String">
</argument>
<description>
Sets the window title to the specified string.
</description>
</method>
<method name="shell_open">
<return type="int">
</return>
<argument index="0" name="uri" type="String">
</argument>
<description>
</description>
</method>
</methods>
<constants>
<constant name="DAY_SUNDAY" value="0">
</constant>
<constant name="DAY_MONDAY" value="1">
</constant>
<constant name="DAY_TUESDAY" value="2">
</constant>
<constant name="DAY_WEDNESDAY" value="3">
</constant>
<constant name="DAY_THURSDAY" value="4">
</constant>
<constant name="DAY_FRIDAY" value="5">
</constant>
<constant name="DAY_SATURDAY" value="6">
</constant>
<constant name="MONTH_JANUARY" value="0">
</constant>
<constant name="MONTH_FEBRUARY" value="1">
</constant>
<constant name="MONTH_MARCH" value="2">
</constant>
<constant name="MONTH_APRIL" value="3">
</constant>
<constant name="MONTH_MAY" value="4">
</constant>
<constant name="MONTH_JUNE" value="5">
</constant>
<constant name="MONTH_JULY" value="6">
</constant>
<constant name="MONTH_AUGUST" value="7">
</constant>
<constant name="MONTH_SEPTEMBER" value="8">
</constant>
<constant name="MONTH_OCTOBER" value="9">
</constant>
<constant name="MONTH_NOVEMBER" value="10">
</constant>
<constant name="MONTH_DECEMBER" value="11">
</constant>
<constant name="SCREEN_ORIENTATION_LANDSCAPE" value="0">
</constant>
<constant name="SCREEN_ORIENTATION_PORTRAIT" value="1">
</constant>
<constant name="SCREEN_ORIENTATION_REVERSE_LANDSCAPE" value="2">
</constant>
<constant name="SCREEN_ORIENTATION_REVERSE_PORTRAIT" value="3">
</constant>
<constant name="SCREEN_ORIENTATION_SENSOR_LANDSCAPE" value="4">
</constant>
<constant name="SCREEN_ORIENTATION_SENSOR_PORTRAIT" value="5">
</constant>
<constant name="SCREEN_ORIENTATION_SENSOR" value="6">
</constant>
<constant name="SYSTEM_DIR_DESKTOP" value="0">
</constant>
<constant name="SYSTEM_DIR_DCIM" value="1">
</constant>
<constant name="SYSTEM_DIR_DOCUMENTS" value="2">
</constant>
<constant name="SYSTEM_DIR_DOWNLOADS" value="3">
</constant>
<constant name="SYSTEM_DIR_MOVIES" value="4">
</constant>
<constant name="SYSTEM_DIR_MUSIC" value="5">
</constant>
<constant name="SYSTEM_DIR_PICTURES" value="6">
</constant>
<constant name="SYSTEM_DIR_RINGTONES" value="7">
</constant>
</constants>
</class>
<class name="Object" category="Core">
<brief_description>
Base class for all non built-in types.
</brief_description>
<description>
Base class for all non built-in types. Everything not a built-in type starts the inheritance chain from this class.
Objects do not manage memory, if inheriting from one the object will most likely have to be deleted manually (call the [method free] function from the script or delete from C++).
Some derivates add memory management, such as [Reference] (which keeps a reference count and deletes itself automatically when no longer referenced) and [Node], which deletes the children tree when deleted.
Objects export properties, which are mainly useful for storage and editing, but not really so much in programming. Properties are exported in [method _get_property_list] and handled in [method _get] and [method _set]. However, scripting languages and C++ have simpler means to export them.
Objects also receive notifications ([method _notification]). Notifications are a simple way to notify the object about simple events, so they can all be handled together.
</description>
<methods>
<method name="XL_MESSAGE" qualifiers="const">
<return type="String">
</return>
<argument index="0" name="message" type="String">
</argument>
<description>
Deprecated, will go away.
</description>
</method>
<method name="_get" qualifiers="virtual">
<argument index="0" name="property" type="String">
</argument>
<description>
Return a property, return null if the property does not exist.
</description>
</method>
<method name="_get_property_list" qualifiers="virtual">
<return type="Array">
</return>
<description>
Return the property list, array of dictionaries, dictionaries must contain: name:String, type:int (see TYPE_* enum in globals) and optionally: hint:int (see PROPERTY_HINT_* in globals), hint_string:String, usage:int (see PROPERTY_USAGE_* in globals).
</description>
</method>
<method name="_init" qualifiers="virtual">
<description>
</description>
</method>
<method name="_notification" qualifiers="virtual">
<argument index="0" name="what" type="int">
</argument>
<description>
Notification request, the notification id is received.
</description>
</method>
<method name="_set" qualifiers="virtual">
<argument index="0" name="property" type="String">
</argument>
<argument index="1" name="value" type="var">
</argument>
<description>
Set a property. Return true if the property was found.
</description>
</method>
<method name="add_user_signal">
<argument index="0" name="signal" type="String">
</argument>
<argument index="1" name="arguments" type="Array" default="Array()">
</argument>
<description>
Add a user signal (can be added anytime). Arguments are optional, but can be added as an array of dictionaries, each containing "name" and "type" (from [@Global Scope] TYPE_*).
</description>
</method>
<method name="call">
<argument index="0" name="method" type="String">
</argument>
<argument index="1" name="arg0" type="var" default="NULL">
</argument>
<argument index="2" name="arg1" type="var" default="NULL">
</argument>
<argument index="3" name="arg2" type="var" default="NULL">
</argument>
<argument index="4" name="arg3" type="var" default="NULL">
</argument>
<argument index="5" name="arg4" type="var" default="NULL">
</argument>
<argument index="6" name="arg5" type="var" default="NULL">
</argument>
<argument index="7" name="arg6" type="var" default="NULL">
</argument>
<argument index="8" name="arg7" type="var" default="NULL">
</argument>
<argument index="9" name="arg8" type="var" default="NULL">
</argument>
<argument index="10" name="arg9" type="var" default="NULL">
</argument>
<description>
Call a function in the object, result is returned.
</description>
</method>
<method name="call_deferred">
<argument index="0" name="method" type="String">
</argument>
<argument index="1" name="arg0" type="var" default="NULL">
</argument>
<argument index="2" name="arg1" type="var" default="NULL">
</argument>
<argument index="3" name="arg2" type="var" default="NULL">
</argument>
<argument index="4" name="arg3" type="var" default="NULL">
</argument>
<argument index="5" name="arg4" type="var" default="NULL">
</argument>
<description>
Create and store a function in the object. The call will take place on idle time.
</description>
</method>
<method name="callv">
<return type="Variant">
</return>
<argument index="0" name="method" type="String">
</argument>
<argument index="1" name="arg_array" type="Array">
</argument>
<description>
</description>
</method>
<method name="can_translate_messages" qualifiers="const">
<return type="bool">
</return>
<description>
Return true if this object can translate strings.
</description>
</method>
<method name="connect">
<return type="int">
</return>
<argument index="0" name="signal" type="String">
</argument>
<argument index="1" name="target" type="Object">
</argument>
<argument index="2" name="method" type="String">
</argument>
<argument index="3" name="binds" type="Array" default="Array()">
</argument>
<argument index="4" name="flags" type="int" default="0">
</argument>
<description>
Connect a signal to a method at a target (member function). Binds are optional and are passed as extra arguments to the call. Flags specify optional deferred or one shot connections, see enum CONNECT_*. A signal can only be connected once to a method, and it will throw an error if already connected. If you want to avoid this, use [method is_connected] to check.
</description>
</method>
<method name="disconnect">
<argument index="0" name="signal" type="String">
</argument>
<argument index="1" name="target" type="Object">
</argument>
<argument index="2" name="method" type="String">
</argument>
<description>
Disconnect a signal from a method.
</description>
</method>
<method name="emit_signal">
<argument index="0" name="signal" type="String">
</argument>
<argument index="1" name="arg0" type="var" default="NULL">
</argument>
<argument index="2" name="arg1" type="var" default="NULL">
</argument>
<argument index="3" name="arg2" type="var" default="NULL">
</argument>
<argument index="4" name="arg3" type="var" default="NULL">
</argument>
<argument index="5" name="arg4" type="var" default="NULL">
</argument>
<description>
Emit a signal. Arguments are passed in an array.
</description>
</method>
<method name="free">
<description>
</description>
</method>
<method name="get" qualifiers="const">
<argument index="0" name="property" type="String">
</argument>
<description>
Get a property from the object.
</description>
</method>
<method name="get_instance_ID" qualifiers="const">
<return type="int">
</return>
<description>
Return the instance ID. All objects have a unique instance ID.
</description>
</method>
<method name="get_meta" qualifiers="const">
<argument index="0" name="name" type="String">
</argument>
<description>
Return a metadata from the object.
</description>
</method>
<method name="get_meta_list" qualifiers="const">
<return type="StringArray">
</return>
<description>
Return the list of metadata in the object.
</description>
</method>
<method name="get_method_list" qualifiers="const">
<return type="Array">
</return>
<description>
</description>
</method>
<method name="get_property_list" qualifiers="const">
<return type="Array">
</return>
<description>
Return the list of properties as an array of dictionaries, dictionaries contain: name:String, type:int (see TYPE_* enum in globals) and optionally: hint:int (see PROPERTY_HINT_* in globals), hint_string:String, usage:int (see PROPERTY_USAGE_* in globals).
</description>
</method>
<method name="get_script" qualifiers="const">
<return type="Script">
</return>
<description>
Return the object script (or null if it doesn't have one).
</description>
</method>
<method name="get_signal_connection_list" qualifiers="const">
<return type="Array">
</return>
<argument index="0" name="signal" type="String">
</argument>
<description>
</description>
</method>
<method name="get_signal_list" qualifiers="const">
<return type="Array">
</return>
<description>
Return the list of signals as an array of dictionaries.
</description>
</method>
<method name="get_type" qualifiers="const">
<return type="String">
</return>
<description>
Return the type of the object as a string.
</description>
</method>
<method name="has_meta" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="name" type="String">
</argument>
<description>
Return true if a metadata is found with the requested name.
</description>
</method>
<method name="has_method" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="method" type="String">
</argument>
<description>
</description>
</method>
<method name="has_user_signal" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="signal" type="String">
</argument>
<description>
</description>
</method>
<method name="is_blocking_signals" qualifiers="const">
<return type="bool">
</return>
<description>
Return true if signal emission blocking is enabled.
</description>
</method>
<method name="is_connected" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="signal" type="String">
</argument>
<argument index="1" name="target" type="Object">
</argument>
<argument index="2" name="method" type="String">
</argument>
<description>
Return true if a connection exists for a given signal and target/method.
</description>
</method>
<method name="is_queued_for_deletion" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="is_type" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="type" type="String">
</argument>
<description>
Check the type of the object against a string (including inheritance).
</description>
</method>
<method name="notification">
<argument index="0" name="what" type="int">
</argument>
<argument index="1" name="reversed" type="bool" default="false">
</argument>
<description>
Notify the object of something.
</description>
</method>
<method name="property_list_changed_notify">
<description>
</description>
</method>
<method name="set">
<argument index="0" name="property" type="String">
</argument>
<argument index="1" name="value" type="var">
</argument>
<description>
Set property into the object.
</description>
</method>
<method name="set_block_signals">
<argument index="0" name="enable" type="bool">
</argument>
<description>
If set to true, signal emission is blocked.
</description>
</method>
<method name="set_message_translation">
<argument index="0" name="enable" type="bool">
</argument>
<description>
Set true if this object can translate strings (in calls to tr() ). Default is true.
</description>
</method>
<method name="set_meta">
<argument index="0" name="name" type="String">
</argument>
<argument index="1" name="value" type="var">
</argument>
<description>
Set a metadata into the object. Metadata is serialized. Metadata can be [i]anything[/i].
</description>
</method>
<method name="set_script">
<argument index="0" name="script" type="Script">
</argument>
<description>
Set a script into the object, scripts extend the object functionality.
</description>
</method>
<method name="tr" qualifiers="const">
<return type="String">
</return>
<argument index="0" name="message" type="String">
</argument>
<description>
Translate a message. Only works in message translation is enabled (which is by default). See [method set_message_translation].
</description>
</method>
</methods>
<signals>
<signal name="script_changed">
<description>
</description>
</signal>
</signals>
<constants>
<constant name="NOTIFICATION_POSTINITIALIZE" value="0">
Called right when the object is initialized. Not available in script.
</constant>
<constant name="NOTIFICATION_PREDELETE" value="1">
Called before the object is about to be deleted.
</constant>
<constant name="CONNECT_DEFERRED" value="1">
Connect a signal in deferred mode. This way, signal emissions are stored in a queue, then set on idle time.
</constant>
<constant name="CONNECT_PERSIST" value="2">
Persisting connections are saved when the object is serialized to file.
</constant>
<constant name="CONNECT_ONESHOT" value="4">
One short connections disconnect themselves after emission.
</constant>
</constants>
</class>
<class name="OccluderPolygon2D" inherits="Resource" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
<method name="get_cull_mode" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_polygon" qualifiers="const">
<return type="Vector2Array">
</return>
<description>
</description>
</method>
<method name="is_closed" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="set_closed">
<argument index="0" name="closed" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_cull_mode">
<argument index="0" name="cull_mode" type="int">
</argument>
<description>
</description>
</method>
<method name="set_polygon">
<argument index="0" name="polygon" type="Vector2Array">
</argument>
<description>
</description>
</method>
</methods>
<constants>
<constant name="CULL_DISABLED" value="0">
</constant>
<constant name="CULL_CLOCKWISE" value="1">
</constant>
<constant name="CULL_COUNTER_CLOCKWISE" value="2">
</constant>
</constants>
</class>
<class name="OmniLight" inherits="Light" category="Core">
<brief_description>
OmniDirectional Light, such as a light bulb or a candle.
</brief_description>
<description>
An OmniDirectional light is a type of [Light] node that emits lights in all directions. The light is attenuated through the distance and this attenuation can be configured by changing the energy, radius and attenuation parameters of [Light]. TODO: Image of an omnilight.
</description>
<methods>
</methods>
<constants>
</constants>
</class>
<class name="OptionButton" inherits="Button" category="Core">
<brief_description>
Button control that provides selectable options when pressed.
</brief_description>
<description>
OptionButton is a type button that provides a selectable list of items when pressed. The item selected becomes the "current" item and is displayed as the button text.
</description>
<methods>
<method name="add_icon_item">
<argument index="0" name="texture" type="Texture">
</argument>
<argument index="1" name="label" type="String">
</argument>
<argument index="2" name="id" type="int">
</argument>
<description>
Add an item, with a "texture" icon, text "label" and (optionally) id. If no "id" is passed, "id" becomes the item index. New items are appended at the end.
</description>
</method>
<method name="add_item">
<argument index="0" name="label" type="String">
</argument>
<argument index="1" name="id" type="int" default="-1">
</argument>
<description>
Add an item, with text "label" and (optionally) id. If no "id" is passed, "id" becomes the item index. New items are appended at the end.
</description>
</method>
<method name="add_separator">
<description>
Add a separator to the list of items. Separators help to group items. Separator also takes up an index and is appended at the end.
</description>
</method>
<method name="clear">
<description>
Clear all the items in the [OptionButton].
</description>
</method>
<method name="get_item_ID" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
Return the ID of the item at index "idx".
</description>
</method>
<method name="get_item_count" qualifiers="const">
<return type="int">
</return>
<description>
Return the amount of items in the OptionButton.
</description>
</method>
<method name="get_item_icon" qualifiers="const">
<return type="Texture">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
Return the icon of the item at index "idx".
</description>
</method>
<method name="get_item_metadata" qualifiers="const">
<argument index="0" name="idx" type="int">
</argument>
<description>
</description>
</method>
<method name="get_item_text" qualifiers="const">
<return type="String">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
Return the text of the item at index "idx".
</description>
</method>
<method name="get_selected" qualifiers="const">
<return type="int">
</return>
<description>
Return the current item index
</description>
</method>
<method name="get_selected_ID" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_selected_metadata" qualifiers="const">
<description>
</description>
</method>
<method name="is_item_disabled" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
</description>
</method>
<method name="remove_item">
<argument index="0" name="idx" type="int">
</argument>
<description>
</description>
</method>
<method name="select">
<argument index="0" name="idx" type="int">
</argument>
<description>
Select an item by index and make it the current item.
</description>
</method>
<method name="set_item_ID">
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="id" type="int">
</argument>
<description>
Set the ID of an item at index "idx".
</description>
</method>
<method name="set_item_disabled">
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="disabled" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_item_icon">
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="texture" type="Texture">
</argument>
<description>
Set the icon of an item at index "idx".
</description>
</method>
<method name="set_item_metadata">
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="metadata" type="var">
</argument>
<description>
</description>
</method>
<method name="set_item_text">
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="text" type="String">
</argument>
<description>
Set the text of an item at index "idx".
</description>
</method>
</methods>
<signals>
<signal name="item_selected">
<argument index="0" name="ID" type="int">
</argument>
<description>
This signal is emitted when the current item was changed by the user. ID of the item selected is passed as argument (if no IDs were added, ID will be just the item index).
</description>
</signal>
</signals>
<constants>
</constants>
<theme_items>
<theme_item name="arrow" type="Texture">
</theme_item>
<theme_item name="arrow_margin" type="int">
</theme_item>
<theme_item name="disabled" type="StyleBox">
</theme_item>
<theme_item name="focus" type="StyleBox">
</theme_item>
<theme_item name="font" type="Font">
</theme_item>
<theme_item name="font_color" type="Color">
</theme_item>
<theme_item name="font_color_disabled" type="Color">
</theme_item>
<theme_item name="font_color_hover" type="Color">
</theme_item>
<theme_item name="font_color_pressed" type="Color">
</theme_item>
<theme_item name="hover" type="StyleBox">
</theme_item>
<theme_item name="hseparation" type="int">
</theme_item>
<theme_item name="normal" type="StyleBox">
</theme_item>
<theme_item name="pressed" type="StyleBox">
</theme_item>
</theme_items>
</class>
<class name="PCKPacker" inherits="Reference" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
<method name="add_file">
<return type="int">
</return>
<argument index="0" name="pck_path" type="String">
</argument>
<argument index="1" name="source_path" type="String">
</argument>
<description>
</description>
</method>
<method name="flush">
<return type="int">
</return>
<argument index="0" name="verbose" type="bool">
</argument>
<description>
</description>
</method>
<method name="pck_start">
<return type="int">
</return>
<argument index="0" name="pck_name" type="String">
</argument>
<argument index="1" name="alignment" type="int">
</argument>
<description>
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="PHashTranslation" inherits="Translation" category="Core">
<brief_description>
Optimized translation.
</brief_description>
<description>
Optimized translation. Uses real-time compressed translations, which results in very small dictionaries.
</description>
<methods>
<method name="generate">
<argument index="0" name="from" type="Translation">
</argument>
<description>
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="PackedDataContainer" inherits="Resource" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
<method name="pack">
<return type="Error">
</return>
<argument index="0" name="value" type="var">
</argument>
<description>
</description>
</method>
<method name="size" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="PackedDataContainerRef" inherits="Reference" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
<method name="size" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="PackedScene" inherits="Resource" category="Core">
<brief_description>
</brief_description>
<description>
TODO: explain ownership, and that node does not need to own itself
</description>
<methods>
<method name="can_instance" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="get_state">
<return type="SceneState">
</return>
<description>
</description>
</method>
<method name="instance" qualifiers="const">
<return type="Node">
</return>
<argument index="0" name="gen_edit_state" type="bool" default="false">
</argument>
<description>
</description>
</method>
<method name="pack">
<return type="int">
</return>
<argument index="0" name="path" type="Node">
</argument>
<description>
Pack will ignore any sub-nodes not owned by given node. See [method Node.set_owner].
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="PacketPeer" inherits="Reference" category="Core">
<brief_description>
Abstraction and base class for packet-based protocols.
</brief_description>
<description>
PacketPeer is an abstraction and base class for packet-based protocols (such as UDP). It provides an API for sending and receiving packets both as raw data or variables. This makes it easy to transfer data over a protocol, without having to encode data as low level bytes or having to worry about network ordering.
</description>
<methods>
<method name="get_available_packet_count" qualifiers="const">
<return type="int">
</return>
<description>
Return the number of packets currently available in the ring-buffer.
</description>
</method>
<method name="get_packet" qualifiers="const">
<return type="RawArray">
</return>
<description>
Get a raw packet.
</description>
</method>
<method name="get_packet_error" qualifiers="const">
<return type="Error">
</return>
<description>
Return the error state of the last packet received (via [method get_packet] and [method get_var]).
</description>
</method>
<method name="get_var" qualifiers="const">
<return type="Variant">
</return>
<description>
Get a Variant.
</description>
</method>
<method name="put_packet">
<return type="Error">
</return>
<argument index="0" name="buffer" type="RawArray">
</argument>
<description>
Send a raw packet.
</description>
</method>
<method name="put_var">
<return type="int">
</return>
<argument index="0" name="var" type="Variant">
</argument>
<description>
Send a Variant as a packet.
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="PacketPeerStream" inherits="PacketPeer" category="Core">
<brief_description>
Wrapper to use a PacketPeer over a StreamPeer.
</brief_description>
<description>
PacketStreamPeer provides a wrapper for working using packets over a stream. This allows for using packet based code with StreamPeers. PacketPeerStream implements a custom protocol over the StreamPeer, so the user should not read or write to the wrapped StreamPeer directly.
</description>
<methods>
<method name="set_stream_peer">
<argument index="0" name="peer" type="StreamPeer">
</argument>
<description>
Set the StreamPeer object to be wrapped
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="PacketPeerUDP" inherits="PacketPeer" category="Core">
<brief_description>
UDP packet peer.
</brief_description>
<description>
UDP packet peer. Can be used to send raw UDP packets as well as [Variant]s.
</description>
<methods>
<method name="close">
<description>
Close the UDP socket the [PacketPeerUDP] is currently listening on.
</description>
</method>
<method name="get_packet_address" qualifiers="const">
<return type="int">
</return>
<description>
Return the address of the remote peer(as a 32bit integer) that sent the last packet(that was received with [method get_packet] or [method get_var]).
</description>
</method>
<method name="get_packet_ip" qualifiers="const">
<return type="String">
</return>
<description>
Return the IP of the remote peer that sent the last packet(that was received with [method get_packet] or [method get_var]).
</description>
</method>
<method name="get_packet_port" qualifiers="const">
<return type="int">
</return>
<description>
Return the port of the remote peer that sent the last packet(that was received with [method get_packet] or [method get_var]).
</description>
</method>
<method name="is_listening" qualifiers="const">
<return type="bool">
</return>
<description>
Return whether this [PacketPeerUDP] is listening.
</description>
</method>
<method name="listen">
<return type="Error">
</return>
<argument index="0" name="port" type="int">
</argument>
<argument index="1" name="recv_buf_size" type="int" default="65536">
</argument>
<description>
Make this [PacketPeerUDP] listen on the "port" using a buffer size "recv_buf_size". Listens on all available adresses.
</description>
</method>
<method name="set_send_address">
<return type="int">
</return>
<argument index="0" name="host" type="String">
</argument>
<argument index="1" name="port" type="int">
</argument>
<description>
Set the destination address and port for sending packets and variables, a hostname will be resolved if valid.
</description>
</method>
<method name="wait">
<return type="Error">
</return>
<description>
Wait for a packet to arrive on the listening port, see [method listen].
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="Panel" inherits="Control" category="Core">
<brief_description>
Provides an opaque background for [Control] children.
</brief_description>
<description>
Panel is a [Control] that displays an opaque background. It's commonly used as a parent and container for other types of [Control] nodes.
</description>
<methods>
</methods>
<constants>
</constants>
<theme_items>
<theme_item name="panel" type="StyleBox">
</theme_item>
<theme_item name="panelf" type="StyleBox">
</theme_item>
<theme_item name="panelnc" type="StyleBox">
</theme_item>
</theme_items>
</class>
<class name="PanelContainer" inherits="Container" category="Core">
<brief_description>
Panel container type.
</brief_description>
<description>
Panel container type. This container fits controls inside of the delimited area of a stylebox. It's useful for giving controls an outline.
</description>
<methods>
</methods>
<constants>
</constants>
<theme_items>
<theme_item name="panel" type="StyleBox">
</theme_item>
</theme_items>
</class>
<class name="ParallaxBackground" inherits="CanvasLayer" category="Core">
<brief_description>
A node used to create a parallax scrolling background.
</brief_description>
<description>
A ParallaxBackground will use one or more [ParallaxLayer] nodes to create a parallax scrolling background. Each [ParallaxLayer] can be set to move at different speeds relative to the camera movement, this can be used to create an illusion of depth in a 2D game.
</description>
<methods>
<method name="get_limit_begin" qualifiers="const">
<return type="Vector2">
</return>
<description>
Return the beginning limit.
</description>
</method>
<method name="get_limit_end" qualifiers="const">
<return type="Vector2">
</return>
<description>
Return the ending limit.
</description>
</method>
<method name="get_scroll_base_offset" qualifiers="const">
<return type="Vector2">
</return>
<description>
Return the base offset.
</description>
</method>
<method name="get_scroll_base_scale" qualifiers="const">
<return type="Vector2">
</return>
<description>
Return the base motion scale.
</description>
</method>
<method name="get_scroll_offset" qualifiers="const">
<return type="Vector2">
</return>
<description>
</description>
</method>
<method name="is_ignore_camera_zoom">
<return type="bool">
</return>
<description>
Return ignoring camera zoom.
</description>
</method>
<method name="set_ignore_camera_zoom">
<argument index="0" name="ignore" type="bool">
</argument>
<description>
Set to true for all child [ParallaxLayer] nodes to not be affected by the zoom level of the camera.
</description>
</method>
<method name="set_limit_begin">
<argument index="0" name="ofs" type="Vector2">
</argument>
<description>
Set the left and top limits in pixels for scrolling to begin. If the camera is outside of this limit the background will not continue to scroll. If an axis is greater than or equal to the corresponding axis of limit_end, then it will not limit scrolling for that axis.
</description>
</method>
<method name="set_limit_end">
<argument index="0" name="ofs" type="Vector2">
</argument>
<description>
Set the right and bottom limits in pixels for scrolling to end. If the camera is outside of this limit the background will not continue to scroll. If an axis is less than or equal to the corresponding axis of limit_begin, then it will not limit scrolling for that axis.
</description>
</method>
<method name="set_scroll_base_offset">
<argument index="0" name="ofs" type="Vector2">
</argument>
<description>
Set the base offset in pixels of all children [ParallaxLayer] nodes.
</description>
</method>
<method name="set_scroll_base_scale">
<argument index="0" name="scale" type="Vector2">
</argument>
<description>
Set the base motion scale of all children [ParallaxLayer] nodes.
</description>
</method>
<method name="set_scroll_offset">
<argument index="0" name="ofs" type="Vector2">
</argument>
<description>
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="ParallaxLayer" inherits="Node2D" category="Core">
<brief_description>
A parallax scrolling layer to be used with [ParallaxBackground].
</brief_description>
<description>
A ParallaxLayer must be the child of a [ParallaxBackground] node. All child nodes will be affected by the parallax scrolling of this layer.
</description>
<methods>
<method name="get_mirroring" qualifiers="const">
<return type="Vector2">
</return>
<description>
Return the mirroring of the ParallaxLayer.
</description>
</method>
<method name="get_motion_scale" qualifiers="const">
<return type="Vector2">
</return>
<description>
Return the motion scale of the ParallaxLayer.
</description>
</method>
<method name="set_mirroring">
<argument index="0" name="mirror" type="Vector2">
</argument>
<description>
Set the mirroring of the ParallaxLayer. If an axis is set to 0 then that axis will have no mirroring.
</description>
</method>
<method name="set_motion_scale">
<argument index="0" name="scale" type="Vector2">
</argument>
<description>
Set the motion scale of the ParallaxLayer. If an axis is set to 0 then it will not move at all, it will stick with the camera.
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="ParticleAttractor2D" inherits="Node2D" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
<method name="get_absorption" qualifiers="const">
<return type="float">
</return>
<description>
</description>
</method>
<method name="get_disable_radius" qualifiers="const">
<return type="float">
</return>
<description>
</description>
</method>
<method name="get_gravity" qualifiers="const">
<return type="float">
</return>
<description>
</description>
</method>
<method name="get_particles_path" qualifiers="const">
<return type="NodePath">
</return>
<description>
</description>
</method>
<method name="get_radius" qualifiers="const">
<return type="float">
</return>
<description>
</description>
</method>
<method name="is_enabled" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="set_absorption">
<argument index="0" name="absorption" type="float">
</argument>
<description>
</description>
</method>
<method name="set_disable_radius">
<argument index="0" name="radius" type="float">
</argument>
<description>
</description>
</method>
<method name="set_enabled">
<argument index="0" name="enabled" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_gravity">
<argument index="0" name="gravity" type="float">
</argument>
<description>
</description>
</method>
<method name="set_particles_path">
<argument index="0" name="path" type="NodePath">
</argument>
<description>
</description>
</method>
<method name="set_radius">
<argument index="0" name="radius" type="float">
</argument>
<description>
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="Particles" inherits="GeometryInstance" category="Core">
<brief_description>
Particle system 3D Node
</brief_description>
<description>
Particles is a particle system 3D [Node] that is used to simulate several types of particle effects, such as explosions, rain, snow, fireflies, or other magical-like shinny sparkles. Particles are drawn using impostors, and given their dynamic behavior, the user must provide a visibility AABB (although helpers to create one automatically exist).
</description>
<methods>
<method name="get_amount" qualifiers="const">
<return type="int">
</return>
<description>
Return the total amount of particles in the system.
</description>
</method>
<method name="get_color_phase_color" qualifiers="const">
<return type="Color">
</return>
<argument index="0" name="phase" type="int">
</argument>
<description>
Return the color of a color phase.
</description>
</method>
<method name="get_color_phase_pos" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="phase" type="int">
</argument>
<description>
Return the position of a color phase (0 to 1).
</description>
</method>
<method name="get_color_phases" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_emission_base_velocity" qualifiers="const">
<return type="Vector3">
</return>
<description>
</description>
</method>
<method name="get_emission_half_extents" qualifiers="const">
<return type="Vector3">
</return>
<description>
Return the half extents for the emission box.
</description>
</method>
<method name="get_emission_points" qualifiers="const">
<return type="Vector3Array">
</return>
<description>
</description>
</method>
<method name="get_emit_timeout" qualifiers="const">
<return type="float">
</return>
<description>
</description>
</method>
<method name="get_gravity_normal" qualifiers="const">
<return type="Vector3">
</return>
<description>
Return the normal vector towards where gravity is pulling (by default, negative Y).
</description>
</method>
<method name="get_material" qualifiers="const">
<return type="Material">
</return>
<description>
Return the material used to draw particles.
</description>
</method>
<method name="get_randomness" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="variable" type="int">
</argument>
<description>
Return the randomness for a specific variable of the particle system. Randomness produces small changes from the default each time a particle is emitted.
</description>
</method>
<method name="get_variable" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="variable" type="int">
</argument>
<description>
Return a specific variable for the particle system (see VAR_* enum).
</description>
</method>
<method name="get_visibility_aabb" qualifiers="const">
<return type="AABB">
</return>
<description>
Return the current visibility AABB.
</description>
</method>
<method name="has_height_from_velocity" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="is_emitting" qualifiers="const">
<return type="bool">
</return>
<description>
Return the "emitting" property state (see [method set_emitting]).
</description>
</method>
<method name="is_using_local_coordinates" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="set_amount">
<argument index="0" name="amount" type="int">
</argument>
<description>
Set total amount of particles in the system.
</description>
</method>
<method name="set_color_phase_color">
<argument index="0" name="phase" type="int">
</argument>
<argument index="1" name="color" type="Color">
</argument>
<description>
Set the color of a color phase.
</description>
</method>
<method name="set_color_phase_pos">
<argument index="0" name="phase" type="int">
</argument>
<argument index="1" name="pos" type="float">
</argument>
<description>
Set the position of a color phase (0 to 1).
</description>
</method>
<method name="set_color_phases">
<argument index="0" name="count" type="int">
</argument>
<description>
</description>
</method>
<method name="set_emission_base_velocity">
<argument index="0" name="base_velocity" type="Vector3">
</argument>
<description>
</description>
</method>
<method name="set_emission_half_extents">
<argument index="0" name="half_extents" type="Vector3">
</argument>
<description>
Set the half extents for the emission box.
</description>
</method>
<method name="set_emission_points">
<argument index="0" name="points" type="Vector3Array">
</argument>
<description>
</description>
</method>
<method name="set_emit_timeout">
<argument index="0" name="timeout" type="float">
</argument>
<description>
</description>
</method>
<method name="set_emitting">
<argument index="0" name="enabled" type="bool">
</argument>
<description>
Set the "emitting" property state. When emitting, the particle system generates new particles at constant rate.
</description>
</method>
<method name="set_gravity_normal">
<argument index="0" name="normal" type="Vector3">
</argument>
<description>
Set the normal vector towards where gravity is pulling (by default, negative Y).
</description>
</method>
<method name="set_height_from_velocity">
<argument index="0" name="enable" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_material">
<argument index="0" name="material" type="Material">
</argument>
<description>
Set the material used to draw particles.
</description>
</method>
<method name="set_randomness">
<argument index="0" name="variable" type="int">
</argument>
<argument index="1" name="randomness" type="float">
</argument>
<description>
Set the randomness for a specific variable of the particle system. Randomness produces small changes from the default each time a particle is emitted.
</description>
</method>
<method name="set_use_local_coordinates">
<argument index="0" name="enable" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_variable">
<argument index="0" name="variable" type="int">
</argument>
<argument index="1" name="value" type="float">
</argument>
<description>
Set a specific variable for the particle system (see VAR_* enum).
</description>
</method>
<method name="set_visibility_aabb">
<argument index="0" name="aabb" type="AABB">
</argument>
<description>
Set the visibility AABB for the particle system, since the default one will not work properly most of the time.
</description>
</method>
</methods>
<constants>
<constant name="VAR_LIFETIME" value="0">
</constant>
<constant name="VAR_SPREAD" value="1">
</constant>
<constant name="VAR_GRAVITY" value="2">
</constant>
<constant name="VAR_LINEAR_VELOCITY" value="3">
</constant>
<constant name="VAR_ANGULAR_VELOCITY" value="4">
</constant>
<constant name="VAR_LINEAR_ACCELERATION" value="5">
</constant>
<constant name="VAR_DRAG" value="6">
</constant>
<constant name="VAR_TANGENTIAL_ACCELERATION" value="7">
</constant>
<constant name="VAR_INITIAL_SIZE" value="9">
</constant>
<constant name="VAR_FINAL_SIZE" value="10">
</constant>
<constant name="VAR_INITIAL_ANGLE" value="11">
</constant>
<constant name="VAR_HEIGHT" value="12">
</constant>
<constant name="VAR_HEIGHT_SPEED_SCALE" value="13">
</constant>
<constant name="VAR_MAX" value="14">
</constant>
</constants>
</class>
<class name="Particles2D" inherits="Node2D" category="Core">
<brief_description>
2D Particle emitter
</brief_description>
<description>
Particles2D is a particle system 2D [Node] that is used to simulate several types of particle effects, such as explosions, rain, snow, fireflies, or other magical-like shinny sparkles. Particles are drawn using impostors, and given their dynamic behavior, the user must provide a visibility AABB (although helpers to create one automatically exist).
</description>
<methods>
<method name="get_amount" qualifiers="const">
<return type="int">
</return>
<description>
Returns the amount of particles spawned at each emission
</description>
</method>
<method name="get_color" qualifiers="const">
<return type="Color">
</return>
<description>
Returns the tint color for each particle.
</description>
</method>
<method name="get_color_phase_color" qualifiers="const">
<return type="Color">
</return>
<argument index="0" name="phase" type="int">
</argument>
<description>
</description>
</method>
<method name="get_color_phase_pos" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="phase" type="int">
</argument>
<description>
</description>
</method>
<method name="get_color_phases" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_color_ramp" qualifiers="const">
<return type="ColorRamp">
</return>
<description>
Returns the [ColorRamp] used to tint each particle
</description>
</method>
<method name="get_emission_half_extents" qualifiers="const">
<return type="Vector2">
</return>
<description>
Returns the half extents of the emission box.
</description>
</method>
<method name="get_emission_points" qualifiers="const">
<return type="Vector2Array">
</return>
<description>
</description>
</method>
<method name="get_emissor_offset" qualifiers="const">
<return type="Vector2">
</return>
<description>
Returns the particle spawn origin position relative to the emitter.
</description>
</method>
<method name="get_emit_timeout" qualifiers="const">
<return type="float">
</return>
<description>
Returns the amount of seconds during which the emitter will spawn particles
</description>
</method>
<method name="get_explosiveness" qualifiers="const">
<return type="float">
</return>
<description>
</description>
</method>
<method name="get_h_frames" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_initial_velocity" qualifiers="const">
<return type="Vector2">
</return>
<description>
</description>
</method>
<method name="get_lifetime" qualifiers="const">
<return type="float">
</return>
<description>
Gets the amount of seconds that each particle will be visible.
</description>
</method>
<method name="get_param" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="param" type="int">
</argument>
<description>
Returns the value of the specified emitter parameter
</description>
</method>
<method name="get_pre_process_time" qualifiers="const">
<return type="float">
</return>
<description>
</description>
</method>
<method name="get_randomness" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="param" type="int">
</argument>
<description>
Returns the randomness value of the specified emitter parameter
</description>
</method>
<method name="get_texture" qualifiers="const">
<return type="Texture">
</return>
<description>
Returns the texture for emitted particles
</description>
</method>
<method name="get_time_scale" qualifiers="const">
<return type="float">
</return>
<description>
Returns the emitter time scale
</description>
</method>
<method name="get_v_frames" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="is_emitting" qualifiers="const">
<return type="bool">
</return>
<description>
Returns whether this emitter is currently emitting or not
</description>
</method>
<method name="is_flipped_h" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="is_flipped_v" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="is_using_local_space" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="pre_process">
<argument index="0" name="time" type="float">
</argument>
<description>
</description>
</method>
<method name="reset">
<description>
</description>
</method>
<method name="set_amount">
<argument index="0" name="amount" type="int">
</argument>
<description>
Sets the amount of particles spawned at each emission
</description>
</method>
<method name="set_color">
<argument index="0" name="color" type="Color">
</argument>
<description>
Set the tint color for each particle.
</description>
</method>
<method name="set_color_phase_color">
<argument index="0" name="phase" type="int">
</argument>
<argument index="1" name="color" type="Color">
</argument>
<description>
</description>
</method>
<method name="set_color_phase_pos">
<argument index="0" name="phase" type="int">
</argument>
<argument index="1" name="pos" type="float">
</argument>
<description>
</description>
</method>
<method name="set_color_phases">
<argument index="0" name="phases" type="int">
</argument>
<description>
</description>
</method>
<method name="set_color_ramp">
<return type="ColorRamp">
</return>
<argument index="0" name="color_ramp" type="Object">
</argument>
<description>
Sets the [ColorRamp] used to tint each particle. Particle will be tinted according to their lifetimes.
</description>
</method>
<method name="set_emission_half_extents">
<argument index="0" name="extents" type="Vector2">
</argument>
<description>
Sets the half extents of the emission box, particles will be spawned at random inside this box.
</description>
</method>
<method name="set_emission_points">
<argument index="0" name="points" type="Vector2Array">
</argument>
<description>
</description>
</method>
<method name="set_emissor_offset">
<argument index="0" name="offset" type="Vector2">
</argument>
<description>
Sets the particle spawn origin position relative to the emitter center. for example if this value is set to (50, 50), the particle will spawn 50 units to the right and 50 units to the bottom of the emitter center.
</description>
</method>
<method name="set_emit_timeout">
<argument index="0" name="value" type="float">
</argument>
<description>
Sets the amount of seconds during which the emitter will spawn particles, after the specified seconds the emitter state will be set to non emitting, so calling [method is_emitting] will return false. If the timeout is 0 the emitter will spawn forever.
</description>
</method>
<method name="set_emitting">
<argument index="0" name="active" type="bool">
</argument>
<description>
If this is set to true then the particle emitter will emit particles, if its false it will not.
</description>
</method>
<method name="set_explosiveness">
<argument index="0" name="amount" type="float">
</argument>
<description>
</description>
</method>
<method name="set_flip_h">
<argument index="0" name="enable" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_flip_v">
<argument index="0" name="enable" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_h_frames">
<argument index="0" name="enable" type="int">
</argument>
<description>
</description>
</method>
<method name="set_initial_velocity">
<argument index="0" name="velocity" type="Vector2">
</argument>
<description>
</description>
</method>
<method name="set_lifetime">
<argument index="0" name="lifetime" type="float">
</argument>
<description>
Sets the amount of seconds that each particle will be visible.
</description>
</method>
<method name="set_param">
<argument index="0" name="param" type="int">
</argument>
<argument index="1" name="value" type="float">
</argument>
<description>
Sets the value of the specified emitter parameter (see the constants secction for the list of parameters)
</description>
</method>
<method name="set_pre_process_time">
<argument index="0" name="time" type="float">
</argument>
<description>
</description>
</method>
<method name="set_randomness">
<argument index="0" name="param" type="int">
</argument>
<argument index="1" name="value" type="float">
</argument>
<description>
Sets the randomness value of the specified emitter parameter (see the constants secction for the list of parameters), 0 means no randomness, so every particle will have the parameters specified, 1 means that the parameter will be choosen at random, the closer the randomness value gets to 0 the more conservative the variation of the parameter will be.
</description>
</method>
<method name="set_texture">
<return type="Texture">
</return>
<argument index="0" name="texture" type="Object">
</argument>
<description>
Sets the texture for each particle
</description>
</method>
<method name="set_time_scale">
<argument index="0" name="time_scale" type="float">
</argument>
<description>
Sets the increment or decrement for the particle lifetime. for example: if the time scale is set to 2, the particles will die and move twice as fast.
</description>
</method>
<method name="set_use_local_space">
<argument index="0" name="enable" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_v_frames">
<argument index="0" name="enable" type="int">
</argument>
<description>
</description>
</method>
</methods>
<constants>
<constant name="PARAM_DIRECTION" value="0">
Direction in radians at which the particles will be launched, Notice that when the direction is set to 0 the particles will be launched to the negative
</constant>
<constant name="PARAM_SPREAD" value="1">
</constant>
<constant name="PARAM_LINEAR_VELOCITY" value="2">
Velocity at which the particles will be launched.
</constant>
<constant name="PARAM_SPIN_VELOCITY" value="3">
The speed at which particles will spin around its own center.
</constant>
<constant name="PARAM_ORBIT_VELOCITY" value="4">
Velocity at which the particles will orbit around the emitter center
</constant>
<constant name="PARAM_GRAVITY_DIRECTION" value="5">
Direction in radians at which the particles will be attracted
</constant>
<constant name="PARAM_GRAVITY_STRENGTH" value="6">
Strength of the gravitation attraction for each particle
</constant>
<constant name="PARAM_RADIAL_ACCEL" value="7">
</constant>
<constant name="PARAM_TANGENTIAL_ACCEL" value="8">
</constant>
<constant name="PARAM_DAMPING" value="9">
Amount of damping for each particle
</constant>
<constant name="PARAM_INITIAL_ANGLE" value="10">
Initial angle in radians at which each particle will be spawned
</constant>
<constant name="PARAM_INITIAL_SIZE" value="11">
Initial size of each particle
</constant>
<constant name="PARAM_FINAL_SIZE" value="12">
Final size of each particle, the particle size will interpolate to this value during its lifetime.
</constant>
<constant name="PARAM_HUE_VARIATION" value="13">
</constant>
<constant name="PARAM_ANIM_SPEED_SCALE" value="14">
</constant>
<constant name="PARAM_ANIM_INITIAL_POS" value="15">
</constant>
<constant name="PARAM_MAX" value="16">
</constant>
<constant name="MAX_COLOR_PHASES" value="4">
</constant>
</constants>
</class>
<class name="Patch9Frame" inherits="Control" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
<method name="get_draw_center" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="get_modulate" qualifiers="const">
<return type="Color">
</return>
<description>
</description>
</method>
<method name="get_patch_margin" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="margin" type="int">
</argument>
<description>
</description>
</method>
<method name="get_texture" qualifiers="const">
<return type="Object">
</return>
<description>
</description>
</method>
<method name="set_draw_center">
<argument index="0" name="draw_center" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_modulate">
<argument index="0" name="modulate" type="Color">
</argument>
<description>
</description>
</method>
<method name="set_patch_margin">
<argument index="0" name="margin" type="int">
</argument>
<argument index="1" name="value" type="int">
</argument>
<description>
</description>
</method>
<method name="set_texture">
<argument index="0" name="texture" type="Object">
</argument>
<description>
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="Path" inherits="Spatial" category="Core">
<brief_description>
Container for a [Curve3D].
</brief_description>
<description>
This class is a container/Node-ification of a [Curve3D], so it can have [Spatial] properties and [Node] info.
</description>
<methods>
<method name="get_curve" qualifiers="const">
<return type="Curve3D">
</return>
<description>
Returns the [Curve3D] contained.
</description>
</method>
<method name="set_curve">
<argument index="0" name="curve" type="Curve3D">
</argument>
<description>
Sets the [Curve3D].
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="Path2D" inherits="Node2D" category="Core">
<brief_description>
Container for a [Curve2D].
</brief_description>
<description>
This class is a container/Node-ification of a [Curve2D], so it can have [Node2D] properties and [Node] info.
</description>
<methods>
<method name="get_curve" qualifiers="const">
<return type="Curve2D">
</return>
<description>
Returns the [Curve2D] contained.
</description>
</method>
<method name="set_curve">
<argument index="0" name="curve" type="Curve2D">
</argument>
<description>
Sets the [Curve2D].
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="PathFollow" inherits="Spatial" category="Core">
<brief_description>
Point sampler for a [Path].
</brief_description>
<description>
This node takes its parent [Path], and returns the coordinates of a point within it, given a distance from the first vertex.
It is useful for making other nodes follow a path, without coding the movement pattern. For that, the nodes must be descendants of this node. Then, when setting an offset in this node, the descendant nodes will move accordingly.
</description>
<methods>
<method name="get_cubic_interpolation" qualifiers="const">
<return type="bool">
</return>
<description>
This method returns whether the position between two cached points (see [method set_cubic_interpolation]) is interpolated linearly, or cubicly.
</description>
</method>
<method name="get_h_offset" qualifiers="const">
<return type="float">
</return>
<description>
Returns the X displacement this node has from its parent [Path].
</description>
</method>
<method name="get_offset" qualifiers="const">
<return type="float">
</return>
<description>
Returns the distance along the path in 3D units.
</description>
</method>
<method name="get_rotation_mode" qualifiers="const">
<return type="int">
</return>
<description>
Returns the rotation mode. The constants below list which axes are allowed to rotate for each mode.
</description>
</method>
<method name="get_unit_offset" qualifiers="const">
<return type="float">
</return>
<description>
Returns the distance along the path as a number in the range 0.0 (for the first vertex) to 1.0 (for the last).
</description>
</method>
<method name="get_v_offset" qualifiers="const">
<return type="float">
</return>
<description>
Returns the Y displacement this node has from its parent [Path].
</description>
</method>
<method name="has_loop" qualifiers="const">
<return type="bool">
</return>
<description>
Returns whether this node wraps its offsets around, or truncates them to the path ends.
</description>
</method>
<method name="set_cubic_interpolation">
<argument index="0" name="enable" type="bool">
</argument>
<description>
The points along the [Curve3D] of the [Path] are precomputed before use, for faster calculations. The point at the requested offset is then calculated interpolating between two adjacent cached points. This may present a problem if the curve makes sharp turns, as the cached points may not follow the curve closely enough.
There are two answers to this problem: Either increase the number of cached points and increase memory consumption, or make a cubic interpolation between two points at the cost of (slightly) slower calculations.
This method controls whether the position between two cached points is interpolated linearly, or cubicly.
</description>
</method>
<method name="set_h_offset">
<argument index="0" name="h_offset" type="float">
</argument>
<description>
Moves this node in the X axis. As this node's position will be set every time its offset is set, this allows many PathFollow to share the same curve (and thus the same movement pattern), yet not return the same position for a given path offset.
A similar effect may be achieved moving the this node's descendants.
</description>
</method>
<method name="set_loop">
<argument index="0" name="loop" type="bool">
</argument>
<description>
If set, any offset outside the path's length (whether set by [method set_offset] or [method set_unit_offset] will wrap around, instead of stopping at the ends. Set it for cyclic paths.
</description>
</method>
<method name="set_offset">
<argument index="0" name="offset" type="float">
</argument>
<description>
Sets the distance from the first vertex, measured in 3D units along the path. This sets this node's position to a point within the path.
</description>
</method>
<method name="set_rotation_mode">
<argument index="0" name="rotation_mode" type="int">
</argument>
<description>
Allows or forbids rotation on one or more axes, per the constants below.
</description>
</method>
<method name="set_unit_offset">
<argument index="0" name="unit_offset" type="float">
</argument>
<description>
Sets the distance from the first vertex, considering 0.0 as the first vertex and 1.0 as the last. This is just another way of expressing the offset within the path, as the offset supplied is multiplied internally by the path's length.
</description>
</method>
<method name="set_v_offset">
<argument index="0" name="v_offset" type="float">
</argument>
<description>
Moves this node in the Y axis, for the same reasons of [method set_h_offset].
</description>
</method>
</methods>
<constants>
<constant name="ROTATION_NONE" value="0">
Forbids the PathFollow to rotate.
</constant>
<constant name="ROTATION_Y" value="1">
Allows the PathFollow to rotate in the Y axis only.
</constant>
<constant name="ROTATION_XY" value="2">
Allows the PathFollow to rotate in both the X, and Y axes.
</constant>
<constant name="ROTATION_XYZ" value="3">
Allows the PathFollow to rotate in any axis.
</constant>
</constants>
</class>
<class name="PathFollow2D" inherits="Node2D" category="Core">
<brief_description>
Point sampler for a [Path2D].
</brief_description>
<description>
This node takes its parent [Path2D], and returns the coordinates of a point within it, given a distance from the first vertex.
It is useful for making other nodes follow a path, without coding the movement pattern. For that, the nodes must be descendants of this node. Then, when setting an offset in this node, the descendant nodes will move accordingly.
</description>
<methods>
<method name="get_cubic_interpolation" qualifiers="const">
<return type="bool">
</return>
<description>
This method returns whether the position between two cached points (see [method set_cubic_interpolation]) is interpolated linearly, or cubicly.
</description>
</method>
<method name="get_h_offset" qualifiers="const">
<return type="float">
</return>
<description>
Returns the horizontal displacement this node has from its parent [Path2D].
</description>
</method>
<method name="get_offset" qualifiers="const">
<return type="float">
</return>
<description>
Returns the distance along the path in pixels.
</description>
</method>
<method name="get_unit_offset" qualifiers="const">
<return type="float">
</return>
<description>
Returns the distance along the path as a number in the range 0.0 (for the first vertex) to 1.0 (for the last).
</description>
</method>
<method name="get_v_offset" qualifiers="const">
<return type="float">
</return>
<description>
Returns the vertical displacement this node has from its parent [Path2D].
</description>
</method>
<method name="has_loop" qualifiers="const">
<return type="bool">
</return>
<description>
Returns whether this node wraps its offsets around, or truncates them to the path ends.
</description>
</method>
<method name="is_rotating" qualifiers="const">
<return type="bool">
</return>
<description>
Returns whether this node rotates to follow the path.
</description>
</method>
<method name="set_cubic_interpolation">
<argument index="0" name="enable" type="bool">
</argument>
<description>
The points along the [Curve2D] of the [Path2D] are precomputed before use, for faster calculations. The point at the requested offset is then calculated interpolating between two adjacent cached points. This may present a problem if the curve makes sharp turns, as the cached points may not follow the curve closely enough.
There are two answers to this problem: Either increase the number of cached points and increase memory consumption, or make a cubic interpolation between two points at the cost of (slightly) slower calculations.
This method controls whether the position between two cached points is interpolated linearly, or cubicly.
</description>
</method>
<method name="set_h_offset">
<argument index="0" name="h_offset" type="float">
</argument>
<description>
Moves this node horizontally. As this node's position will be set every time its offset is set, this allows many PathFollow2D to share the same curve (and thus the same movement pattern), yet not return the same position for a given path offset.
A similar effect may be achieved moving this node's descendants.
</description>
</method>
<method name="set_loop">
<argument index="0" name="loop" type="bool">
</argument>
<description>
If set, any offset outside the path's length (whether set by [method set_offset] or [method set_unit_offset] will wrap around, instead of stopping at the ends. Set it for cyclic paths.
</description>
</method>
<method name="set_offset">
<argument index="0" name="offset" type="float">
</argument>
<description>
Sets the distance from the first vertex, measured in pixels along the path. This sets this node's position to a point within the path.
</description>
</method>
<method name="set_rotate">
<argument index="0" name="enable" type="bool">
</argument>
<description>
If set, this node rotates to follow the path, making its descendants rotate.
</description>
</method>
<method name="set_unit_offset">
<argument index="0" name="unit_offset" type="float">
</argument>
<description>
Sets the distance from the first vertex, considering 0.0 as the first vertex and 1.0 as the last. This is just another way of expressing the offset within the path, as the offset supplied is multiplied internally by the path's length.
</description>
</method>
<method name="set_v_offset">
<argument index="0" name="v_offset" type="float">
</argument>
<description>
Moves the PathFollow2D vertically, for the same reasons of [method set_h_offset].
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="PathRemap" inherits="Object" category="Core">
<brief_description>
Singleton containing the list of remapped resources.
</brief_description>
<description>
When exporting, the types of some resources may change internally so they are converted to more optimized versions. While it's not usually necessary to access to this directly (path remapping happens automatically when opening a file), it's exported just for information.
</description>
<methods>
<method name="add_remap">
<argument index="0" name="from" type="String">
</argument>
<argument index="1" name="to" type="String">
</argument>
<argument index="2" name="locale" type="String" default="&quot;&quot;">
</argument>
<description>
Add a remap from a file to another.
</description>
</method>
<method name="clear_remaps">
<description>
Clear all remaps.
</description>
</method>
<method name="erase_remap">
<argument index="0" name="path" type="String">
</argument>
<description>
Erase a remap.
</description>
</method>
<method name="get_remap" qualifiers="const">
<return type="String">
</return>
<argument index="0" name="path" type="String">
</argument>
<description>
Return the remapped new path of a file.
</description>
</method>
<method name="has_remap" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="path" type="String">
</argument>
<description>
Return true if a file is being remapped.
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="Performance" inherits="Object" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
<method name="get_monitor" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="monitor" type="int">
</argument>
<description>
</description>
</method>
</methods>
<constants>
<constant name="TIME_FPS" value="0">
</constant>
<constant name="TIME_PROCESS" value="1">
</constant>
<constant name="TIME_FIXED_PROCESS" value="2">
</constant>
<constant name="MEMORY_STATIC" value="3">
</constant>
<constant name="MEMORY_DYNAMIC" value="4">
</constant>
<constant name="MEMORY_STATIC_MAX" value="5">
</constant>
<constant name="MEMORY_DYNAMIC_MAX" value="6">
</constant>
<constant name="MEMORY_MESSAGE_BUFFER_MAX" value="7">
</constant>
<constant name="OBJECT_COUNT" value="8">
</constant>
<constant name="OBJECT_RESOURCE_COUNT" value="9">
</constant>
<constant name="OBJECT_NODE_COUNT" value="10">
</constant>
<constant name="RENDER_OBJECTS_IN_FRAME" value="11">
</constant>
<constant name="RENDER_VERTICES_IN_FRAME" value="12">
</constant>
<constant name="RENDER_MATERIAL_CHANGES_IN_FRAME" value="13">
</constant>
<constant name="RENDER_SHADER_CHANGES_IN_FRAME" value="14">
</constant>
<constant name="RENDER_SURFACE_CHANGES_IN_FRAME" value="15">
</constant>
<constant name="RENDER_DRAW_CALLS_IN_FRAME" value="16">
</constant>
<constant name="RENDER_USAGE_VIDEO_MEM_TOTAL" value="20">
</constant>
<constant name="RENDER_VIDEO_MEM_USED" value="17">
</constant>
<constant name="RENDER_TEXTURE_MEM_USED" value="18">
</constant>
<constant name="RENDER_VERTEX_MEM_USED" value="19">
</constant>
<constant name="PHYSICS_2D_ACTIVE_OBJECTS" value="21">
</constant>
<constant name="PHYSICS_2D_COLLISION_PAIRS" value="22">
</constant>
<constant name="PHYSICS_2D_ISLAND_COUNT" value="23">
</constant>
<constant name="PHYSICS_3D_ACTIVE_OBJECTS" value="24">
</constant>
<constant name="PHYSICS_3D_COLLISION_PAIRS" value="25">
</constant>
<constant name="PHYSICS_3D_ISLAND_COUNT" value="26">
</constant>
<constant name="MONITOR_MAX" value="27">
</constant>
</constants>
</class>
<class name="Physics2DDirectBodyState" inherits="Object" category="Core">
<brief_description>
Direct access object to a physics body in the [Physics2DServer].
</brief_description>
<description>
Direct access object to a physics body in the [Physics2DServer]. This object is passed via the direct state callback of rigid/character bodies, and is intended for changing the direct state of that body.
</description>
<methods>
<method name="get_angular_velocity" qualifiers="const">
<return type="float">
</return>
<description>
Return the angular velocity of the body.
</description>
</method>
<method name="get_contact_collider" qualifiers="const">
<return type="RID">
</return>
<argument index="0" name="contact_idx" type="int">
</argument>
<description>
Return the [RID] of the collider.
</description>
</method>
<method name="get_contact_collider_id" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="contact_idx" type="int">
</argument>
<description>
Return the object id of the collider.
</description>
</method>
<method name="get_contact_collider_object" qualifiers="const">
<return type="Object">
</return>
<argument index="0" name="contact_idx" type="int">
</argument>
<description>
Return the collider object, this depends on how it was created (will return a scene node if such was used to create it).
</description>
</method>
<method name="get_contact_collider_pos" qualifiers="const">
<return type="Vector2">
</return>
<argument index="0" name="contact_idx" type="int">
</argument>
<description>
Return the contact position in the collider.
</description>
</method>
<method name="get_contact_collider_shape" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="contact_idx" type="int">
</argument>
<description>
Return the collider shape index.
</description>
</method>
<method name="get_contact_collider_shape_metadata" qualifiers="const">
<return type="Variant">
</return>
<argument index="0" name="contact_idx" type="int">
</argument>
<description>
Return the metadata of the collided shape. This metadata is different from [method Object.get_meta], and is set with [method Physics2DServer.shape_set_data].
</description>
</method>
<method name="get_contact_collider_velocity_at_pos" qualifiers="const">
<return type="Vector2">
</return>
<argument index="0" name="contact_idx" type="int">
</argument>
<description>
Return the linear velocity vector at contact point of the collider.
</description>
</method>
<method name="get_contact_count" qualifiers="const">
<return type="int">
</return>
<description>
Return the amount of contacts this body has with other bodies. Note that by default this returns 0 unless bodies are configured to log contacts.
</description>
</method>
<method name="get_contact_local_normal" qualifiers="const">
<return type="Vector2">
</return>
<argument index="0" name="contact_idx" type="int">
</argument>
<description>
Return the local normal (of this body) of the contact point.
</description>
</method>
<method name="get_contact_local_pos" qualifiers="const">
<return type="Vector2">
</return>
<argument index="0" name="contact_idx" type="int">
</argument>
<description>
Return the local position (of this body) of the contact point.
</description>
</method>
<method name="get_contact_local_shape" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="contact_idx" type="int">
</argument>
<description>
Return the local shape index of the collision.
</description>
</method>
<method name="get_inverse_inertia" qualifiers="const">
<return type="float">
</return>
<description>
Return the inverse of the inertia of the body.
</description>
</method>
<method name="get_inverse_mass" qualifiers="const">
<return type="float">
</return>
<description>
Return the inverse of the mass of the body.
</description>
</method>
<method name="get_linear_velocity" qualifiers="const">
<return type="Vector2">
</return>
<description>
Return the current linear velocity of the body.
</description>
</method>
<method name="get_space_state">
<return type="Physics2DDirectSpaceState">
</return>
<description>
Return the current state of space, useful for queries.
</description>
</method>
<method name="get_step" qualifiers="const">
<return type="float">
</return>
<description>
Return the timestep (delta) used for the simulation.
</description>
</method>
<method name="get_total_angular_damp" qualifiers="const">
<return type="float">
</return>
<description>
Return the rate at which the body stops rotating, if there are not any other forces moving it.
</description>
</method>
<method name="get_total_gravity" qualifiers="const">
<return type="Vector2">
</return>
<description>
Return the total gravity vector being currently applied to this body.
</description>
</method>
<method name="get_total_linear_damp" qualifiers="const">
<return type="float">
</return>
<description>
Return the rate at which the body stops moving, if there are not any other forces moving it.
</description>
</method>
<method name="get_transform" qualifiers="const">
<return type="Matrix32">
</return>
<description>
Return the transform matrix of the body.
</description>
</method>
<method name="integrate_forces">
<description>
Call the built-in force integration code.
</description>
</method>
<method name="is_sleeping" qualifiers="const">
<return type="bool">
</return>
<description>
Return true if this body is currently sleeping (not active).
</description>
</method>
<method name="set_angular_velocity">
<argument index="0" name="velocity" type="float">
</argument>
<description>
Change the angular velocity of the body.
</description>
</method>
<method name="set_linear_velocity">
<argument index="0" name="velocity" type="Vector2">
</argument>
<description>
Change the linear velocity of the body.
</description>
</method>
<method name="set_sleep_state">
<argument index="0" name="enabled" type="bool">
</argument>
<description>
Set the sleeping state of the body, only affects character/rigid bodies.
</description>
</method>
<method name="set_transform">
<argument index="0" name="transform" type="Matrix32">
</argument>
<description>
Change the transform matrix of the body.
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="Physics2DDirectBodyStateSW" inherits="Physics2DDirectBodyState" category="Core">
<brief_description>
Software implementation of [Physics2DDirectBodyState].
</brief_description>
<description>
Software implementation of [Physics2DDirectBodyState]. This object exposes no new methods or properties and should not be used, as [Physics2DDirectBodyState] selects the best implementation available.
</description>
<methods>
</methods>
<constants>
</constants>
</class>
<class name="Physics2DDirectSpaceState" inherits="Object" category="Core">
<brief_description>
Direct access object to a space in the [Physics2DServer].
</brief_description>
<description>
Direct access object to a space in the [Physics2DServer]. It's used mainly to do queries against objects and areas residing in a given space.
</description>
<methods>
<method name="cast_motion">
<return type="Array">
</return>
<argument index="0" name="shape" type="Physics2DShapeQueryParameters">
</argument>
<description>
Check whether the shape can travel to a point. If it can, the method will return an array with two floats: The first is the distance the shape can move in that direction without colliding, and the second is the distance at which it will collide.
If the shape can not move, the array will be empty.
</description>
</method>
<method name="collide_shape">
<return type="Array">
</return>
<argument index="0" name="shape" type="Physics2DShapeQueryParameters">
</argument>
<argument index="1" name="max_results" type="int" default="32">
</argument>
<description>
Check the intersections of a shape, given through a [Physics2DShapeQueryParameters] object, against the space. The resulting array contains a list of points where the shape intersects another. Like with [method intersect_shape], the number of returned results can be limited to save processing time.
</description>
</method>
<method name="get_rest_info">
<return type="Dictionary">
</return>
<argument index="0" name="shape" type="Physics2DShapeQueryParameters">
</argument>
<description>
Check the intersections of a shape, given through a [Physics2DShapeQueryParameters] object, against the space. If it collides with more than a shape, the nearest one is selected. The returned object is a dictionary containing the following fields:
pointo: Place where the shapes intersect.
normal: Normal of the object at the point where the shapes intersect.
shape: Shape index within the object against which the shape intersected.
metadata: Metadata of the shape against which the shape intersected. This metadata is different from [method Object.get_meta], and is set with [method Physics2DServer.shape_set_data].
collider_id: Id of the object against which the shape intersected.
collider: Object against which the shape intersected.
rid: [RID] of the object against which the shape intersected.
linear_velocity: The movement vector of the object the shape intersected, if it was a body. If it was an area, it is (0,0).
If the shape did not intersect anything, then an empty dictionary (dir.empty()==true) is returned instead.
</description>
</method>
<method name="intersect_point">
<return type="Array">
</return>
<argument index="0" name="point" type="Vector2">
</argument>
<argument index="1" name="max_results" type="int" default="32">
</argument>
<argument index="2" name="exclude" type="Array" default="Array()">
</argument>
<argument index="3" name="layer_mask" type="int" default="2147483647">
</argument>
<argument index="4" name="type_mask" type="int" default="15">
</argument>
<description>
Check whether a point is inside any shape. The shapes the point is inside of are returned in an array containing dictionaries with the following fields:
shape: Shape index within the object the point is in.
metadata: Metadata of the shape the point is in. This metadata is different from [method Object.get_meta], and is set with [method Physics2DServer.shape_set_data].
collider_id: Id of the object the point is in.
collider: Object the point is inside of.
rid: [RID] of the object the point is in.
Additionally, the method can take an array of objects or [RID]s that are to be excluded from collisions, a bitmask representing the physics layers to check in, and another bitmask for the types of objects to check (see TYPE_MASK_* constants).
</description>
</method>
<method name="intersect_ray">
<return type="Dictionary">
</return>
<argument index="0" name="from" type="Vector2">
</argument>
<argument index="1" name="to" type="Vector2">
</argument>
<argument index="2" name="exclude" type="Array" default="Array()">
</argument>
<argument index="3" name="layer_mask" type="int" default="2147483647">
</argument>
<argument index="4" name="type_mask" type="int" default="15">
</argument>
<description>
Intersect a ray in a given space. The returned object is a dictionary with the following fields:
position: Place where ray is stopped.
normal: Normal of the object at the point where the ray was stopped.
shape: Shape index within the object against which the ray was stopped.
metadata: Metadata of the shape against which the ray was stopped. This metadata is different from [method Object.get_meta], and is set with [method Physics2DServer.shape_set_data].
collider_id: Id of the object against which the ray was stopped.
collider: Object against which the ray was stopped.
rid: [RID] of the object against which the ray was stopped.
If the ray did not intersect anything, then an empty dictionary (dir.empty()==true) is returned instead.
Additionally, the method can take an array of objects or [RID]s that are to be excluded from collisions, a bitmask representing the physics layers to check in, and another bitmask for the types of objects to check (see TYPE_MASK_* constants).
</description>
</method>
<method name="intersect_shape">
<return type="Array">
</return>
<argument index="0" name="shape" type="Physics2DShapeQueryParameters">
</argument>
<argument index="1" name="max_results" type="int" default="32">
</argument>
<description>
Check the intersections of a shape, given through a [Physics2DShapeQueryParameters] object, against the space. The intersected shapes are returned in an array containing dictionaries with the following fields:
shape: Shape index within the object the shape intersected.
metadata: Metadata of the shape intersected by the shape given through the [Physics2DShapeQueryParameters]. This metadata is different from [method Object.get_meta], and is set with [method Physics2DServer.shape_set_data].
collider_id: Id of the object the shape intersected.
collider: Object the shape intersected.
rid: [RID] of the object the shape intersected.
The number of intersections can be limited with the second paramater, to reduce the processing time.
</description>
</method>
</methods>
<constants>
<constant name="TYPE_MASK_STATIC_BODY" value="1">
Check for collisions with static bodies.
</constant>
<constant name="TYPE_MASK_KINEMATIC_BODY" value="2">
Check for collisions with kinematic bodies.
</constant>
<constant name="TYPE_MASK_RIGID_BODY" value="4">
Check for collisions with rigid bodies.
</constant>
<constant name="TYPE_MASK_CHARACTER_BODY" value="8">
Check for collisions with rigid bodies in character mode.
</constant>
<constant name="TYPE_MASK_AREA" value="16">
Check for collisions with areas.
</constant>
<constant name="TYPE_MASK_COLLISION" value="15">
Check for collisions with any kind of bodies (but not areas).
</constant>
</constants>
</class>
<class name="Physics2DServer" inherits="Object" category="Core">
<brief_description>
Physics 2D Server.
</brief_description>
<description>
Physics 2D Server is the server responsible for all 2D physics. It can create many kinds of physics objects, but does not insert them on the node tree.
</description>
<methods>
<method name="area_add_shape">
<argument index="0" name="area" type="RID">
</argument>
<argument index="1" name="shape" type="RID">
</argument>
<argument index="2" name="transform" type="Matrix32" default="1,0, 0,1, 0,0">
</argument>
<description>
Add a shape to the area, along with a transform matrix. Shapes are usually referenced by their index, so you should track which shape has a given index.
</description>
</method>
<method name="area_attach_object_instance_ID">
<argument index="0" name="area" type="RID">
</argument>
<argument index="1" name="id" type="int">
</argument>
<description>
Assign the area to a descendant of [Object], so it can exist in the node tree.
</description>
</method>
<method name="area_clear_shapes">
<argument index="0" name="area" type="RID">
</argument>
<description>
Remove all shapes from an area. It does not delete the shapes, so they can be reassigned later.
</description>
</method>
<method name="area_create">
<return type="RID">
</return>
<description>
Create an [Area2D].
</description>
</method>
<method name="area_get_object_instance_ID" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="area" type="RID">
</argument>
<description>
Get the instance ID of the object the area is assigned to.
</description>
</method>
<method name="area_get_param" qualifiers="const">
<argument index="0" name="area" type="RID">
</argument>
<argument index="1" name="param" type="int">
</argument>
<description>
Return an area parameter value.
</description>
</method>
<method name="area_get_shape" qualifiers="const">
<return type="RID">
</return>
<argument index="0" name="area" type="RID">
</argument>
<argument index="1" name="shape_idx" type="int">
</argument>
<description>
Return the [RID] of the nth shape of an area.
</description>
</method>
<method name="area_get_shape_count" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="area" type="RID">
</argument>
<description>
Return the number of shapes assigned to an area.
</description>
</method>
<method name="area_get_shape_transform" qualifiers="const">
<return type="Matrix32">
</return>
<argument index="0" name="area" type="RID">
</argument>
<argument index="1" name="shape_idx" type="int">
</argument>
<description>
Return the transform matrix of a shape within an area.
</description>
</method>
<method name="area_get_space" qualifiers="const">
<return type="RID">
</return>
<argument index="0" name="area" type="RID">
</argument>
<description>
Return the space assigned to the area.
</description>
</method>
<method name="area_get_space_override_mode" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="area" type="RID">
</argument>
<description>
Return the space override mode for the area.
</description>
</method>
<method name="area_get_transform" qualifiers="const">
<return type="Matrix32">
</return>
<argument index="0" name="area" type="RID">
</argument>
<description>
Return the transform matrix for an area.
</description>
</method>
<method name="area_remove_shape">
<argument index="0" name="area" type="RID">
</argument>
<argument index="1" name="shape_idx" type="int">
</argument>
<description>
Remove a shape from an area. It does not delete the shape, so it can be reassigned later.
</description>
</method>
<method name="area_set_collision_mask">
<argument index="0" name="area" type="RID">
</argument>
<argument index="1" name="mask" type="int">
</argument>
<description>
Set which physics layers the area will monitor.
</description>
</method>
<method name="area_set_layer_mask">
<argument index="0" name="area" type="RID">
</argument>
<argument index="1" name="mask" type="int">
</argument>
<description>
Assign the area to one or many physics layers.
</description>
</method>
<method name="area_set_monitor_callback">
<argument index="0" name="area" type="RID">
</argument>
<argument index="1" name="receiver" type="Object">
</argument>
<argument index="2" name="method" type="String">
</argument>
<description>
Set the function to call when any body/area enters or exits the area. This callback will be called for any object interacting with the area, and takes five parameters:
1: AREA_BODY_ADDED or AREA_BODY_REMOVED, depending on whether the object entered or exited the area.
2: [RID] of the object that entered/exited the area.
3: Instance ID of the object that entered/exited the area.
4: The shape index of the object that entered/exited the area.
5: The shape index of the area where the object entered/exited.
</description>
</method>
<method name="area_set_param">
<argument index="0" name="area" type="RID">
</argument>
<argument index="1" name="param" type="int">
</argument>
<argument index="2" name="value" type="var">
</argument>
<description>
Set the value for an area parameter. A list of available parameters is on the AREA_PARAM_* constants.
</description>
</method>
<method name="area_set_shape">
<argument index="0" name="area" type="RID">
</argument>
<argument index="1" name="shape_idx" type="int">
</argument>
<argument index="2" name="shape" type="RID">
</argument>
<description>
Substitute a given area shape by another. The old shape is selected by its index, the new one by its [RID].
</description>
</method>
<method name="area_set_shape_transform">
<argument index="0" name="area" type="RID">
</argument>
<argument index="1" name="shape_idx" type="int">
</argument>
<argument index="2" name="transform" type="Matrix32">
</argument>
<description>
Set the transform matrix for an area shape.
</description>
</method>
<method name="area_set_space">
<argument index="0" name="area" type="RID">
</argument>
<argument index="1" name="space" type="RID">
</argument>
<description>
Assign a space to the area.
</description>
</method>
<method name="area_set_space_override_mode">
<argument index="0" name="area" type="RID">
</argument>
<argument index="1" name="mode" type="int">
</argument>
<description>
Set the space override mode for the area. The modes are described in the constants AREA_SPACE_OVERRIDE_*.
</description>
</method>
<method name="area_set_transform">
<argument index="0" name="area" type="RID">
</argument>
<argument index="1" name="transform" type="Matrix32">
</argument>
<description>
Set the transform matrix for an area.
</description>
</method>
<method name="body_add_collision_exception">
<argument index="0" name="body" type="RID">
</argument>
<argument index="1" name="excepted_body" type="RID">
</argument>
<description>
Add a body to the list of bodies exempt from collisions.
</description>
</method>
<method name="body_add_shape">
<argument index="0" name="body" type="RID">
</argument>
<argument index="1" name="shape" type="RID">
</argument>
<argument index="2" name="transform" type="Matrix32" default="1,0, 0,1, 0,0">
</argument>
<description>
Add a shape to the body, along with a transform matrix. Shapes are usually referenced by their index, so you should track which shape has a given index.
</description>
</method>
<method name="body_apply_impulse">
<argument index="0" name="body" type="RID">
</argument>
<argument index="1" name="pos" type="Vector2">
</argument>
<argument index="2" name="impulse" type="Vector2">
</argument>
<description>
Add a positioned impulse to the applied force and torque. Both the force and the offset from the body origin are in global coordinates.
</description>
</method>
<method name="body_attach_object_instance_ID">
<argument index="0" name="body" type="RID">
</argument>
<argument index="1" name="id" type="int">
</argument>
<description>
Assign the area to a descendant of [Object], so it can exist in the node tree.
</description>
</method>
<method name="body_clear_shapes">
<argument index="0" name="body" type="RID">
</argument>
<description>
Remove all shapes from a body.
</description>
</method>
<method name="body_create">
<return type="RID">
</return>
<argument index="0" name="mode" type="int" default="2">
</argument>
<argument index="1" name="init_sleeping" type="bool" default="false">
</argument>
<description>
Create a physics body. The first parameter can be any value from constants BODY_MODE*, for the type of body created. Additionally, the body can be created in sleeping state to save processing time.
</description>
</method>
<method name="body_get_collision_mask" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="body" type="RID">
</argument>
<description>
Return the physics layer or layers a body can collide with.
</description>
</method>
<method name="body_get_continuous_collision_detection_mode" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="body" type="RID">
</argument>
<description>
Return the continuous collision detection mode.
</description>
</method>
<method name="body_get_layer_mask" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="body" type="RID">
</argument>
<description>
Return the physics layer or layers a body belongs to.
</description>
</method>
<method name="body_get_max_contacts_reported" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="body" type="RID">
</argument>
<description>
Return the maximum contacts that can be reported. See [method body_set_max_contacts_reported].
</description>
</method>
<method name="body_get_mode" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="body" type="RID">
</argument>
<description>
Return the body mode.
</description>
</method>
<method name="body_get_object_instance_ID" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="body" type="RID">
</argument>
<description>
Get the instance ID of the object the area is assigned to.
</description>
</method>
<method name="body_get_one_way_collision_direction" qualifiers="const">
<return type="Vector2">
</return>
<argument index="0" name="body" type="RID">
</argument>
<description>
Return the direction used for one-way collision detection.
</description>
</method>
<method name="body_get_one_way_collision_max_depth" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="body" type="RID">
</argument>
<description>
Return how far a body can go through the given one, when it allows one-way collisions.
</description>
</method>
<method name="body_get_param" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="body" type="RID">
</argument>
<argument index="1" name="param" type="int">
</argument>
<description>
Return the value of a body parameter.
</description>
</method>
<method name="body_get_shape" qualifiers="const">
<return type="RID">
</return>
<argument index="0" name="body" type="RID">
</argument>
<argument index="1" name="shape_idx" type="int">
</argument>
<description>
Return the [RID] of the nth shape of a body.
</description>
</method>
<method name="body_get_shape_count" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="body" type="RID">
</argument>
<description>
Return the number of shapes assigned to a body.
</description>
</method>
<method name="body_get_shape_metadata" qualifiers="const">
<argument index="0" name="body" type="RID">
</argument>
<argument index="1" name="shape_idx" type="int">
</argument>
<description>
Return the metadata of a shape of a body.
</description>
</method>
<method name="body_get_shape_transform" qualifiers="const">
<return type="Matrix32">
</return>
<argument index="0" name="body" type="RID">
</argument>
<argument index="1" name="shape_idx" type="int">
</argument>
<description>
Return the transform matrix of a body shape.
</description>
</method>
<method name="body_get_space" qualifiers="const">
<return type="RID">
</return>
<argument index="0" name="body" type="RID">
</argument>
<description>
Return the [RID] of the space assigned to a body.
</description>
</method>
<method name="body_get_state" qualifiers="const">
<argument index="0" name="body" type="RID">
</argument>
<argument index="1" name="state" type="int">
</argument>
<description>
Return a body state.
</description>
</method>
<method name="body_is_omitting_force_integration" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="body" type="RID">
</argument>
<description>
Return whether a body uses a callback function to calculate its own physics (see [method body_set_force_integration_callback]).
</description>
</method>
<method name="body_is_shape_set_as_trigger" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="body" type="RID">
</argument>
<argument index="1" name="shape_idx" type="int">
</argument>
<description>
Return whether a body's shape is marked as a trigger.
</description>
</method>
<method name="body_remove_collision_exception">
<argument index="0" name="body" type="RID">
</argument>
<argument index="1" name="excepted_body" type="RID">
</argument>
<description>
Remove a body from the list of bodies exempt from collisions.
</description>
</method>
<method name="body_remove_shape">
<argument index="0" name="body" type="RID">
</argument>
<argument index="1" name="shape_idx" type="int">
</argument>
<description>
Remove a shape from a body. The shape is not deleted, so it can be reused afterwards.
</description>
</method>
<method name="body_set_axis_velocity">
<argument index="0" name="body" type="RID">
</argument>
<argument index="1" name="axis_velocity" type="Vector2">
</argument>
<description>
Set an axis velocity. The velocity in the given vector axis will be set as the given vector length. This is useful for jumping behavior.
</description>
</method>
<method name="body_set_collision_mask">
<argument index="0" name="body" type="RID">
</argument>
<argument index="1" name="mask" type="int">
</argument>
<description>
Set the physics layer or layers a body can collide with.
</description>
</method>
<method name="body_set_continuous_collision_detection_mode">
<argument index="0" name="body" type="RID">
</argument>
<argument index="1" name="mode" type="int">
</argument>
<description>
Set the continuous collision detection mode from any of the CCD_MODE_* constants.
Continuous collision detection tries to predict where a moving body will collide, instead of moving it and correcting its movement if it collided.
</description>
</method>
<method name="body_set_force_integration_callback">
<argument index="0" name="body" type="RID">
</argument>
<argument index="1" name="receiver" type="Object">
</argument>
<argument index="2" name="method" type="String">
</argument>
<argument index="3" name="userdata" type="var" default="NULL">
</argument>
<description>
Set the function used to calculate physics for an object, if that object allows it (see [method body_set_omit_force integration]).
</description>
</method>
<method name="body_set_layer_mask">
<argument index="0" name="body" type="RID">
</argument>
<argument index="1" name="mask" type="int">
</argument>
<description>
Set the physics layer or layers a body belongs to.
</description>
</method>
<method name="body_set_max_contacts_reported">
<argument index="0" name="body" type="RID">
</argument>
<argument index="1" name="amount" type="int">
</argument>
<description>
Set the maximum contacts to report. Bodies can keep a log of the contacts with other bodies, this is enabled by setting the maximum amount of contacts reported to a number greater than 0.
</description>
</method>
<method name="body_set_mode">
<argument index="0" name="body" type="RID">
</argument>
<argument index="1" name="mode" type="int">
</argument>
<description>
Set the body mode, from one of the constants BODY_MODE*.
</description>
</method>
<method name="body_set_omit_force_integration">
<argument index="0" name="body" type="RID">
</argument>
<argument index="1" name="enable" type="bool">
</argument>
<description>
Set whether a body uses a callback function to calculate its own physics (see [method body_set_force_integration_callback]).
</description>
</method>
<method name="body_set_one_way_collision_direction">
<argument index="0" name="body" type="RID">
</argument>
<argument index="1" name="normal" type="Vector2">
</argument>
<description>
Set a direction in which bodies can go through the given one. If this value is different from (0,0), any movement within 90 degrees of this vector is considered a valid movement. Set this direction to (0,0) to disable one-way collisions.
</description>
</method>
<method name="body_set_one_way_collision_max_depth">
<argument index="0" name="body" type="RID">
</argument>
<argument index="1" name="depth" type="float">
</argument>
<description>
Set how far a body can go through the given one, if it allows one-way collisions (see [method body_set_one_way_collision_direction]).
</description>
</method>
<method name="body_set_param">
<argument index="0" name="body" type="RID">
</argument>
<argument index="1" name="param" type="int">
</argument>
<argument index="2" name="value" type="float">
</argument>
<description>
Set a body parameter (see BODY_PARAM* constants).
</description>
</method>
<method name="body_set_shape">
<argument index="0" name="body" type="RID">
</argument>
<argument index="1" name="shape_idx" type="int">
</argument>
<argument index="2" name="shape" type="RID">
</argument>
<description>
Substitute a given body shape by another. The old shape is selected by its index, the new one by its [RID].
</description>
</method>
<method name="body_set_shape_as_trigger">
<argument index="0" name="body" type="RID">
</argument>
<argument index="1" name="shape_idx" type="int">
</argument>
<argument index="2" name="enable" type="bool">
</argument>
<description>
Mark a body's shape as a trigger. A trigger shape cannot affect other bodies, but detects other shapes entering and exiting it.
</description>
</method>
<method name="body_set_shape_metadata">
<argument index="0" name="body" type="RID">
</argument>
<argument index="1" name="shape_idx" type="int">
</argument>
<argument index="2" name="metadata" type="var">
</argument>
<description>
Set metadata of a shape within a body. This metadata is different from [method Object.set_meta], and can be retrieved on shape queries.
</description>
</method>
<method name="body_set_shape_transform">
<argument index="0" name="body" type="RID">
</argument>
<argument index="1" name="shape_idx" type="int">
</argument>
<argument index="2" name="transform" type="Matrix32">
</argument>
<description>
Set the transform matrix for a body shape.
</description>
</method>
<method name="body_set_space">
<argument index="0" name="body" type="RID">
</argument>
<argument index="1" name="space" type="RID">
</argument>
<description>
Assign a space to the body (see [method create_space]).
</description>
</method>
<method name="body_set_state">
<argument index="0" name="body" type="RID">
</argument>
<argument index="1" name="state" type="int">
</argument>
<argument index="2" name="value" type="var">
</argument>
<description>
Set a body state (see BODY_STATE* constants).
</description>
</method>
<method name="body_test_motion">
<return type="bool">
</return>
<argument index="0" name="body" type="RID">
</argument>
<argument index="1" name="motion" type="Vector2">
</argument>
<argument index="2" name="margin" type="float" default="0.08">
</argument>
<argument index="3" name="result" type="Physics2DTestMotionResult" default="NULL">
</argument>
<description>
Return whether a body can move in a given direction. Apart from the boolean return value, a [Physics2DTestMotionResult] can be passed to return additional information in.
</description>
</method>
<method name="damped_spring_joint_create">
<return type="RID">
</return>
<argument index="0" name="anchor_a" type="Vector2">
</argument>
<argument index="1" name="anchor_b" type="Vector2">
</argument>
<argument index="2" name="body_a" type="RID">
</argument>
<argument index="3" name="body_b" type="RID" default="RID()">
</argument>
<description>
Create a damped spring joint between two bodies. If not specified, the second body is assumed to be the joint itself.
</description>
</method>
<method name="damped_string_joint_get_param" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="joint" type="RID">
</argument>
<argument index="1" name="param" type="int">
</argument>
<description>
Return the value of a damped spring joint parameter.
</description>
</method>
<method name="damped_string_joint_set_param">
<argument index="0" name="joint" type="RID">
</argument>
<argument index="1" name="param" type="int">
</argument>
<argument index="2" name="value" type="float">
</argument>
<description>
Set a damped spring joint parameter. Parameters are explained in the DAMPED_STRING* constants.
</description>
</method>
<method name="free_rid">
<argument index="0" name="rid" type="RID">
</argument>
<description>
Destroy any of the objects created by Physics2DServer. If the [RID] passed is not one of the objects that can be created by Physics2DServer, an error will be sent to the console.
</description>
</method>
<method name="get_process_info">
<return type="int">
</return>
<argument index="0" name="process_info" type="int">
</argument>
<description>
Return information about the current state of the 2D physics engine. The states are listed under the INFO_* constants.
</description>
</method>
<method name="groove_joint_create">
<return type="RID">
</return>
<argument index="0" name="groove1_a" type="Vector2">
</argument>
<argument index="1" name="groove2_a" type="Vector2">
</argument>
<argument index="2" name="anchor_b" type="Vector2">
</argument>
<argument index="3" name="body_a" type="RID" default="RID()">
</argument>
<argument index="4" name="body_b" type="RID" default="RID()">
</argument>
<description>
Create a groove joint between two bodies. If not specified, the bodyies are assumed to be the joint itself.
</description>
</method>
<method name="joint_get_param" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="joint" type="RID">
</argument>
<argument index="1" name="param" type="int">
</argument>
<description>
Return the value of a joint parameter.
</description>
</method>
<method name="joint_get_type" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="joint" type="RID">
</argument>
<description>
Return the type of a joint (see JOINT_* constants).
</description>
</method>
<method name="joint_set_param">
<argument index="0" name="joint" type="RID">
</argument>
<argument index="1" name="param" type="int">
</argument>
<argument index="2" name="value" type="float">
</argument>
<description>
Set a joint parameter. Parameters are explained in the JOINT_PARAM* constants.
</description>
</method>
<method name="pin_joint_create">
<return type="RID">
</return>
<argument index="0" name="anchor" type="Vector2">
</argument>
<argument index="1" name="body_a" type="RID">
</argument>
<argument index="2" name="body_b" type="RID" default="RID()">
</argument>
<description>
Create a pin joint between two bodies. If not specified, the second body is assumed to be the joint itself.
</description>
</method>
<method name="set_active">
<argument index="0" name="active" type="bool">
</argument>
<description>
Activate or deactivate the 2D physics engine.
</description>
</method>
<method name="shape_create">
<return type="RID">
</return>
<argument index="0" name="type" type="int">
</argument>
<description>
Create a shape of type SHAPE_*. Does not assign it to a body or an area. To do so, you must use [method area_set_shape] or [method body_set_shape].
</description>
</method>
<method name="shape_get_data" qualifiers="const">
<argument index="0" name="shape" type="RID">
</argument>
<description>
Return the shape data.
</description>
</method>
<method name="shape_get_type" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="shape" type="RID">
</argument>
<description>
Return the type of shape (see SHAPE_* constants).
</description>
</method>
<method name="shape_set_data">
<argument index="0" name="shape" type="RID">
</argument>
<argument index="1" name="data" type="var">
</argument>
<description>
Set the shape data that defines its shape and size. The data to be passed depends on the kind of shape created [method shape_get_type].
</description>
</method>
<method name="space_create">
<return type="RID">
</return>
<description>
Create a space. A space is a collection of parameters for the physics engine that can be assigned to an area or a body. It can be assigned to an area with [method area_set_space], or to a body with [method body_set_space].
</description>
</method>
<method name="space_get_direct_state">
<return type="Physics2DDirectSpaceState">
</return>
<argument index="0" name="space" type="RID">
</argument>
<description>
Return the state of a space, a [Physics2DDirectSpaceState]. This object can be used to make collision/intersection queries.
</description>
</method>
<method name="space_get_param" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="space" type="RID">
</argument>
<argument index="1" name="param" type="int">
</argument>
<description>
Return the value of a space parameter.
</description>
</method>
<method name="space_is_active" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="space" type="RID">
</argument>
<description>
Return whether the space is active.
</description>
</method>
<method name="space_set_active">
<argument index="0" name="space" type="RID">
</argument>
<argument index="1" name="active" type="bool">
</argument>
<description>
Mark a space as active. It will not have an effect, unless it is assigned to an area or body.
</description>
</method>
<method name="space_set_param">
<argument index="0" name="space" type="RID">
</argument>
<argument index="1" name="param" type="int">
</argument>
<argument index="2" name="value" type="float">
</argument>
<description>
Set the value for a space parameter. A list of available parameters is on the SPACE_PARAM_* constants.
</description>
</method>
</methods>
<constants>
<constant name="SPACE_PARAM_CONTACT_RECYCLE_RADIUS" value="0">
Constant to set/get the maximum distance a pair of bodies has to move before their collision status has to be recalculated.
</constant>
<constant name="SPACE_PARAM_CONTACT_MAX_SEPARATION" value="1">
Constant to set/get the maximum distance a shape can be from another before they are considered separated.
</constant>
<constant name="SPACE_PARAM_BODY_MAX_ALLOWED_PENETRATION" value="2">
Constant to set/get the maximum distance a shape can penetrate another shape before it is considered a collision.
</constant>
<constant name="SPACE_PARAM_BODY_LINEAR_VELOCITY_SLEEP_TRESHOLD" value="3">
Constant to set/get the linear velocity threshold. Bodies slower than this will be marked as potentially inactive.
</constant>
<constant name="SPACE_PARAM_BODY_ANGULAR_VELOCITY_SLEEP_TRESHOLD" value="4">
Constant to set/get the angular velocity threshold. Bodies slower than this will be marked as potentially inactive.
</constant>
<constant name="SPACE_PARAM_BODY_TIME_TO_SLEEP" value="5">
Constant to set/get the maximum time of activity. A body marked as potentially inactive for both linear and angular velocity will be put to sleep after this time.
</constant>
<constant name="SPACE_PARAM_CONSTRAINT_DEFAULT_BIAS" value="6">
Constant to set/get the default solver bias for all physics constraints. A solver bias is a factor controlling how much two objects "rebound", after violating a constraint, to avoid leaving them in that state because of numerical imprecision.
</constant>
<constant name="SHAPE_LINE" value="0">
This is the constant for creating line shapes. A line shape is an infinite line with an origin point, and a normal. Thus, it can be used for front/behind checks.
</constant>
<constant name="SHAPE_SEGMENT" value="2">
This is the constant for creating segment shapes. A segment shape is a line from a point A to a point B. It can be checked for intersections.
</constant>
<constant name="SHAPE_CIRCLE" value="3">
This is the constant for creating circle shapes. A circle shape only has a radius. It can be used for intersections and inside/outside checks.
</constant>
<constant name="SHAPE_RECTANGLE" value="4">
This is the constant for creating rectangle shapes. A rectangle shape is defined by a width and a height. It can be used for intersections and inside/outside checks.
</constant>
<constant name="SHAPE_CAPSULE" value="5">
This is the constant for creating capsule shapes. A capsule shape is defined by a radius and a length. It can be used for intersections and inside/outside checks.
</constant>
<constant name="SHAPE_CONVEX_POLYGON" value="6">
This is the constant for creating convex polygon shapes. A polygon is defined by a list of points. It can be used for intersections and inside/outside checks. Unlike the method [method CollisionPolygon2D.set_polygon], polygons modified with [method shape_set_data] do not verify that the points supplied form, in fact, a convex polygon.
</constant>
<constant name="SHAPE_CONCAVE_POLYGON" value="7">
This is the constant for creating concave polygon shapes. A polygon is defined by a list of points. It can be used for intersections checks, but not for inside/outside checks.
</constant>
<constant name="SHAPE_CUSTOM" value="8">
This constant is used internally by the engine. Any attempt to create this kind of shape results in an error.
</constant>
<constant name="AREA_PARAM_GRAVITY" value="0">
Constant to set/get gravity strength in an area.
</constant>
<constant name="AREA_PARAM_GRAVITY_VECTOR" value="1">
Constant to set/get gravity vector/center in an area.
</constant>
<constant name="AREA_PARAM_GRAVITY_IS_POINT" value="2">
Constant to set/get whether the gravity vector of an area is a direction, or a center point.
</constant>
<constant name="AREA_PARAM_GRAVITY_DISTANCE_SCALE" value="3">
Constant to set/get the falloff factor for point gravity of an area. The greater this value is, the faster the strength of gravity decreases with the square of distance.
</constant>
<constant name="AREA_PARAM_GRAVITY_POINT_ATTENUATION" value="4">
This constant was used to set/get the falloff factor for point gravity. It has been superseded by AREA_PARAM_GRAVITY_DISTANCE_SCALE.
</constant>
<constant name="AREA_PARAM_LINEAR_DAMP" value="5">
Constant to set/get the linear dampening factor of an area.
</constant>
<constant name="AREA_PARAM_ANGULAR_DAMP" value="6">
Constant to set/get the angular dampening factor of an area.
</constant>
<constant name="AREA_PARAM_PRIORITY" value="7">
Constant to set/get the priority (order of processing) of an area.
</constant>
<constant name="AREA_SPACE_OVERRIDE_DISABLED" value="0">
This area does not affect gravity/damp. These are generally areas that exist only to detect collisions, and objects entering or exiting them.
</constant>
<constant name="AREA_SPACE_OVERRIDE_COMBINE" value="1">
This area adds its gravity/damp values to whatever has been calculated so far. This way, many overlapping areas can combine their physics to make interesting effects.
</constant>
<constant name="AREA_SPACE_OVERRIDE_COMBINE_REPLACE" value="2">
This area adds its gravity/damp values to whatever has been calculated so far. Then stops taking into account the rest of the areas, even the default one.
</constant>
<constant name="AREA_SPACE_OVERRIDE_REPLACE" value="3">
This area replaces any gravity/damp, even the default one, and stops taking into account the rest of the areas.
</constant>
<constant name="AREA_SPACE_OVERRIDE_REPLACE_COMBINE" value="4">
This area replaces any gravity/damp calculated so far, but keeps calculating the rest of the areas, down to the default one.
</constant>
<constant name="BODY_MODE_STATIC" value="0">
Constant for static bodies.
</constant>
<constant name="BODY_MODE_KINEMATIC" value="1">
Constant for kinematic bodies.
</constant>
<constant name="BODY_MODE_RIGID" value="2">
Constant for rigid bodies.
</constant>
<constant name="BODY_MODE_CHARACTER" value="3">
Constant for rigid bodies in character mode. In this mode, a body can not rotate, and only its linear velocity is affected by physics.
</constant>
<constant name="BODY_PARAM_BOUNCE" value="0">
Constant to set/get a body's bounce factor.
</constant>
<constant name="BODY_PARAM_FRICTION" value="1">
Constant to set/get a body's friction.
</constant>
<constant name="BODY_PARAM_MASS" value="2">
Constant to set/get a body's mass.
</constant>
<constant name="BODY_PARAM_GRAVITY_SCALE" value="3">
Constant to set/get a body's gravity multiplier.
</constant>
<constant name="BODY_PARAM_LINEAR_DAMP" value="4">
Constant to set/get a body's linear dampening factor.
</constant>
<constant name="BODY_PARAM_ANGULAR_DAMP" value="5">
Constant to set/get a body's angular dampening factor.
</constant>
<constant name="BODY_PARAM_MAX" value="6">
This is the last ID for body parameters. Any attempt to set this property is ignored. Any attempt to get it returns 0.
</constant>
<constant name="BODY_STATE_TRANSFORM" value="0">
Constant to set/get the current transform matrix of the body.
</constant>
<constant name="BODY_STATE_LINEAR_VELOCITY" value="1">
Constant to set/get the current linear velocity of the body.
</constant>
<constant name="BODY_STATE_ANGULAR_VELOCITY" value="2">
Constant to set/get the current angular velocity of the body.
</constant>
<constant name="BODY_STATE_SLEEPING" value="3">
Constant to sleep/wake up a body, or to get whether it is sleeping.
</constant>
<constant name="BODY_STATE_CAN_SLEEP" value="4">
Constant to set/get whether the body can sleep.
</constant>
<constant name="JOINT_PIN" value="0">
Constant to create pin joints.
</constant>
<constant name="JOINT_GROOVE" value="1">
Constant to create groove joints.
</constant>
<constant name="JOINT_DAMPED_SPRING" value="2">
Constant to create damped spring joints.
</constant>
<constant name="DAMPED_STRING_REST_LENGTH" value="0">
Set the resting length of the spring joint. The joint will always try to go to back this length when pulled apart.
</constant>
<constant name="DAMPED_STRING_STIFFNESS" value="1">
Set the stiffness of the spring joint. The joint applies a force equal to the stiffness times the distance from its resting length.
</constant>
<constant name="DAMPED_STRING_DAMPING" value="2">
Set the damping ratio of the spring joint. A value of 0 indicates an undamped spring, while 1 causes the system to reach equilibrium as fast as possible (critical damping).
</constant>
<constant name="CCD_MODE_DISABLED" value="0">
Disables continuous collision detection. This is the fastest way to detect body collisions, but can miss small, fast-moving objects.
</constant>
<constant name="CCD_MODE_CAST_RAY" value="1">
Enables continuous collision detection by raycasting. It is faster than shapecasting, but less precise.
</constant>
<constant name="CCD_MODE_CAST_SHAPE" value="2">
Enables continuous collision detection by shapecasting. It is the slowest CCD method, and the most precise.
</constant>
<constant name="AREA_BODY_ADDED" value="0">
The value of the first parameter and area callback function receives, when an object enters one of its shapes.
</constant>
<constant name="AREA_BODY_REMOVED" value="1">
The value of the first parameter and area callback function receives, when an object exits one of its shapes.
</constant>
<constant name="INFO_ACTIVE_OBJECTS" value="0">
Constant to get the number of objects that are not sleeping.
</constant>
<constant name="INFO_COLLISION_PAIRS" value="1">
Constant to get the number of possible collisions.
</constant>
<constant name="INFO_ISLAND_COUNT" value="2">
Constant to get the number of space regions where a collision could occur.
</constant>
</constants>
</class>
<class name="Physics2DServerSW" inherits="Physics2DServer" category="Core">
<brief_description>
Software implementation of [Physics2DServer].
</brief_description>
<description>
Software implementation of [Physics2DServer]. This class exposes no new methods or properties and should not be used, as [Physics2DServer] automatically selects the best implementation available.
</description>
<methods>
</methods>
<constants>
</constants>
</class>
<class name="Physics2DShapeQueryParameters" inherits="Reference" category="Core">
<brief_description>
Parameters to be sent to a 2D shape physics query.
</brief_description>
<description>
This class contains the shape and other parameters for intersection/collision queries.
</description>
<methods>
<method name="get_exclude" qualifiers="const">
<return type="Array">
</return>
<description>
Return the list of objects, or object [RID]s, that will be excluded from collisions.
</description>
</method>
<method name="get_layer_mask" qualifiers="const">
<return type="int">
</return>
<description>
Return the physics layer(s) the shape belongs to.
</description>
</method>
<method name="get_margin" qualifiers="const">
<return type="float">
</return>
<description>
Return the collision margin for the shape.
</description>
</method>
<method name="get_motion" qualifiers="const">
<return type="Vector2">
</return>
<description>
Return the current movement speed of the shape.
</description>
</method>
<method name="get_object_type_mask" qualifiers="const">
<return type="int">
</return>
<description>
Return the type of object the shape belongs to.
</description>
</method>
<method name="get_shape_rid" qualifiers="const">
<return type="RID">
</return>
<description>
Return the [RID] of the shape queried.
</description>
</method>
<method name="get_transform" qualifiers="const">
<return type="Matrix32">
</return>
<description>
Return the transform matrix of the shape queried.
</description>
</method>
<method name="set_exclude">
<argument index="0" name="exclude" type="Array">
</argument>
<description>
Set the list of objects, or object [RID]s, that will be excluded from collisions.
</description>
</method>
<method name="set_layer_mask">
<argument index="0" name="layer_mask" type="int">
</argument>
<description>
Set the physics layer(s) the shape belongs to.
</description>
</method>
<method name="set_margin">
<argument index="0" name="margin" type="float">
</argument>
<description>
Set the collision margin for the shape. A collision margin is an amount (in pixels) that the shape will grow when computing collisions, to account for numerical imprecision.
</description>
</method>
<method name="set_motion">
<argument index="0" name="motion" type="Vector2">
</argument>
<description>
Set the current movement speed of the shape.
</description>
</method>
<method name="set_object_type_mask">
<argument index="0" name="object_type_mask" type="int">
</argument>
<description>
Set the type of object the shape belongs to (see Physics2DDirectSpaceState.TYPE_MASK_*).
</description>
</method>
<method name="set_shape">
<argument index="0" name="shape" type="Shape2D">
</argument>
<description>
Set the [Shape2D] that will be used for collision/intersection queries.
</description>
</method>
<method name="set_shape_rid">
<argument index="0" name="shape" type="RID">
</argument>
<description>
Set the [RID] of the shape to be used in queries.
</description>
</method>
<method name="set_transform">
<argument index="0" name="transform" type="Matrix32">
</argument>
<description>
Set the transormation matrix of the shape. This is necessary to set its position/rotation/scale.
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="Physics2DShapeQueryResult" inherits="Reference" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
<method name="get_result_count" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_result_object" qualifiers="const">
<return type="Object">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
</description>
</method>
<method name="get_result_object_id" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
</description>
</method>
<method name="get_result_object_shape" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
</description>
</method>
<method name="get_result_rid" qualifiers="const">
<return type="RID">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="Physics2DTestMotionResult" inherits="Reference" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
<method name="get_collider" qualifiers="const">
<return type="Object">
</return>
<description>
</description>
</method>
<method name="get_collider_id" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_collider_rid" qualifiers="const">
<return type="RID">
</return>
<description>
</description>
</method>
<method name="get_collider_shape" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_collider_velocity" qualifiers="const">
<return type="Vector2">
</return>
<description>
</description>
</method>
<method name="get_collision_normal" qualifiers="const">
<return type="Vector2">
</return>
<description>
</description>
</method>
<method name="get_collision_point" qualifiers="const">
<return type="Vector2">
</return>
<description>
</description>
</method>
<method name="get_motion" qualifiers="const">
<return type="Vector2">
</return>
<description>
</description>
</method>
<method name="get_motion_remainder" qualifiers="const">
<return type="Vector2">
</return>
<description>
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="PhysicsBody" inherits="CollisionObject" category="Core">
<brief_description>
Base class for different types of Physics bodies.
</brief_description>
<description>
PhysicsBody is an abstract base class for implementing a physics body. All PhysicsBody types inherit from it.
</description>
<methods>
<method name="add_collision_exception_with">
<argument index="0" name="body" type="PhysicsBody">
</argument>
<description>
</description>
</method>
<method name="get_layer_mask" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="remove_collision_exception_with">
<argument index="0" name="body" type="PhysicsBody">
</argument>
<description>
</description>
</method>
<method name="set_layer_mask">
<argument index="0" name="mask" type="int">
</argument>
<description>
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="PhysicsBody2D" inherits="CollisionObject2D" category="Core">
<brief_description>
Base class for all objects affected by physics.
</brief_description>
<description>
PhysicsBody2D is an abstract base class for implementing a physics body. All *Body2D types inherit from it.
</description>
<methods>
<method name="add_collision_exception_with">
<argument index="0" name="body" type="PhysicsBody2D">
</argument>
<description>
Adds a body to the collision exception list. This list contains bodies that this body will not collide with.
</description>
</method>
<method name="get_collision_mask" qualifiers="const">
<return type="int">
</return>
<description>
Return the physics layers this area can scan for collisions.
</description>
</method>
<method name="get_collision_mask_bit" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="bit" type="int">
</argument>
<description>
Return an individual bit on the collision mask.
</description>
</method>
<method name="get_layer_mask" qualifiers="const">
<return type="int">
</return>
<description>
Return the physics layer this area is in.
</description>
</method>
<method name="get_layer_mask_bit" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="bit" type="int">
</argument>
<description>
Return an individual bit on the collision mask.
</description>
</method>
<method name="get_one_way_collision_direction" qualifiers="const">
<return type="Vector2">
</return>
<description>
Return the direction used for one-way collision detection.
</description>
</method>
<method name="get_one_way_collision_max_depth" qualifiers="const">
<return type="float">
</return>
<description>
Return how far a body can go through this one, when it allows one-way collisions.
</description>
</method>
<method name="remove_collision_exception_with">
<argument index="0" name="body" type="PhysicsBody2D">
</argument>
<description>
Removes a body from the collision exception list.
</description>
</method>
<method name="set_collision_mask">
<argument index="0" name="mask" type="int">
</argument>
<description>
Set the physics layers this area can scan for collisions.
</description>
</method>
<method name="set_collision_mask_bit">
<argument index="0" name="bit" type="int">
</argument>
<argument index="1" name="value" type="bool">
</argument>
<description>
Set/clear individual bits on the collision mask. This makes selecting the areas scanned easier.
</description>
</method>
<method name="set_layer_mask">
<argument index="0" name="mask" type="int">
</argument>
<description>
Set the physics layers this area is in.
Collidable objects can exist in any of 32 different layers. These layers are not visual, but more of a tagging system instead. A collidable can use these layers/tags to select with which objects it can collide, using [method set_collision_mask].
A contact is detected if object A is in any of the layers that object B scans, or object B is in any layer scanned by object A.
</description>
</method>
<method name="set_layer_mask_bit">
<argument index="0" name="bit" type="int">
</argument>
<argument index="1" name="value" type="bool">
</argument>
<description>
Set/clear individual bits on the layer mask. This makes getting a body in/out of only one layer easier.
</description>
</method>
<method name="set_one_way_collision_direction">
<argument index="0" name="dir" type="Vector2">
</argument>
<description>
Set a direction in which bodies can go through this one. If this value is different from (0,0), any movement within 90 degrees of this vector is considered a valid movement. Set this direction to (0,0) to disable one-way collisions.
</description>
</method>
<method name="set_one_way_collision_max_depth">
<argument index="0" name="depth" type="float">
</argument>
<description>
Set how far a body can go through this one, when it allows one-way collisions (see [method set_one_way_collision_direction]).
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="PhysicsDirectBodyState" inherits="Object" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
<method name="add_force">
<argument index="0" name="force" type="Vector3">
</argument>
<argument index="1" name="pos" type="Vector3">
</argument>
<description>
</description>
</method>
<method name="apply_impulse">
<argument index="0" name="pos" type="Vector3">
</argument>
<argument index="1" name="j" type="Vector3">
</argument>
<description>
</description>
</method>
<method name="get_angular_velocity" qualifiers="const">
<return type="Vector3">
</return>
<description>
</description>
</method>
<method name="get_contact_collider" qualifiers="const">
<return type="RID">
</return>
<argument index="0" name="contact_idx" type="int">
</argument>
<description>
</description>
</method>
<method name="get_contact_collider_id" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="contact_idx" type="int">
</argument>
<description>
</description>
</method>
<method name="get_contact_collider_object" qualifiers="const">
<return type="Object">
</return>
<argument index="0" name="contact_idx" type="int">
</argument>
<description>
</description>
</method>
<method name="get_contact_collider_pos" qualifiers="const">
<return type="Vector3">
</return>
<argument index="0" name="contact_idx" type="int">
</argument>
<description>
</description>
</method>
<method name="get_contact_collider_shape" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="contact_idx" type="int">
</argument>
<description>
</description>
</method>
<method name="get_contact_collider_velocity_at_pos" qualifiers="const">
<return type="Vector3">
</return>
<argument index="0" name="contact_idx" type="int">
</argument>
<description>
</description>
</method>
<method name="get_contact_count" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_contact_local_normal" qualifiers="const">
<return type="Vector3">
</return>
<argument index="0" name="contact_idx" type="int">
</argument>
<description>
</description>
</method>
<method name="get_contact_local_pos" qualifiers="const">
<return type="Vector3">
</return>
<argument index="0" name="contact_idx" type="int">
</argument>
<description>
</description>
</method>
<method name="get_contact_local_shape" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="contact_idx" type="int">
</argument>
<description>
</description>
</method>
<method name="get_inverse_inertia" qualifiers="const">
<return type="Vector3">
</return>
<description>
</description>
</method>
<method name="get_inverse_mass" qualifiers="const">
<return type="float">
</return>
<description>
</description>
</method>
<method name="get_linear_velocity" qualifiers="const">
<return type="Vector3">
</return>
<description>
</description>
</method>
<method name="get_space_state">
<return type="PhysicsDirectSpaceState">
</return>
<description>
</description>
</method>
<method name="get_step" qualifiers="const">
<return type="float">
</return>
<description>
</description>
</method>
<method name="get_total_angular_damp" qualifiers="const">
<return type="float">
</return>
<description>
</description>
</method>
<method name="get_total_gravity" qualifiers="const">
<return type="Vector3">
</return>
<description>
</description>
</method>
<method name="get_total_linear_damp" qualifiers="const">
<return type="float">
</return>
<description>
</description>
</method>
<method name="get_transform" qualifiers="const">
<return type="Transform">
</return>
<description>
</description>
</method>
<method name="integrate_forces">
<description>
</description>
</method>
<method name="is_sleeping" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="set_angular_velocity">
<argument index="0" name="velocity" type="Vector3">
</argument>
<description>
</description>
</method>
<method name="set_linear_velocity">
<argument index="0" name="velocity" type="Vector3">
</argument>
<description>
</description>
</method>
<method name="set_sleep_state">
<argument index="0" name="enabled" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_transform">
<argument index="0" name="transform" type="Transform">
</argument>
<description>
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="PhysicsDirectBodyStateSW" inherits="PhysicsDirectBodyState" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
</methods>
<constants>
</constants>
</class>
<class name="PhysicsDirectSpaceState" inherits="Object" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
<method name="cast_motion">
<return type="Array">
</return>
<argument index="0" name="shape" type="PhysicsShapeQueryParameters">
</argument>
<argument index="1" name="motion" type="Vector3">
</argument>
<description>
</description>
</method>
<method name="collide_shape">
<return type="Array">
</return>
<argument index="0" name="shape" type="PhysicsShapeQueryParameters">
</argument>
<argument index="1" name="max_results" type="int" default="32">
</argument>
<description>
</description>
</method>
<method name="get_rest_info">
<return type="Dictionary">
</return>
<argument index="0" name="shape" type="PhysicsShapeQueryParameters">
</argument>
<description>
</description>
</method>
<method name="intersect_ray">
<return type="Dictionary">
</return>
<argument index="0" name="from" type="Vector3">
</argument>
<argument index="1" name="to" type="Vector3">
</argument>
<argument index="2" name="exclude" type="Array" default="Array()">
</argument>
<argument index="3" name="layer_mask" type="int" default="2147483647">
</argument>
<argument index="4" name="type_mask" type="int" default="15">
</argument>
<description>
</description>
</method>
<method name="intersect_shape">
<return type="Array">
</return>
<argument index="0" name="shape" type="PhysicsShapeQueryParameters">
</argument>
<argument index="1" name="max_results" type="int" default="32">
</argument>
<description>
</description>
</method>
</methods>
<constants>
<constant name="TYPE_MASK_STATIC_BODY" value="1">
</constant>
<constant name="TYPE_MASK_KINEMATIC_BODY" value="2">
</constant>
<constant name="TYPE_MASK_RIGID_BODY" value="4">
</constant>
<constant name="TYPE_MASK_CHARACTER_BODY" value="8">
</constant>
<constant name="TYPE_MASK_AREA" value="16">
</constant>
<constant name="TYPE_MASK_COLLISION" value="15">
</constant>
</constants>
</class>
<class name="PhysicsServer" inherits="Object" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
<method name="area_add_shape">
<argument index="0" name="area" type="RID">
</argument>
<argument index="1" name="shape" type="RID">
</argument>
<argument index="2" name="transform" type="Transform" default="Transform()">
</argument>
<description>
</description>
</method>
<method name="area_attach_object_instance_ID">
<argument index="0" name="area" type="RID">
</argument>
<argument index="1" name="id" type="int">
</argument>
<description>
</description>
</method>
<method name="area_clear_shapes">
<argument index="0" name="area" type="RID">
</argument>
<description>
</description>
</method>
<method name="area_create">
<return type="RID">
</return>
<description>
</description>
</method>
<method name="area_get_object_instance_ID" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="area" type="RID">
</argument>
<description>
</description>
</method>
<method name="area_get_param" qualifiers="const">
<argument index="0" name="area" type="RID">
</argument>
<argument index="1" name="param" type="int">
</argument>
<description>
</description>
</method>
<method name="area_get_shape" qualifiers="const">
<return type="RID">
</return>
<argument index="0" name="area" type="RID">
</argument>
<argument index="1" name="shape_idx" type="int">
</argument>
<description>
</description>
</method>
<method name="area_get_shape_count" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="area" type="RID">
</argument>
<description>
</description>
</method>
<method name="area_get_shape_transform" qualifiers="const">
<return type="Transform">
</return>
<argument index="0" name="area" type="RID">
</argument>
<argument index="1" name="shape_idx" type="int">
</argument>
<description>
</description>
</method>
<method name="area_get_space" qualifiers="const">
<return type="RID">
</return>
<argument index="0" name="area" type="RID">
</argument>
<description>
</description>
</method>
<method name="area_get_space_override_mode" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="area" type="RID">
</argument>
<description>
</description>
</method>
<method name="area_get_transform" qualifiers="const">
<return type="Transform">
</return>
<argument index="0" name="area" type="RID">
</argument>
<description>
</description>
</method>
<method name="area_is_ray_pickable" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="area" type="RID">
</argument>
<description>
</description>
</method>
<method name="area_remove_shape">
<argument index="0" name="area" type="RID">
</argument>
<argument index="1" name="shape_idx" type="int">
</argument>
<description>
</description>
</method>
<method name="area_set_monitor_callback">
<argument index="0" name="area" type="RID">
</argument>
<argument index="1" name="receiver" type="Object">
</argument>
<argument index="2" name="method" type="String">
</argument>
<description>
</description>
</method>
<method name="area_set_param">
<argument index="0" name="area" type="RID">
</argument>
<argument index="1" name="param" type="int">
</argument>
<argument index="2" name="value" type="var">
</argument>
<description>
</description>
</method>
<method name="area_set_ray_pickable">
<argument index="0" name="area" type="RID">
</argument>
<argument index="1" name="enable" type="bool">
</argument>
<description>
</description>
</method>
<method name="area_set_shape">
<argument index="0" name="area" type="RID">
</argument>
<argument index="1" name="shape_idx" type="int">
</argument>
<argument index="2" name="shape" type="RID">
</argument>
<description>
</description>
</method>
<method name="area_set_shape_transform">
<argument index="0" name="area" type="RID">
</argument>
<argument index="1" name="shape_idx" type="int">
</argument>
<argument index="2" name="transform" type="Transform">
</argument>
<description>
</description>
</method>
<method name="area_set_space">
<argument index="0" name="area" type="RID">
</argument>
<argument index="1" name="space" type="RID">
</argument>
<description>
</description>
</method>
<method name="area_set_space_override_mode">
<argument index="0" name="area" type="RID">
</argument>
<argument index="1" name="mode" type="int">
</argument>
<description>
</description>
</method>
<method name="area_set_transform">
<argument index="0" name="area" type="RID">
</argument>
<argument index="1" name="transform" type="Transform">
</argument>
<description>
</description>
</method>
<method name="body_add_collision_exception">
<argument index="0" name="body" type="RID">
</argument>
<argument index="1" name="excepted_body" type="RID">
</argument>
<description>
</description>
</method>
<method name="body_add_shape">
<argument index="0" name="body" type="RID">
</argument>
<argument index="1" name="shape" type="RID">
</argument>
<argument index="2" name="transform" type="Transform" default="Transform()">
</argument>
<description>
</description>
</method>
<method name="body_apply_impulse">
<argument index="0" name="body" type="RID">
</argument>
<argument index="1" name="pos" type="Vector3">
</argument>
<argument index="2" name="impulse" type="Vector3">
</argument>
<description>
</description>
</method>
<method name="body_attach_object_instance_ID">
<argument index="0" name="body" type="RID">
</argument>
<argument index="1" name="id" type="int">
</argument>
<description>
</description>
</method>
<method name="body_clear_shapes">
<argument index="0" name="body" type="RID">
</argument>
<description>
</description>
</method>
<method name="body_create">
<return type="RID">
</return>
<argument index="0" name="mode" type="int" default="2">
</argument>
<argument index="1" name="init_sleeping" type="bool" default="false">
</argument>
<description>
</description>
</method>
<method name="body_get_axis_lock" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="body" type="RID">
</argument>
<description>
</description>
</method>
<method name="body_get_max_contacts_reported" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="body" type="RID">
</argument>
<description>
</description>
</method>
<method name="body_get_mode" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="body" type="RID">
</argument>
<description>
</description>
</method>
<method name="body_get_object_instance_ID" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="body" type="RID">
</argument>
<description>
</description>
</method>
<method name="body_get_param" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="body" type="RID">
</argument>
<argument index="1" name="param" type="int">
</argument>
<description>
</description>
</method>
<method name="body_get_shape" qualifiers="const">
<return type="RID">
</return>
<argument index="0" name="body" type="RID">
</argument>
<argument index="1" name="shape_idx" type="int">
</argument>
<description>
</description>
</method>
<method name="body_get_shape_count" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="body" type="RID">
</argument>
<description>
</description>
</method>
<method name="body_get_shape_transform" qualifiers="const">
<return type="Transform">
</return>
<argument index="0" name="body" type="RID">
</argument>
<argument index="1" name="shape_idx" type="int">
</argument>
<description>
</description>
</method>
<method name="body_get_space" qualifiers="const">
<return type="RID">
</return>
<argument index="0" name="body" type="RID">
</argument>
<description>
</description>
</method>
<method name="body_get_state" qualifiers="const">
<argument index="0" name="body" type="RID">
</argument>
<argument index="1" name="state" type="int">
</argument>
<description>
</description>
</method>
<method name="body_is_continuous_collision_detection_enabled" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="body" type="RID">
</argument>
<description>
</description>
</method>
<method name="body_is_omitting_force_integration" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="body" type="RID">
</argument>
<description>
</description>
</method>
<method name="body_is_ray_pickable" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="body" type="RID">
</argument>
<description>
</description>
</method>
<method name="body_remove_collision_exception">
<argument index="0" name="body" type="RID">
</argument>
<argument index="1" name="excepted_body" type="RID">
</argument>
<description>
</description>
</method>
<method name="body_remove_shape">
<argument index="0" name="body" type="RID">
</argument>
<argument index="1" name="shape_idx" type="int">
</argument>
<description>
</description>
</method>
<method name="body_set_axis_lock">
<argument index="0" name="body" type="RID">
</argument>
<argument index="1" name="axis" type="int">
</argument>
<description>
</description>
</method>
<method name="body_set_axis_velocity">
<argument index="0" name="body" type="RID">
</argument>
<argument index="1" name="axis_velocity" type="Vector3">
</argument>
<description>
</description>
</method>
<method name="body_set_enable_continuous_collision_detection">
<argument index="0" name="body" type="RID">
</argument>
<argument index="1" name="enable" type="bool">
</argument>
<description>
</description>
</method>
<method name="body_set_force_integration_callback">
<argument index="0" name="body" type="RID">
</argument>
<argument index="1" name="receiver" type="Object">
</argument>
<argument index="2" name="method" type="String">
</argument>
<argument index="3" name="userdata" type="var" default="NULL">
</argument>
<description>
</description>
</method>
<method name="body_set_max_contacts_reported">
<argument index="0" name="body" type="RID">
</argument>
<argument index="1" name="amount" type="int">
</argument>
<description>
</description>
</method>
<method name="body_set_mode">
<argument index="0" name="body" type="RID">
</argument>
<argument index="1" name="mode" type="int">
</argument>
<description>
</description>
</method>
<method name="body_set_omit_force_integration">
<argument index="0" name="body" type="RID">
</argument>
<argument index="1" name="enable" type="bool">
</argument>
<description>
</description>
</method>
<method name="body_set_param">
<argument index="0" name="body" type="RID">
</argument>
<argument index="1" name="param" type="int">
</argument>
<argument index="2" name="value" type="float">
</argument>
<description>
</description>
</method>
<method name="body_set_ray_pickable">
<argument index="0" name="body" type="RID">
</argument>
<argument index="1" name="enable" type="bool">
</argument>
<description>
</description>
</method>
<method name="body_set_shape">
<argument index="0" name="body" type="RID">
</argument>
<argument index="1" name="shape_idx" type="int">
</argument>
<argument index="2" name="shape" type="RID">
</argument>
<description>
</description>
</method>
<method name="body_set_shape_transform">
<argument index="0" name="body" type="RID">
</argument>
<argument index="1" name="shape_idx" type="int">
</argument>
<argument index="2" name="transform" type="Transform">
</argument>
<description>
</description>
</method>
<method name="body_set_space">
<argument index="0" name="body" type="RID">
</argument>
<argument index="1" name="space" type="RID">
</argument>
<description>
</description>
</method>
<method name="body_set_state">
<argument index="0" name="body" type="RID">
</argument>
<argument index="1" name="state" type="int">
</argument>
<argument index="2" name="value" type="var">
</argument>
<description>
</description>
</method>
<method name="cone_twist_joint_get_param" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="joint" type="RID">
</argument>
<argument index="1" name="param" type="int">
</argument>
<description>
</description>
</method>
<method name="cone_twist_joint_set_param">
<argument index="0" name="joint" type="RID">
</argument>
<argument index="1" name="param" type="int">
</argument>
<argument index="2" name="value" type="float">
</argument>
<description>
</description>
</method>
<method name="free_rid">
<argument index="0" name="rid" type="RID">
</argument>
<description>
</description>
</method>
<method name="generic_6dof_joint_get_flag">
<return type="bool">
</return>
<argument index="0" name="joint" type="RID">
</argument>
<argument index="1" name="axis" type="int">
</argument>
<argument index="2" name="flag" type="int">
</argument>
<description>
</description>
</method>
<method name="generic_6dof_joint_get_param">
<return type="float">
</return>
<argument index="0" name="joint" type="RID">
</argument>
<argument index="1" name="axis" type="int">
</argument>
<argument index="2" name="param" type="int">
</argument>
<description>
</description>
</method>
<method name="generic_6dof_joint_set_flag">
<argument index="0" name="joint" type="RID">
</argument>
<argument index="1" name="axis" type="int">
</argument>
<argument index="2" name="flag" type="int">
</argument>
<argument index="3" name="enable" type="bool">
</argument>
<description>
</description>
</method>
<method name="generic_6dof_joint_set_param">
<argument index="0" name="joint" type="RID">
</argument>
<argument index="1" name="axis" type="int">
</argument>
<argument index="2" name="param" type="int">
</argument>
<argument index="3" name="value" type="float">
</argument>
<description>
</description>
</method>
<method name="get_process_info">
<return type="int">
</return>
<argument index="0" name="process_info" type="int">
</argument>
<description>
</description>
</method>
<method name="hinge_joint_get_flag" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="joint" type="RID">
</argument>
<argument index="1" name="flag" type="int">
</argument>
<description>
</description>
</method>
<method name="hinge_joint_get_param" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="joint" type="RID">
</argument>
<argument index="1" name="param" type="int">
</argument>
<description>
</description>
</method>
<method name="hinge_joint_set_flag">
<argument index="0" name="joint" type="RID">
</argument>
<argument index="1" name="flag" type="int">
</argument>
<argument index="2" name="enabled" type="bool">
</argument>
<description>
</description>
</method>
<method name="hinge_joint_set_param">
<argument index="0" name="joint" type="RID">
</argument>
<argument index="1" name="param" type="int">
</argument>
<argument index="2" name="value" type="float">
</argument>
<description>
</description>
</method>
<method name="joint_create_cone_twist">
<return type="RID">
</return>
<argument index="0" name="body_A" type="RID">
</argument>
<argument index="1" name="local_ref_A" type="Transform">
</argument>
<argument index="2" name="body_B" type="RID">
</argument>
<argument index="3" name="local_ref_B" type="Transform">
</argument>
<description>
</description>
</method>
<method name="joint_create_generic_6dof">
<return type="RID">
</return>
<argument index="0" name="body_A" type="RID">
</argument>
<argument index="1" name="local_ref_A" type="Transform">
</argument>
<argument index="2" name="body_B" type="RID">
</argument>
<argument index="3" name="local_ref_B" type="Transform">
</argument>
<description>
</description>
</method>
<method name="joint_create_hinge">
<return type="RID">
</return>
<argument index="0" name="body_A" type="RID">
</argument>
<argument index="1" name="hinge_A" type="Transform">
</argument>
<argument index="2" name="body_B" type="RID">
</argument>
<argument index="3" name="hinge_B" type="Transform">
</argument>
<description>
</description>
</method>
<method name="joint_create_pin">
<return type="RID">
</return>
<argument index="0" name="body_A" type="RID">
</argument>
<argument index="1" name="local_A" type="Vector3">
</argument>
<argument index="2" name="body_B" type="RID">
</argument>
<argument index="3" name="local_B" type="Vector3">
</argument>
<description>
</description>
</method>
<method name="joint_create_slider">
<return type="RID">
</return>
<argument index="0" name="body_A" type="RID">
</argument>
<argument index="1" name="local_ref_A" type="Transform">
</argument>
<argument index="2" name="body_B" type="RID">
</argument>
<argument index="3" name="local_ref_B" type="Transform">
</argument>
<description>
</description>
</method>
<method name="joint_get_solver_priority" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="joint" type="RID">
</argument>
<description>
</description>
</method>
<method name="joint_get_type" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="joint" type="RID">
</argument>
<description>
</description>
</method>
<method name="joint_set_solver_priority">
<argument index="0" name="joint" type="RID">
</argument>
<argument index="1" name="priority" type="int">
</argument>
<description>
</description>
</method>
<method name="pin_joint_get_local_A" qualifiers="const">
<return type="Vector3">
</return>
<argument index="0" name="joint" type="RID">
</argument>
<description>
</description>
</method>
<method name="pin_joint_get_local_B" qualifiers="const">
<return type="Vector3">
</return>
<argument index="0" name="joint" type="RID">
</argument>
<description>
</description>
</method>
<method name="pin_joint_get_param" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="joint" type="RID">
</argument>
<argument index="1" name="param" type="int">
</argument>
<description>
</description>
</method>
<method name="pin_joint_set_local_A">
<argument index="0" name="joint" type="RID">
</argument>
<argument index="1" name="local_A" type="Vector3">
</argument>
<description>
</description>
</method>
<method name="pin_joint_set_local_B">
<argument index="0" name="joint" type="RID">
</argument>
<argument index="1" name="local_B" type="Vector3">
</argument>
<description>
</description>
</method>
<method name="pin_joint_set_param">
<argument index="0" name="joint" type="RID">
</argument>
<argument index="1" name="param" type="int">
</argument>
<argument index="2" name="value" type="float">
</argument>
<description>
</description>
</method>
<method name="set_active">
<argument index="0" name="active" type="bool">
</argument>
<description>
</description>
</method>
<method name="shape_create">
<return type="RID">
</return>
<argument index="0" name="type" type="int">
</argument>
<description>
</description>
</method>
<method name="shape_get_data" qualifiers="const">
<argument index="0" name="shape" type="RID">
</argument>
<description>
</description>
</method>
<method name="shape_get_type" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="shape" type="RID">
</argument>
<description>
</description>
</method>
<method name="shape_set_data">
<argument index="0" name="shape" type="RID">
</argument>
<argument index="1" name="data" type="var">
</argument>
<description>
</description>
</method>
<method name="slider_joint_get_param" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="joint" type="RID">
</argument>
<argument index="1" name="param" type="int">
</argument>
<description>
</description>
</method>
<method name="slider_joint_set_param">
<argument index="0" name="joint" type="RID">
</argument>
<argument index="1" name="param" type="int">
</argument>
<argument index="2" name="value" type="float">
</argument>
<description>
</description>
</method>
<method name="space_create">
<return type="RID">
</return>
<description>
</description>
</method>
<method name="space_get_direct_state">
<return type="PhysicsDirectSpaceState">
</return>
<argument index="0" name="space" type="RID">
</argument>
<description>
</description>
</method>
<method name="space_get_param" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="space" type="RID">
</argument>
<argument index="1" name="param" type="int">
</argument>
<description>
</description>
</method>
<method name="space_is_active" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="space" type="RID">
</argument>
<description>
</description>
</method>
<method name="space_set_active">
<argument index="0" name="space" type="RID">
</argument>
<argument index="1" name="active" type="bool">
</argument>
<description>
</description>
</method>
<method name="space_set_param">
<argument index="0" name="space" type="RID">
</argument>
<argument index="1" name="param" type="int">
</argument>
<argument index="2" name="value" type="float">
</argument>
<description>
</description>
</method>
</methods>
<constants>
<constant name="JOINT_PIN" value="0">
</constant>
<constant name="JOINT_HINGE" value="1">
</constant>
<constant name="JOINT_SLIDER" value="2">
</constant>
<constant name="JOINT_CONE_TWIST" value="3">
</constant>
<constant name="JOINT_6DOF" value="4">
</constant>
<constant name="PIN_JOINT_BIAS" value="0">
</constant>
<constant name="PIN_JOINT_DAMPING" value="1">
</constant>
<constant name="PIN_JOINT_IMPULSE_CLAMP" value="2">
</constant>
<constant name="HINGE_JOINT_BIAS" value="0">
</constant>
<constant name="HINGE_JOINT_LIMIT_UPPER" value="1">
</constant>
<constant name="HINGE_JOINT_LIMIT_LOWER" value="2">
</constant>
<constant name="HINGE_JOINT_LIMIT_BIAS" value="3">
</constant>
<constant name="HINGE_JOINT_LIMIT_SOFTNESS" value="4">
</constant>
<constant name="HINGE_JOINT_LIMIT_RELAXATION" value="5">
</constant>
<constant name="HINGE_JOINT_MOTOR_TARGET_VELOCITY" value="6">
</constant>
<constant name="HINGE_JOINT_MOTOR_MAX_IMPULSE" value="7">
</constant>
<constant name="HINGE_JOINT_FLAG_USE_LIMIT" value="0">
</constant>
<constant name="HINGE_JOINT_FLAG_ENABLE_MOTOR" value="1">
</constant>
<constant name="SLIDER_JOINT_LINEAR_LIMIT_UPPER" value="0">
</constant>
<constant name="SLIDER_JOINT_LINEAR_LIMIT_LOWER" value="1">
</constant>
<constant name="SLIDER_JOINT_LINEAR_LIMIT_SOFTNESS" value="2">
</constant>
<constant name="SLIDER_JOINT_LINEAR_LIMIT_RESTITUTION" value="3">
</constant>
<constant name="SLIDER_JOINT_LINEAR_LIMIT_DAMPING" value="4">
</constant>
<constant name="SLIDER_JOINT_LINEAR_MOTION_SOFTNESS" value="5">
</constant>
<constant name="SLIDER_JOINT_LINEAR_MOTION_RESTITUTION" value="6">
</constant>
<constant name="SLIDER_JOINT_LINEAR_MOTION_DAMPING" value="7">
</constant>
<constant name="SLIDER_JOINT_LINEAR_ORTHOGONAL_SOFTNESS" value="8">
</constant>
<constant name="SLIDER_JOINT_LINEAR_ORTHOGONAL_RESTITUTION" value="9">
</constant>
<constant name="SLIDER_JOINT_LINEAR_ORTHOGONAL_DAMPING" value="10">
</constant>
<constant name="SLIDER_JOINT_ANGULAR_LIMIT_UPPER" value="11">
</constant>
<constant name="SLIDER_JOINT_ANGULAR_LIMIT_LOWER" value="12">
</constant>
<constant name="SLIDER_JOINT_ANGULAR_LIMIT_SOFTNESS" value="13">
</constant>
<constant name="SLIDER_JOINT_ANGULAR_LIMIT_RESTITUTION" value="14">
</constant>
<constant name="SLIDER_JOINT_ANGULAR_LIMIT_DAMPING" value="15">
</constant>
<constant name="SLIDER_JOINT_ANGULAR_MOTION_SOFTNESS" value="16">
</constant>
<constant name="SLIDER_JOINT_ANGULAR_MOTION_RESTITUTION" value="17">
</constant>
<constant name="SLIDER_JOINT_ANGULAR_MOTION_DAMPING" value="18">
</constant>
<constant name="SLIDER_JOINT_ANGULAR_ORTHOGONAL_SOFTNESS" value="19">
</constant>
<constant name="SLIDER_JOINT_ANGULAR_ORTHOGONAL_RESTITUTION" value="20">
</constant>
<constant name="SLIDER_JOINT_ANGULAR_ORTHOGONAL_DAMPING" value="21">
</constant>
<constant name="SLIDER_JOINT_MAX" value="22">
</constant>
<constant name="CONE_TWIST_JOINT_SWING_SPAN" value="0">
</constant>
<constant name="CONE_TWIST_JOINT_TWIST_SPAN" value="1">
</constant>
<constant name="CONE_TWIST_JOINT_BIAS" value="2">
</constant>
<constant name="CONE_TWIST_JOINT_SOFTNESS" value="3">
</constant>
<constant name="CONE_TWIST_JOINT_RELAXATION" value="4">
</constant>
<constant name="G6DOF_JOINT_LINEAR_LOWER_LIMIT" value="0">
</constant>
<constant name="G6DOF_JOINT_LINEAR_UPPER_LIMIT" value="1">
</constant>
<constant name="G6DOF_JOINT_LINEAR_LIMIT_SOFTNESS" value="2">
</constant>
<constant name="G6DOF_JOINT_LINEAR_RESTITUTION" value="3">
</constant>
<constant name="G6DOF_JOINT_LINEAR_DAMPING" value="4">
</constant>
<constant name="G6DOF_JOINT_ANGULAR_LOWER_LIMIT" value="5">
</constant>
<constant name="G6DOF_JOINT_ANGULAR_UPPER_LIMIT" value="6">
</constant>
<constant name="G6DOF_JOINT_ANGULAR_LIMIT_SOFTNESS" value="7">
</constant>
<constant name="G6DOF_JOINT_ANGULAR_DAMPING" value="8">
</constant>
<constant name="G6DOF_JOINT_ANGULAR_RESTITUTION" value="9">
</constant>
<constant name="G6DOF_JOINT_ANGULAR_FORCE_LIMIT" value="10">
</constant>
<constant name="G6DOF_JOINT_ANGULAR_ERP" value="11">
</constant>
<constant name="G6DOF_JOINT_ANGULAR_MOTOR_TARGET_VELOCITY" value="12">
</constant>
<constant name="G6DOF_JOINT_ANGULAR_MOTOR_FORCE_LIMIT" value="13">
</constant>
<constant name="G6DOF_JOINT_FLAG_ENABLE_LINEAR_LIMIT" value="0">
</constant>
<constant name="G6DOF_JOINT_FLAG_ENABLE_ANGULAR_LIMIT" value="1">
</constant>
<constant name="G6DOF_JOINT_FLAG_ENABLE_MOTOR" value="2">
</constant>
<constant name="SHAPE_PLANE" value="0">
</constant>
<constant name="SHAPE_RAY" value="1">
</constant>
<constant name="SHAPE_SPHERE" value="2">
</constant>
<constant name="SHAPE_BOX" value="3">
</constant>
<constant name="SHAPE_CAPSULE" value="4">
</constant>
<constant name="SHAPE_CONVEX_POLYGON" value="5">
</constant>
<constant name="SHAPE_CONCAVE_POLYGON" value="6">
</constant>
<constant name="SHAPE_HEIGHTMAP" value="7">
</constant>
<constant name="SHAPE_CUSTOM" value="8">
</constant>
<constant name="AREA_PARAM_GRAVITY" value="0">
</constant>
<constant name="AREA_PARAM_GRAVITY_VECTOR" value="1">
</constant>
<constant name="AREA_PARAM_GRAVITY_IS_POINT" value="2">
</constant>
<constant name="AREA_PARAM_GRAVITY_DISTANCE_SCALE" value="3">
</constant>
<constant name="AREA_PARAM_GRAVITY_POINT_ATTENUATION" value="4">
</constant>
<constant name="AREA_PARAM_LINEAR_DAMP" value="5">
</constant>
<constant name="AREA_PARAM_ANGULAR_DAMP" value="6">
</constant>
<constant name="AREA_PARAM_PRIORITY" value="7">
</constant>
<constant name="AREA_SPACE_OVERRIDE_DISABLED" value="0">
This area does not affect gravity/damp. These are generally areas that exist only to detect collisions, and objects entering or exiting them.
</constant>
<constant name="AREA_SPACE_OVERRIDE_COMBINE" value="1">
This area adds its gravity/damp values to whatever has been calculated so far. This way, many overlapping areas can combine their physics to make interesting effects.
</constant>
<constant name="AREA_SPACE_OVERRIDE_COMBINE_REPLACE" value="2">
This area adds its gravity/damp values to whatever has been calculated so far. Then stops taking into account the rest of the areas, even the default one.
</constant>
<constant name="AREA_SPACE_OVERRIDE_REPLACE" value="3">
This area replaces any gravity/damp, even the default one, and stops taking into account the rest of the areas.
</constant>
<constant name="AREA_SPACE_OVERRIDE_REPLACE_COMBINE" value="4">
This area replaces any gravity/damp calculated so far, but keeps calculating the rest of the areas, down to the default one.
</constant>
<constant name="BODY_MODE_STATIC" value="0">
</constant>
<constant name="BODY_MODE_KINEMATIC" value="1">
</constant>
<constant name="BODY_MODE_RIGID" value="2">
</constant>
<constant name="BODY_MODE_CHARACTER" value="3">
</constant>
<constant name="BODY_PARAM_BOUNCE" value="0">
</constant>
<constant name="BODY_PARAM_FRICTION" value="1">
</constant>
<constant name="BODY_PARAM_MASS" value="2">
</constant>
<constant name="BODY_PARAM_GRAVITY_SCALE" value="3">
</constant>
<constant name="BODY_PARAM_ANGULAR_DAMP" value="5">
</constant>
<constant name="BODY_PARAM_LINEAR_DAMP" value="4">
</constant>
<constant name="BODY_PARAM_MAX" value="6">
</constant>
<constant name="BODY_STATE_TRANSFORM" value="0">
</constant>
<constant name="BODY_STATE_LINEAR_VELOCITY" value="1">
</constant>
<constant name="BODY_STATE_ANGULAR_VELOCITY" value="2">
</constant>
<constant name="BODY_STATE_SLEEPING" value="3">
</constant>
<constant name="BODY_STATE_CAN_SLEEP" value="4">
</constant>
<constant name="AREA_BODY_ADDED" value="0">
</constant>
<constant name="AREA_BODY_REMOVED" value="1">
</constant>
<constant name="INFO_ACTIVE_OBJECTS" value="0">
</constant>
<constant name="INFO_COLLISION_PAIRS" value="1">
</constant>
<constant name="INFO_ISLAND_COUNT" value="2">
</constant>
</constants>
</class>
<class name="PhysicsServerSW" inherits="PhysicsServer" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
</methods>
<constants>
</constants>
</class>
<class name="PhysicsShapeQueryParameters" inherits="Reference" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
<method name="get_exclude" qualifiers="const">
<return type="Array">
</return>
<description>
</description>
</method>
<method name="get_layer_mask" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_margin" qualifiers="const">
<return type="float">
</return>
<description>
</description>
</method>
<method name="get_object_type_mask" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_shape_rid" qualifiers="const">
<return type="RID">
</return>
<description>
</description>
</method>
<method name="get_transform" qualifiers="const">
<return type="Transform">
</return>
<description>
</description>
</method>
<method name="set_exclude">
<argument index="0" name="exclude" type="Array">
</argument>
<description>
</description>
</method>
<method name="set_layer_mask">
<argument index="0" name="layer_mask" type="int">
</argument>
<description>
</description>
</method>
<method name="set_margin">
<argument index="0" name="margin" type="float">
</argument>
<description>
</description>
</method>
<method name="set_object_type_mask">
<argument index="0" name="object_type_mask" type="int">
</argument>
<description>
</description>
</method>
<method name="set_shape">
<argument index="0" name="shape" type="Shape">
</argument>
<description>
</description>
</method>
<method name="set_shape_rid">
<argument index="0" name="shape" type="RID">
</argument>
<description>
</description>
</method>
<method name="set_transform">
<argument index="0" name="transform" type="Transform">
</argument>
<description>
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="PhysicsShapeQueryResult" inherits="Reference" category="Core">
<brief_description>
Result of a shape query in Physics2DServer.
</brief_description>
<description>
</description>
<methods>
<method name="get_result_count" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_result_object" qualifiers="const">
<return type="Object">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
</description>
</method>
<method name="get_result_object_id" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
</description>
</method>
<method name="get_result_object_shape" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
</description>
</method>
<method name="get_result_rid" qualifiers="const">
<return type="RID">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="PinJoint" inherits="Joint" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
<method name="get_param" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="param" type="int">
</argument>
<description>
</description>
</method>
<method name="set_param">
<argument index="0" name="param" type="int">
</argument>
<argument index="1" name="value" type="float">
</argument>
<description>
</description>
</method>
</methods>
<constants>
<constant name="PARAM_BIAS" value="0">
</constant>
<constant name="PARAM_DAMPING" value="1">
</constant>
<constant name="PARAM_IMPULSE_CLAMP" value="2">
</constant>
</constants>
</class>
<class name="PinJoint2D" inherits="Joint2D" category="Core">
<brief_description>
Pin Joint for 2D Shapes.
</brief_description>
<description>
Pin Joint for 2D Rigid Bodies. It pins 2 bodies (rigid or static) together, or a single body to a fixed position in space.
</description>
<methods>
<method name="get_softness" qualifiers="const">
<return type="float">
</return>
<description>
</description>
</method>
<method name="set_softness">
<argument index="0" name="softness" type="float">
</argument>
<description>
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="Plane" category="Built-In Types">
<brief_description>
Plane in hessian form.
</brief_description>
<description>
Plane represents a normalized plane equation. Basically, "normal" is the normal of the plane (a,b,c normalized), and "d" is the distance from the origin to the plane (in the direction of "normal"). "Over" or "Above" the plane is considered the side of the plane towards where the normal is pointing.
</description>
<methods>
<method name="Plane">
<return type="Plane">
</return>
<argument index="0" name="a" type="float">
</argument>
<argument index="1" name="b" type="float">
</argument>
<argument index="2" name="c" type="float">
</argument>
<argument index="3" name="d" type="float">
</argument>
<description>
Creates a plane from the three parameters "a", "b", "c" and "d".
</description>
</method>
<method name="Plane">
<return type="Plane">
</return>
<argument index="0" name="v1" type="Vector3">
</argument>
<argument index="1" name="v2" type="Vector3">
</argument>
<argument index="2" name="v3" type="Vector3">
</argument>
<description>
Creates a plane from three points.
</description>
</method>
<method name="Plane">
<return type="Plane">
</return>
<argument index="0" name="normal" type="Vector3">
</argument>
<argument index="1" name="d" type="float">
</argument>
<description>
Creates a plane from the normal and the plane's distance to the origin.
</description>
</method>
<method name="center">
<return type="Vector3">
</return>
<description>
Returns the center of the plane.
</description>
</method>
<method name="distance_to">
<return type="float">
</return>
<argument index="0" name="point" type="Vector3">
</argument>
<description>
Returns the shortest distance from the plane to the position "point".
</description>
</method>
<method name="get_any_point">
<return type="Vector3">
</return>
<description>
Returns a point on the plane.
</description>
</method>
<method name="has_point">
<return type="bool">
</return>
<argument index="0" name="point" type="Vector3">
</argument>
<argument index="1" name="epsilon" type="float" default="0.00001">
</argument>
<description>
Returns true if "point" is inside the plane (by a very minimum threshold).
</description>
</method>
<method name="intersect_3">
<return type="Vector3">
</return>
<argument index="0" name="b" type="Plane">
</argument>
<argument index="1" name="c" type="Plane">
</argument>
<description>
Returns the intersection point of the three planes "b", "c" and this plane. If no intersection is found null is returned.
</description>
</method>
<method name="intersects_ray">
<return type="Vector3">
</return>
<argument index="0" name="from" type="Vector3">
</argument>
<argument index="1" name="dir" type="Vector3">
</argument>
<description>
Returns the intersection point of a ray consisting of the position "from" and the direction normal "dir" with this plane. If no intersection is found null is returned.
</description>
</method>
<method name="intersects_segment">
<return type="Vector3">
</return>
<argument index="0" name="begin" type="Vector3">
</argument>
<argument index="1" name="end" type="Vector3">
</argument>
<description>
Returns the intersection point of a segment from position "begin" to position "end" with this plane. If no intersection is found null is returned.
</description>
</method>
<method name="is_point_over">
<return type="bool">
</return>
<argument index="0" name="point" type="Vector3">
</argument>
<description>
Returns true if "point" is located above the plane.
</description>
</method>
<method name="normalized">
<return type="Plane">
</return>
<description>
Returns a copy of the plane, normalized.
</description>
</method>
<method name="project">
<return type="Vector3">
</return>
<argument index="0" name="point" type="Vector3">
</argument>
<description>
Returns the orthogonal projection of point "p" into a point in the plane.
</description>
</method>
</methods>
<members>
<member name="d" type="float">
</member>
<member name="normal" type="Vector3">
</member>
<member name="x" type="float">
</member>
<member name="y" type="float">
</member>
<member name="z" type="float">
</member>
</members>
<constants>
</constants>
</class>
<class name="PlaneShape" inherits="Shape" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
<method name="get_plane" qualifiers="const">
<return type="Plane">
</return>
<description>
</description>
</method>
<method name="set_plane">
<argument index="0" name="plane" type="Plane">
</argument>
<description>
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="Polygon2D" inherits="Node2D" category="Core">
<brief_description>
2D polygon representation
</brief_description>
<description>
A Polygon2D is defined by a set of n vertices connected together by line segments, meaning that the vertex 1 will be connected with vertex 2, vertex 2 with vertex 3 ..., vertex n-1 with vertex n and vertex n with vertex 1 in order to close the loop and define a polygon.
</description>
<methods>
<method name="get_color" qualifiers="const">
<return type="Color">
</return>
<description>
Return the polygon fill color.
</description>
</method>
<method name="get_invert" qualifiers="const">
<return type="bool">
</return>
<description>
Return whether this polygon is inverted or not.
</description>
</method>
<method name="get_invert_border" qualifiers="const">
<return type="float">
</return>
<description>
Return the added padding around the bounding box.
</description>
</method>
<method name="get_offset" qualifiers="const">
<return type="Vector2">
</return>
<description>
Return the offset for the polygon vertices.
</description>
</method>
<method name="get_polygon" qualifiers="const">
<return type="Vector2Array">
</return>
<description>
Return the set of vertices that defines this polygon.
</description>
</method>
<method name="get_texture" qualifiers="const">
<return type="Object">
</return>
<description>
Return the polygon texture
</description>
</method>
<method name="get_texture_offset" qualifiers="const">
<return type="Vector2">
</return>
<description>
Return the polygon texture offset.
</description>
</method>
<method name="get_texture_rotation" qualifiers="const">
<return type="float">
</return>
<description>
Return the rotation in radians of the texture polygon.
</description>
</method>
<method name="get_texture_scale" qualifiers="const">
<return type="Vector2">
</return>
<description>
Return the uv coordinate multiplier.
</description>
</method>
<method name="get_uv" qualifiers="const">
<return type="Vector2Array">
</return>
<description>
Return the texture coordinates associated with every vertex of the polygon.
</description>
</method>
<method name="set_color">
<argument index="0" name="color" type="Color">
</argument>
<description>
Set the polygon fill color. If the polygon has a texture defined, the defined texture will be multiplied by the polygon fill color. This, also, is the default color for those vertices that are not defined by [method get_vertex_colors].
</description>
</method>
<method name="set_invert">
<argument index="0" name="invert" type="bool">
</argument>
<description>
Set the polygon as the defined polygon bounding box minus the defined polygon (the defined polygon will appear as a hole on the square that contains the defined polygon).
</description>
</method>
<method name="set_invert_border">
<argument index="0" name="invert_border" type="float">
</argument>
<description>
Add extra padding around the bounding box, making it bigger. Too small a value can make the polygon triangulate strangely, due to numerical imprecision.
</description>
</method>
<method name="set_offset">
<argument index="0" name="offset" type="Vector2">
</argument>
<description>
Set the an offset that will be added to the vertices' position. E.g. if the offset is set to (10,10) then all the polygon points will move 10 units to the right and 10 units to the bottom.
</description>
</method>
<method name="set_polygon">
<argument index="0" name="polygon" type="Vector2Array">
</argument>
<description>
Define the set of vertices that will represent the polygon.
</description>
</method>
<method name="set_texture">
<argument index="0" name="texture" type="Object">
</argument>
<description>
Set the polygon texture.
</description>
</method>
<method name="set_texture_offset">
<argument index="0" name="texture_offset" type="Vector2">
</argument>
<description>
Set the offset of the polygon texture. Initially the texture will appear anchored to the polygon position, the offset is used to move the texture location away from that point (notice that the texture origin is set to its top left corner, so when offset is 0,0 the top left corner of the texture is at the polygon position), for example setting the offset to 10, 10 will move the texture 10 units to the left and 10 units to the top.
</description>
</method>
<method name="set_texture_rotation">
<argument index="0" name="texture_rotation" type="float">
</argument>
<description>
Set the amount of rotation of the polygon texture, [code]texture_rotation[/code] is specified in radians and clockwise rotation.
</description>
</method>
<method name="set_texture_scale">
<argument index="0" name="texture_scale" type="Vector2">
</argument>
<description>
Set the value that will multiply the uv coordinates ([method get_uv]) when applying the texture. Larger values make the texture smaller, and vice versa.
</description>
</method>
<method name="set_uv">
<argument index="0" name="uv" type="Vector2Array">
</argument>
<description>
Set the texture coordinates for every vertex of the polygon. There should be one uv vertex for every vertex in the polygon. If there are less, the undefined ones will be assumed to be (0,0). Extra uv vertices are ignored.
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="PolygonPathFinder" inherits="Resource" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
<method name="find_path">
<return type="Vector2Array">
</return>
<argument index="0" name="from" type="Vector2">
</argument>
<argument index="1" name="to" type="Vector2">
</argument>
<description>
</description>
</method>
<method name="get_bounds" qualifiers="const">
<return type="Rect2">
</return>
<description>
</description>
</method>
<method name="get_closest_point" qualifiers="const">
<return type="Vector2">
</return>
<argument index="0" name="point" type="Vector2">
</argument>
<description>
</description>
</method>
<method name="get_intersections" qualifiers="const">
<return type="Vector2Array">
</return>
<argument index="0" name="from" type="Vector2">
</argument>
<argument index="1" name="to" type="Vector2">
</argument>
<description>
</description>
</method>
<method name="get_point_penalty" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
</description>
</method>
<method name="is_point_inside" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="point" type="Vector2">
</argument>
<description>
</description>
</method>
<method name="set_point_penalty">
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="penalty" type="float">
</argument>
<description>
</description>
</method>
<method name="setup">
<argument index="0" name="points" type="Vector2Array">
</argument>
<argument index="1" name="connections" type="IntArray">
</argument>
<description>
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="Popup" inherits="Control" category="Core">
<brief_description>
Base container control for popups and dialogs.
</brief_description>
<description>
Popup is a base [Control] used to show dialogs and popups. It's a subwindow and modal by default (see [Control]) and has helpers for custom popup behavior.
</description>
<methods>
<method name="is_exclusive" qualifiers="const">
<return type="bool">
</return>
<description>
Returns whether the popup will hide other popups when shown on the screen.
</description>
</method>
<method name="popup">
<description>
Popup (show the control in modal form).
</description>
</method>
<method name="popup_centered">
<argument index="0" name="size" type="Vector2" default="Vector2(0,0)">
</argument>
<description>
Popup (show the control in modal form) in the center of the screen, at the current size, or at a size determined by "size".
</description>
</method>
<method name="popup_centered_minsize">
<argument index="0" name="minsize" type="Vector2" default="Vector2(0,0)">
</argument>
<description>
Popup (show the control in modal form) in the center of the screen, ensuring the size is never smaller than [code]minsize[/code].
</description>
</method>
<method name="popup_centered_ratio">
<argument index="0" name="ratio" type="float" default="0.75">
</argument>
<description>
Popup (show the control in modal form) in the center of the screen, scaled at a ratio of size of the screen.
</description>
</method>
<method name="set_exclusive">
<argument index="0" name="enable" type="bool">
</argument>
<description>
Make the popup hide other popups when shown on the screen.
</description>
</method>
</methods>
<signals>
<signal name="about_to_show">
<description>
This signal is emitted when a popup is about to be shown. (often used in [PopupMenu] for clearing the list of options and creating a new one according to the current context).
</description>
</signal>
<signal name="popup_hide">
<description>
This signal is emitted when a popup is hidden.
</description>
</signal>
</signals>
<constants>
<constant name="NOTIFICATION_POST_POPUP" value="80">
Notification sent right after the popup is shown.
</constant>
<constant name="NOTIFICATION_POPUP_HIDE" value="81">
Notification sent right after the popup is hidden.
</constant>
</constants>
</class>
<class name="PopupDialog" inherits="Popup" category="Core">
<brief_description>
Base class for Popup Dialogs.
</brief_description>
<description>
PopupDialog is a base class for popup dialogs, along with [WindowDialog].
</description>
<methods>
</methods>
<constants>
</constants>
</class>
<class name="PopupMenu" inherits="Popup" category="Core">
<brief_description>
PopupMenu displays a list of options.
</brief_description>
<description>
PopupMenu is the typical Control that displays a list of options. They are popular in toolbars or context menus.
</description>
<methods>
<method name="add_check_item">
<argument index="0" name="label" type="String">
</argument>
<argument index="1" name="id" type="int" default="-1">
</argument>
<argument index="2" name="accel" type="int" default="0">
</argument>
<description>
Add a new checkable item with text "label". An id can optionally be provided, as well as an accelerator. If no id is provided, one will be created from the index. Note that checkable items just display a checkmark, but don't have any built-in checking behavior and must be checked/unchecked manually.
</description>
</method>
<method name="add_icon_check_item">
<argument index="0" name="texture" type="Object">
</argument>
<argument index="1" name="label" type="String">
</argument>
<argument index="2" name="id" type="int" default="-1">
</argument>
<argument index="3" name="accel" type="int" default="0">
</argument>
<description>
Add a new checkable item with text "label" and icon "texture". An id can optionally be provided, as well as an accelerator. If no id is provided, one will be created from the index. Note that checkable items just display a checkmark, but don't have any built-in checking behavior and must be checked/unchecked manually.
</description>
</method>
<method name="add_icon_item">
<argument index="0" name="texture" type="Object">
</argument>
<argument index="1" name="label" type="String">
</argument>
<argument index="2" name="id" type="int" default="-1">
</argument>
<argument index="3" name="accel" type="int" default="0">
</argument>
<description>
Add a new item with text "label" and icon "texture". An id can optionally be provided, as well as an accelerator keybinding. If no id is provided, one will be created from the index.
</description>
</method>
<method name="add_item">
<argument index="0" name="label" type="String">
</argument>
<argument index="1" name="id" type="int" default="-1">
</argument>
<argument index="2" name="accel" type="int" default="0">
</argument>
<description>
Add a new item with text "label". An id can optionally be provided, as well as an accelerator keybinding. If no id is provided, one will be created from the index.
</description>
</method>
<method name="add_separator">
<description>
Add a separator between items. Separators also occupy an index.
</description>
</method>
<method name="add_submenu_item">
<argument index="0" name="label" type="String">
</argument>
<argument index="1" name="submenu" type="String">
</argument>
<argument index="2" name="id" type="int" default="-1">
</argument>
<description>
Adds an item with a submenu. The submenu is the name of a child PopupMenu node that would be shown when the item is clicked. An id can optionally be provided, but if is isn't provided, one will be created from the index.
</description>
</method>
<method name="clear">
<description>
Clear the popup menu, in effect removing all items.
</description>
</method>
<method name="get_item_ID" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
Return the id of the item at index "idx".
</description>
</method>
<method name="get_item_accelerator" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
Return the accelerator of the item at index "idx". Accelerators are special combinations of keys that activate the item, no matter which control is focused.
</description>
</method>
<method name="get_item_count" qualifiers="const">
<return type="int">
</return>
<description>
Return the amount of items.
</description>
</method>
<method name="get_item_icon" qualifiers="const">
<return type="Object">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
Return the icon of the item at index "idx".
</description>
</method>
<method name="get_item_index" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="id" type="int">
</argument>
<description>
Find and return the index of the item containing a given id.
</description>
</method>
<method name="get_item_metadata" qualifiers="const">
<argument index="0" name="idx" type="int">
</argument>
<description>
Return the metadata of an item, which might be of any type. You can set it with [method set_item_metadata], which provides a simple way of assigning context data to items.
</description>
</method>
<method name="get_item_submenu" qualifiers="const">
<return type="String">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
Return the submenu name of the item at index "idx".
</description>
</method>
<method name="get_item_text" qualifiers="const">
<return type="String">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
Return the text of the item at index "idx".
</description>
</method>
<method name="is_item_checkable" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
Return whether the item at index "idx" has a checkbox. Note that checkable items just display a checkmark, but don't have any built-in checking behavior and must be checked/unchecked manually.
</description>
</method>
<method name="is_item_checked" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
Return the checkstate status of the item at index "idx".
</description>
</method>
<method name="is_item_disabled" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
Return whether the item at index "idx" is disabled. When it is disabled it can't be selected, or its action invoked.
</description>
</method>
<method name="is_item_separator" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
Return whether the item is a seperator. If it is, it would be displayed as a line.
</description>
</method>
<method name="remove_item">
<argument index="0" name="idx" type="int">
</argument>
<description>
Removes the item at index "idx" from the menu. Note that the indexes of items after the removed item are going to be shifted by one.
</description>
</method>
<method name="set_item_ID">
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="id" type="int">
</argument>
<description>
Set the id of the item at index "idx".
</description>
</method>
<method name="set_item_accelerator">
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="accel" type="int">
</argument>
<description>
Set the accelerator of the item at index "idx". Accelerators are special combinations of keys that activate the item, no matter which control is focused.
</description>
</method>
<method name="set_item_as_checkable">
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="enable" type="bool">
</argument>
<description>
Set whether the item at index "idx" has a checkbox. Note that checkable items just display a checkmark, but don't have any built-in checking behavior and must be checked/unchecked manually.
</description>
</method>
<method name="set_item_as_separator">
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="enable" type="bool">
</argument>
<description>
Mark the item at index "idx" as a seperator, which means that it would be displayed as a mere line.
</description>
</method>
<method name="set_item_checked">
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="checked" type="bool">
</argument>
<description>
Set the checkstate status of the item at index "idx".
</description>
</method>
<method name="set_item_disabled">
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="disabled" type="bool">
</argument>
<description>
Sets whether the item at index "idx" is disabled or not. When it is disabled it can't be selected, or its action invoked.
</description>
</method>
<method name="set_item_icon">
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="icon" type="Object">
</argument>
<description>
Set the icon of the item at index "idx".
</description>
</method>
<method name="set_item_metadata">
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="metadata" type="var">
</argument>
<description>
Sets the metadata of an item, which might be of any type. You can later get it with [method get_item_metadata], which provides a simple way of assigning context data to items.
</description>
</method>
<method name="set_item_submenu">
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="submenu" type="String">
</argument>
<description>
Sets the submenu of the item at index "idx". The submenu is the name of a child PopupMenu node that would be shown when the item is clicked.
</description>
</method>
<method name="set_item_text">
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="text" type="String">
</argument>
<description>
Set the text of the item at index "idx".
</description>
</method>
</methods>
<signals>
<signal name="item_pressed">
<argument index="0" name="ID" type="int">
</argument>
<description>
This even is emitted when an item is pressed or its accelerator is activated. The id of the item is returned if it exists, else the index.
</description>
</signal>
</signals>
<constants>
</constants>
<theme_items>
<theme_item name="checked" type="Texture">
</theme_item>
<theme_item name="font" type="Font">
</theme_item>
<theme_item name="font_color" type="Color">
</theme_item>
<theme_item name="font_color_accel" type="Color">
</theme_item>
<theme_item name="font_color_disabled" type="Color">
</theme_item>
<theme_item name="font_color_hover" type="Color">
</theme_item>
<theme_item name="hover" type="StyleBox">
</theme_item>
<theme_item name="hseparation" type="int">
</theme_item>
<theme_item name="panel" type="StyleBox">
</theme_item>
<theme_item name="panel_disabled" type="StyleBox">
</theme_item>
<theme_item name="separator" type="StyleBox">
</theme_item>
<theme_item name="submenu" type="Texture">
</theme_item>
<theme_item name="unchecked" type="Texture">
</theme_item>
<theme_item name="vseparation" type="int">
</theme_item>
</theme_items>
</class>
<class name="PopupPanel" inherits="Popup" category="Core">
<brief_description>
Class for displaying popups with a panel background.
</brief_description>
<description>
Class for displaying popups with a panel background. In some cases it might be simpler to use than [Popup], since it provides a configurable background. If you are making windows, better check [WindowDialog].
</description>
<methods>
</methods>
<constants>
</constants>
<theme_items>
<theme_item name="panel" type="StyleBox">
</theme_item>
</theme_items>
</class>
<class name="Portal" inherits="VisualInstance" category="Core">
<brief_description>
Portals provide virtual openings to rooms.
</brief_description>
<description>
Portals provide virtual openings to [VisualInstance] nodes, so cameras can look at them from the outside. Note that portals are a visibility optimization technique, and are in no way related to the game of the same name (as in, they are not used for teleportation). For more information on how rooms and portals work, see [VisualInstance]. Portals are represented as 2D convex polygon shapes (in the X,Y local plane), and are placed on the surface of the areas occupied by a [VisualInstance], to indicate that the room can be accessed or looked-at through them. If two rooms are next to each other, and two similar portals in each of them share the same world position (and are parallel and opposed to each other), they will automatically "connect" and form "doors" (for example, the portals that connect a kitchen to a living room are placed in the door they share). Portals must always have a [VisualInstance] node as a parent, grandparent or far parent, or else they will not be active.
</description>
<methods>
<method name="get_connect_range" qualifiers="const">
<return type="float">
</return>
<description>
Return the range for auto-connecting two portals from different rooms sharing the same space.
</description>
</method>
<method name="get_disable_distance" qualifiers="const">
<return type="float">
</return>
<description>
Return the distance threshold for disabling the portal. Every time that the portal goes beyond "distance", it disables itself, becoming the opaque color (see [method set_disabled_color]).
</description>
</method>
<method name="get_disabled_color" qualifiers="const">
<return type="Color">
</return>
<description>
Return the color for when the portal goes beyond the disable distance (see [method set_disable_distance]) and becomes disabled.
</description>
</method>
<method name="get_shape" qualifiers="const">
<return type="Vector2Array">
</return>
<description>
Return the portal shape. The shape is an array of [Vector2] points, representing a convex polygon in the X,Y plane.
</description>
</method>
<method name="is_enabled" qualifiers="const">
<return type="bool">
</return>
<description>
Return whether the portal is active. When disabled it causes the parent [VisualInstance] to not be visible any longer when looking through the portal.
</description>
</method>
<method name="set_connect_range">
<argument index="0" name="range" type="float">
</argument>
<description>
Set the range for auto-connecting two portals from different rooms sharing the same space.
</description>
</method>
<method name="set_disable_distance">
<argument index="0" name="distance" type="float">
</argument>
<description>
Set the distance threshold for disabling the portal. Every time that the portal goes beyond "distance", it disables itself, becoming the opaque color (see [method set_disabled_color]).
</description>
</method>
<method name="set_disabled_color">
<argument index="0" name="color" type="Color">
</argument>
<description>
When the portal goes beyond the disable distance (see [method set_disable_distance]), it becomes opaque and displayed with color "color".
</description>
</method>
<method name="set_enabled">
<argument index="0" name="enable" type="bool">
</argument>
<description>
Enable the portal (it is enabled by default though), disabling it will cause the parent [VisualInstance] to not be visible any longer when looking through the portal.
</description>
</method>
<method name="set_shape">
<argument index="0" name="points" type="Vector2Array">
</argument>
<description>
Set the portal shape. The shape is an array of [Vector2] points, representing a convex polygon in the X,Y plane.
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="Position2D" inherits="Node2D" category="Core">
<brief_description>
Generic 2D Position hint for editing.
</brief_description>
<description>
Generic 2D Position hint for editing. It's just like a plain [Node2D] but displays as a cross in the 2D-Editor at all times.
</description>
<methods>
</methods>
<constants>
</constants>
</class>
<class name="Position3D" inherits="Spatial" category="Core">
<brief_description>
Generic 3D Position hint for editing
</brief_description>
<description>
Generic 3D Position hint for editing. It's just like a plain [Spatial] but displays as a cross in the 3D-Editor at all times.
</description>
<methods>
</methods>
<constants>
</constants>
</class>
<class name="ProgressBar" inherits="Range" category="Core">
<brief_description>
General purpose progress bar.
</brief_description>
<description>
General purpose progress bar. Shows fill percentage from right to left.
</description>
<methods>
<method name="is_percent_visible" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="set_percent_visible">
<argument index="0" name="visible" type="bool">
</argument>
<description>
</description>
</method>
</methods>
<constants>
</constants>
<theme_items>
<theme_item name="bg" type="StyleBox">
</theme_item>
<theme_item name="fg" type="StyleBox">
</theme_item>
<theme_item name="font" type="Font">
</theme_item>
<theme_item name="font_color" type="Color">
</theme_item>
<theme_item name="font_color_shadow" type="Color">
</theme_item>
</theme_items>
</class>
<class name="ProximityGroup" inherits="Spatial" category="Core">
<brief_description>
General purpose proximity-detection node.
</brief_description>
<description>
General purpose proximity-detection node.
</description>
<methods>
<method name="broadcast">
<argument index="0" name="name" type="String">
</argument>
<argument index="1" name="parameters" type="var">
</argument>
<description>
</description>
</method>
<method name="get_grid_radius" qualifiers="const">
<return type="Vector3">
</return>
<description>
</description>
</method>
<method name="set_dispatch_mode">
<argument index="0" name="mode" type="int">
</argument>
<description>
</description>
</method>
<method name="set_grid_radius">
<argument index="0" name="radius" type="Vector3">
</argument>
<description>
</description>
</method>
<method name="set_group_name">
<argument index="0" name="name" type="String">
</argument>
<description>
</description>
</method>
</methods>
<signals>
<signal name="broadcast">
<argument index="0" name="name" type="String">
</argument>
<argument index="1" name="parameters" type="Array">
</argument>
<description>
</description>
</signal>
</signals>
<constants>
</constants>
</class>
<class name="Quad" inherits="GeometryInstance" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
<method name="get_axis" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_offset" qualifiers="const">
<return type="Vector2">
</return>
<description>
</description>
</method>
<method name="get_size" qualifiers="const">
<return type="Vector2">
</return>
<description>
</description>
</method>
<method name="is_centered" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="set_axis">
<argument index="0" name="axis" type="int">
</argument>
<description>
</description>
</method>
<method name="set_centered">
<argument index="0" name="centered" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_offset">
<argument index="0" name="offset" type="Vector2">
</argument>
<description>
</description>
</method>
<method name="set_size">
<argument index="0" name="size" type="Vector2">
</argument>
<description>
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="Quat" category="Built-In Types">
<brief_description>
Quaternion.
</brief_description>
<description>
Quaternion is a 4 dimensional vector that is used to represent a rotation. It mainly exists to perform SLERP (spherical-linear interpolation) between to rotations obtained by a Matrix3 cheaply. Adding quaternions also cheaply adds the rotations, however quaternions need to be often normalized, or else they suffer from precision issues.
</description>
<methods>
<method name="Quat">
<return type="Quat">
</return>
<argument index="0" name="x" type="float">
</argument>
<argument index="1" name="y" type="float">
</argument>
<argument index="2" name="z" type="float">
</argument>
<argument index="3" name="w" type="float">
</argument>
<description>
</description>
</method>
<method name="Quat">
<return type="Quat">
</return>
<argument index="0" name="axis" type="Vector3">
</argument>
<argument index="1" name="angle" type="float">
</argument>
<description>
</description>
</method>
<method name="Quat">
<return type="Quat">
</return>
<argument index="0" name="from" type="Matrix3">
</argument>
<description>
</description>
</method>
<method name="cubic_slerp">
<return type="Quat">
</return>
<argument index="0" name="b" type="Quat">
</argument>
<argument index="1" name="pre_a" type="Quat">
</argument>
<argument index="2" name="post_b" type="Quat">
</argument>
<argument index="3" name="t" type="float">
</argument>
<description>
</description>
</method>
<method name="dot">
<return type="float">
</return>
<argument index="0" name="b" type="Quat">
</argument>
<description>
Returns the dot product between two quaternions.
</description>
</method>
<method name="inverse">
<return type="Quat">
</return>
<description>
Returns the inverse of the quaternion (applies to the inverse rotation too).
</description>
</method>
<method name="length">
<return type="float">
</return>
<description>
Returns the length of the quaternion.
</description>
</method>
<method name="length_squared">
<return type="float">
</return>
<description>
Returns the length of the quaternion, squared.
</description>
</method>
<method name="normalized">
<return type="Quat">
</return>
<description>
Returns a copy of the quaternion, normalized to unit length.
</description>
</method>
<method name="slerp">
<return type="Quat">
</return>
<argument index="0" name="b" type="Quat">
</argument>
<argument index="1" name="t" type="float">
</argument>
<description>
Perform a spherical-linear interpolation with another quaternion.
</description>
</method>
<method name="slerpni">
<return type="Quat">
</return>
<argument index="0" name="b" type="Quat">
</argument>
<argument index="1" name="t" type="float">
</argument>
<description>
</description>
</method>
<method name="xform">
<return type="Vector3">
</return>
<argument index="0" name="v" type="Vector3">
</argument>
<description>
</description>
</method>
</methods>
<members>
<member name="w" type="float">
</member>
<member name="x" type="float">
</member>
<member name="y" type="float">
</member>
<member name="z" type="float">
</member>
</members>
<constants>
</constants>
</class>
<class name="RID" category="Built-In Types">
<brief_description>
</brief_description>
<description>
</description>
<methods>
<method name="RID">
<return type="RID">
</return>
<argument index="0" name="from" type="Object">
</argument>
<description>
</description>
</method>
<method name="get_id">
<return type="int">
</return>
<description>
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="Range" inherits="Control" category="Core">
<brief_description>
Abstract base class for range-based controls.
</brief_description>
<description>
Range is a base class for [Control] nodes that change a floating point [i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/i] and [i]page[/i], for example a [ScrollBar].
</description>
<methods>
<method name="get_max" qualifiers="const">
<return type="float">
</return>
<description>
Return the maximum value.
</description>
</method>
<method name="get_min" qualifiers="const">
<return type="float">
</return>
<description>
Return the minimum value.
</description>
</method>
<method name="get_page" qualifiers="const">
<return type="float">
</return>
<description>
Return the page size, if page is 0, paging is disabled.
</description>
</method>
<method name="get_step" qualifiers="const">
<return type="float">
</return>
<description>
Return the stepping, if step is 0, stepping is disabled.
</description>
</method>
<method name="get_unit_value" qualifiers="const">
<return type="float">
</return>
<description>
Return value mapped to 0 to 1 (unit) range.
</description>
</method>
<method name="get_val" qualifiers="const">
<return type="float">
</return>
<description>
Return the current value.
</description>
</method>
<method name="get_value" qualifiers="const">
<return type="float">
</return>
<description>
</description>
</method>
<method name="is_rounded_values" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="is_unit_value_exp" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="set_exp_unit_value">
<argument index="0" name="enabled" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_max">
<argument index="0" name="maximum" type="float">
</argument>
<description>
</description>
</method>
<method name="set_min">
<argument index="0" name="minimum" type="float">
</argument>
<description>
Set minimum value, clamped range value to it if it's less.
</description>
</method>
<method name="set_page">
<argument index="0" name="pagesize" type="float">
</argument>
<description>
Set page size. Page is mainly used for scrollbars or anything that controls text scrolling.
</description>
</method>
<method name="set_rounded_values">
<argument index="0" name="enabled" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_step">
<argument index="0" name="step" type="float">
</argument>
<description>
Set step value. If step is 0, stepping will be disabled.
</description>
</method>
<method name="set_unit_value">
<argument index="0" name="value" type="float">
</argument>
<description>
Set value mapped to 0 to 1 (unit) range, it will then be converted to the actual value within min and max.
</description>
</method>
<method name="set_val">
<argument index="0" name="value" type="float">
</argument>
<description>
</description>
</method>
<method name="set_value">
<argument index="0" name="value" type="float">
</argument>
<description>
</description>
</method>
<method name="share">
<argument index="0" name="with" type="Object">
</argument>
<description>
</description>
</method>
<method name="unshare">
<description>
</description>
</method>
</methods>
<signals>
<signal name="changed">
<description>
This signal is emitted when min, max, range or step change.
</description>
</signal>
<signal name="value_changed">
<argument index="0" name="value" type="float">
</argument>
<description>
This signal is emitted when value changes.
</description>
</signal>
</signals>
<constants>
</constants>
</class>
<class name="RawArray" category="Built-In Types">
<brief_description>
Raw byte array.
</brief_description>
<description>
Raw byte array. Contains bytes. Optimized for memory usage, can't fragment the memory.
</description>
<methods>
<method name="RawArray">
<return type="RawArray">
</return>
<argument index="0" name="from" type="Array">
</argument>
<description>
Create from a generic array.
</description>
</method>
<method name="get_string_from_ascii">
<return type="String">
</return>
<description>
Returns a copy of the array's contents formatted as String. Fast alternative to get_string_from_utf8(), assuming the content is ASCII-only (unlike the UTF-8 function, this function maps every byte to a character in the string, so any multibyte sequence will be torn apart).
</description>
</method>
<method name="get_string_from_utf8">
<return type="String">
</return>
<description>
Returns a copy of the array's contents formatted as String, assuming the array is formatted as UTF-8. Slower than get_string_from_ascii(), but works for UTF-8. Usually you should prefer this function over get_string_from_ascii() to support international input.
</description>
</method>
<method name="push_back">
<argument index="0" name="byte" type="int">
</argument>
<description>
Append an element at the end of the array.
</description>
</method>
<method name="resize">
<argument index="0" name="idx" type="int">
</argument>
<description>
Set the size of the [RawArray]. If larger than the current size it will reserve some space beforehand, and if it is smaller it will cut off the array.
</description>
</method>
<method name="set">
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="byte" type="int">
</argument>
<description>
Change the byte at the given index.
</description>
</method>
<method name="size">
<return type="int">
</return>
<description>
Return the size of the array.
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="RayCast" inherits="Spatial" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
<method name="add_exception">
<argument index="0" name="node" type="Object">
</argument>
<description>
</description>
</method>
<method name="add_exception_rid">
<argument index="0" name="rid" type="RID">
</argument>
<description>
</description>
</method>
<method name="clear_exceptions">
<description>
</description>
</method>
<method name="get_cast_to" qualifiers="const">
<return type="Vector3">
</return>
<description>
</description>
</method>
<method name="get_collider" qualifiers="const">
<return type="Object">
</return>
<description>
</description>
</method>
<method name="get_collider_shape" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_collision_normal" qualifiers="const">
<return type="Vector3">
</return>
<description>
</description>
</method>
<method name="get_collision_point" qualifiers="const">
<return type="Vector3">
</return>
<description>
</description>
</method>
<method name="is_colliding" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="is_enabled" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="remove_exception">
<argument index="0" name="node" type="Object">
</argument>
<description>
</description>
</method>
<method name="remove_exception_rid">
<argument index="0" name="rid" type="RID">
</argument>
<description>
</description>
</method>
<method name="set_cast_to">
<argument index="0" name="local_point" type="Vector3">
</argument>
<description>
</description>
</method>
<method name="set_enabled">
<argument index="0" name="enabled" type="bool">
</argument>
<description>
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="RayCast2D" inherits="Node2D" category="Core">
<brief_description>
Query the closest object intersecting a ray
</brief_description>
<description>
A RayCast2D represents a line from its origin to its destination position [code]cast_to[/code], it is used to query the 2D space in order to find the closest object intersecting with the ray.
</description>
<methods>
<method name="add_exception">
<argument index="0" name="node" type="Object">
</argument>
<description>
Adds a collision exception so the ray does not report collisions with the specified [code]node[/code].
</description>
</method>
<method name="add_exception_rid">
<argument index="0" name="rid" type="RID">
</argument>
<description>
</description>
</method>
<method name="clear_exceptions">
<description>
Removes all collision exception for this ray.
</description>
</method>
<method name="get_cast_to" qualifiers="const">
<return type="Vector2">
</return>
<description>
Return the destination point of this ray object
</description>
</method>
<method name="get_collider" qualifiers="const">
<return type="Object">
</return>
<description>
Return the closest object the ray is pointing to. Note that this does not consider the length of the vector, so you must also use [method is_colliding] to check if the object returned is actually colliding with the ray.
</description>
</method>
<method name="get_collider_shape" qualifiers="const">
<return type="int">
</return>
<description>
Returns the collision shape of the closest object the ray is pointing to.
</description>
</method>
<method name="get_collision_normal" qualifiers="const">
<return type="Vector2">
</return>
<description>
Returns the normal of the intersecting object shape face containing the collision point.
</description>
</method>
<method name="get_collision_point" qualifiers="const">
<return type="Vector2">
</return>
<description>
Returns the collision point in which the ray intersects the closest object.
</description>
</method>
<method name="get_layer_mask" qualifiers="const">
<return type="int">
</return>
<description>
Returns the layer mask for this ray.
</description>
</method>
<method name="get_type_mask" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="is_colliding" qualifiers="const">
<return type="bool">
</return>
<description>
Return whether the closest object the ray is pointing to is colliding with the vector (considering the vector length).
</description>
</method>
<method name="is_enabled" qualifiers="const">
<return type="bool">
</return>
<description>
Returns whether this raycast is enabled or not
</description>
</method>
<method name="remove_exception">
<argument index="0" name="node" type="Object">
</argument>
<description>
Removes a collision exception so the ray does report collisions with the specified [code]node[/code].
</description>
</method>
<method name="remove_exception_rid">
<argument index="0" name="rid" type="RID">
</argument>
<description>
</description>
</method>
<method name="set_cast_to">
<argument index="0" name="local_point" type="Vector2">
</argument>
<description>
Sets the ray destination point, so that the ray will test from the ray's origin to [code]local_point[/code]
</description>
</method>
<method name="set_enabled">
<argument index="0" name="enabled" type="bool">
</argument>
<description>
Enables the RayCast2D. Only enabled raycasts will be able to query the space and report collisions.
</description>
</method>
<method name="set_layer_mask">
<argument index="0" name="mask" type="int">
</argument>
<description>
</description>
</method>
<method name="set_type_mask">
<argument index="0" name="mask" type="int">
</argument>
<description>
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="RayShape" inherits="Shape" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
<method name="get_length" qualifiers="const">
<return type="float">
</return>
<description>
</description>
</method>
<method name="set_length">
<argument index="0" name="length" type="float">
</argument>
<description>
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="RayShape2D" inherits="Shape2D" category="Core">
<brief_description>
Ray 2D shape resource for physics.
</brief_description>
<description>
Ray 2D shape resource for physics. A ray is not really a collision body, instead it tries to separate itself from whatever is touching its far endpoint. It's often useful for characters.
</description>
<methods>
<method name="get_length" qualifiers="const">
<return type="float">
</return>
<description>
Return the length of the ray.
</description>
</method>
<method name="set_length">
<argument index="0" name="length" type="float">
</argument>
<description>
Set the length of the ray.
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="RealArray" category="Built-In Types">
<brief_description>
Real Array .
</brief_description>
<description>
Real Array. Array of floating point values. Can only contain floats. Optimized for memory usage, can't fragment the memory.
</description>
<methods>
<method name="RealArray">
<return type="RealArray">
</return>
<argument index="0" name="from" type="Array">
</argument>
<description>
Create from a generic array.
</description>
</method>
<method name="push_back">
<argument index="0" name="value" type="float">
</argument>
<description>
Append an element at the end of the array.
</description>
</method>
<method name="resize">
<argument index="0" name="idx" type="int">
</argument>
<description>
Set the size of the [RealArray]. If larger than the current size it will reserve some space beforehand, and if it is smaller it will cut off the array.
</description>
</method>
<method name="set">
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="value" type="float">
</argument>
<description>
Change the float at the given index.
</description>
</method>
<method name="size">
<return type="int">
</return>
<description>
Return the size of the array.
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="Rect2" category="Built-In Types">
<brief_description>
2D Axis-aligned bounding box.
</brief_description>
<description>
Rect2 provides an 2D Axis-Aligned Bounding Box. It consists of a position, a size, and several utility functions. It is typically used for fast overlap tests.
</description>
<methods>
<method name="Rect2">
<return type="Rect2">
</return>
<argument index="0" name="pos" type="Vector2">
</argument>
<argument index="1" name="size" type="Vector2">
</argument>
<description>
Construct a [Rect2] by position and size.
</description>
</method>
<method name="Rect2">
<return type="Rect2">
</return>
<argument index="0" name="x" type="float">
</argument>
<argument index="1" name="y" type="float">
</argument>
<argument index="2" name="width" type="float">
</argument>
<argument index="3" name="height" type="float">
</argument>
<description>
Construct a [Rect2] by x, y, width and height.
</description>
</method>
<method name="clip">
<return type="Rect2">
</return>
<argument index="0" name="b" type="Rect2">
</argument>
<description>
Returns the intersection of this [Rect2] and b.
</description>
</method>
<method name="encloses">
<return type="bool">
</return>
<argument index="0" name="b" type="Rect2">
</argument>
<description>
Returns true if this [Rect2] completely encloses another one.
</description>
</method>
<method name="expand">
<return type="Rect2">
</return>
<argument index="0" name="to" type="Vector2">
</argument>
<description>
Return this [Rect2] expanded to include a given point.
</description>
</method>
<method name="get_area">
<return type="float">
</return>
<description>
Get the area of the [Rect2].
</description>
</method>
<method name="grow">
<return type="Rect2">
</return>
<argument index="0" name="by" type="float">
</argument>
<description>
Return a copy of the [Rect2] grown a given amount of units towards all the sides.
</description>
</method>
<method name="has_no_area">
<return type="bool">
</return>
<description>
Return true if the [Rect2] is flat or empty.
</description>
</method>
<method name="has_point">
<return type="bool">
</return>
<argument index="0" name="point" type="Vector2">
</argument>
<description>
Return true if the [Rect2] contains a point.
</description>
</method>
<method name="intersects">
<return type="bool">
</return>
<argument index="0" name="b" type="Rect2">
</argument>
<description>
Return true if the [Rect2] overlaps with another.
</description>
</method>
<method name="merge">
<return type="Rect2">
</return>
<argument index="0" name="b" type="Rect2">
</argument>
<description>
Combine this [Rect2] with another, a larger one is returned that contains both.
</description>
</method>
</methods>
<members>
<member name="end" type="Vector2">
Ending corner.
</member>
<member name="pos" type="Vector2">
Position (starting corner).
</member>
<member name="size" type="Vector2">
Size from position to end.
</member>
</members>
<constants>
</constants>
</class>
<class name="RectangleShape2D" inherits="Shape2D" category="Core">
<brief_description>
Rectangle Shape for 2D Physics.
</brief_description>
<description>
Rectangle Shape for 2D Physics. This shape is useful for modeling box-like 2D objects.
</description>
<methods>
<method name="get_extents" qualifiers="const">
<return type="Vector2">
</return>
<description>
Return the half extents, the actual width and height of this shape is twice the half extents.
</description>
</method>
<method name="set_extents">
<argument index="0" name="extents" type="Vector2">
</argument>
<description>
Set the half extents, the actual width and height of this shape is twice the half extents.
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="Reference" inherits="Object" category="Core">
<brief_description>
Base class for anything that keeps a reference count.
</brief_description>
<description>
Base class for anything that keeps a reference count. Resource and many other helper objects inherit this. References keep an internal reference counter so they are only released when no longer in use.
</description>
<methods>
<method name="init_ref">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="reference">
<description>
Increase the internal reference counter. Use this only if you really know what you are doing.
</description>
</method>
<method name="unreference">
<return type="bool">
</return>
<description>
Decrease the internal reference counter. Use this only if you really know what you are doing.
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="ReferenceFrame" inherits="Control" category="Core">
<brief_description>
Reference frame for GUI.
</brief_description>
<description>
Reference frame for GUI. It's just like an empty control, except a red box is displayed while editing around its size at all times.
</description>
<methods>
</methods>
<constants>
</constants>
<theme_items>
<theme_item name="border" type="StyleBox">
</theme_item>
</theme_items>
</class>
<class name="RegEx" inherits="Reference" category="Core">
<brief_description>
Simple regular expression matcher.
</brief_description>
<description>
Class for finding text patterns in a string using regular expressions. Regular expressions are a way to define patterns of text to be searched.
This class only finds patterns in a string. It can not perform replacements.
Usage of regular expressions is too long to be explained here, but Internet is full of tutorials and detailed explanations.
Currently supported features:
Capturing [code]()[/code] and non-capturing [code](?:)[/code] groups
Any character [code].[/code]
Shorthand character classes [code]\w \W \s \S \d \D[/code]
User-defined character classes such as [code][A-Za-z][/code]
Simple quantifiers [code]?[/code], [code]*[/code] and [code]+[/code]
Range quantifiers [code]{x,y}[/code]
Lazy (non-greedy) quantifiers [code]*?[/code]
Beginning [code]^[/code] and end [code]$[/code] anchors
Alternation [code]|[/code]
Backreferences [code]\1[/code] and [code]\g{1}[/code]
POSIX character classes [code][[:alnum:]][/code]
Lookahead [code](?=)[/code], [code](?!)[/code] and lookbehind [code](?&lt;=)[/code], [code](?&lt;!)[/code]
ASCII [code]\xFF[/code] and Unicode [code]\uFFFF[/code] code points (in a style similar to Python)
Word boundaries [code]\b[/code], [code]\B[/code]
</description>
<methods>
<method name="clear">
<description>
This method resets the state of the object, as it was freshly created. Namely, it unassigns the regular expression of this object, and forgets all captures made by the last [method find].
</description>
</method>
<method name="compile">
<return type="int">
</return>
<argument index="0" name="pattern" type="String">
</argument>
<argument index="1" name="capture" type="int" default="9">
</argument>
<description>
Compiles and assign the regular expression pattern to use. The limit on the number of capturing groups can be specified or made unlimited if negative.
</description>
</method>
<method name="find" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="text" type="String">
</argument>
<argument index="1" name="start" type="int" default="0">
</argument>
<argument index="2" name="end" type="int" default="-1">
</argument>
<description>
This method tries to find the pattern within the string, and returns the position where it was found. It also stores any capturing group (see [method get_capture]) for further retrieval.
</description>
</method>
<method name="get_capture" qualifiers="const">
<return type="String">
</return>
<argument index="0" name="capture" type="int">
</argument>
<description>
Returns a captured group. A captured group is the part of a string that matches a part of the pattern delimited by parentheses (unless they are non-capturing parentheses [i](?:)[/i]).
</description>
</method>
<method name="get_capture_count" qualifiers="const">
<return type="int">
</return>
<description>
Returns the number of capturing groups. A captured group is the part of a string that matches a part of the pattern delimited by parentheses (unless they are non-capturing parentheses [i](?:)[/i]).
</description>
</method>
<method name="get_capture_start" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="capture" type="int">
</argument>
<description>
</description>
</method>
<method name="get_captures" qualifiers="const">
<return type="StringArray">
</return>
<description>
Return a list of all the captures made by the regular expression.
</description>
</method>
<method name="is_valid" qualifiers="const">
<return type="bool">
</return>
<description>
Returns whether this object has a valid regular expression assigned.
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="RemoteTransform2D" inherits="Node2D" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
<method name="get_remote_node" qualifiers="const">
<return type="NodePath">
</return>
<description>
</description>
</method>
<method name="set_remote_node">
<argument index="0" name="path" type="NodePath">
</argument>
<description>
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="RenderTargetTexture" inherits="Texture" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
</methods>
<constants>
</constants>
</class>
<class name="Resource" inherits="Reference" category="Core">
<brief_description>
Base class for all resources.
</brief_description>
<description>
Resource is the base class for all resource types. Resources are primarily data containers. They are reference counted and freed when no longer in use. They are also loaded only once from disk, and further attempts to load the resource will return the same reference (all this in contrast to a [Node], which is not reference counted and can be instanced from disk as many times as desired). Resources can be saved externally on disk or bundled into another object, such as a [Node] or another resource.
</description>
<methods>
<method name="duplicate">
<return type="Object">
</return>
<argument index="0" name="subresources" type="bool" default="false">
</argument>
<description>
</description>
</method>
<method name="get_import_metadata" qualifiers="const">
<return type="Object">
</return>
<description>
</description>
</method>
<method name="get_name" qualifiers="const">
<return type="String">
</return>
<description>
Return the name of the resources, any name is valid (it doesn't have to be unique). Name is for descriptive purposes only.
</description>
</method>
<method name="get_path" qualifiers="const">
<return type="String">
</return>
<description>
Return the path of the resource. This is useful mainly for editors when saving/loading, and shouldn't be changed by anything else.
</description>
</method>
<method name="get_rid" qualifiers="const">
<return type="RID">
</return>
<description>
Return the RID of the resource (or an empty RID). Many resources (such as [Texture], [Mesh], etc) are high level abstractions of resources stored in a server, so this function will return the original RID.
</description>
</method>
<method name="set_import_metadata">
<argument index="0" name="metadata" type="Object">
</argument>
<description>
</description>
</method>
<method name="set_name">
<argument index="0" name="name" type="String">
</argument>
<description>
Set the name of the resources, any name is valid (it doesn't have to be unique). Name is for descriptive purposes only.
</description>
</method>
<method name="set_path">
<argument index="0" name="path" type="String">
</argument>
<description>
Set the path of the resource. This is useful mainly for editors when saving/loading, and shouldn't be changed by anything else. Fails if another [Resource] already has path "path".
</description>
</method>
<method name="take_over_path">
<argument index="0" name="path" type="String">
</argument>
<description>
Set the path of the resource. Differs from set_path(), if another [Resource] exists with "path" it over-takes it, instead of failing.
</description>
</method>
</methods>
<signals>
<signal name="changed">
<description>
</description>
</signal>
</signals>
<constants>
</constants>
</class>
<class name="ResourceImportMetadata" inherits="Reference" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
<method name="add_source">
<argument index="0" name="path" type="String">
</argument>
<argument index="1" name="md5" type="String" default="&quot;&quot;">
</argument>
<description>
</description>
</method>
<method name="get_editor" qualifiers="const">
<return type="String">
</return>
<description>
</description>
</method>
<method name="get_option" qualifiers="const">
<argument index="0" name="key" type="String">
</argument>
<description>
</description>
</method>
<method name="get_options" qualifiers="const">
<return type="StringArray">
</return>
<description>
</description>
</method>
<method name="get_source_count" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_source_md5" qualifiers="const">
<return type="String">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
</description>
</method>
<method name="get_source_path" qualifiers="const">
<return type="String">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
</description>
</method>
<method name="remove_source">
<argument index="0" name="idx" type="int">
</argument>
<description>
</description>
</method>
<method name="set_editor">
<argument index="0" name="name" type="String">
</argument>
<description>
</description>
</method>
<method name="set_option">
<argument index="0" name="key" type="String">
</argument>
<argument index="1" name="value" type="var">
</argument>
<description>
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="ResourceInteractiveLoader" inherits="Reference" category="Core">
<brief_description>
Interactive Resource Loader.
</brief_description>
<description>
Interactive Resource Loader. This object is returned by ResourceLoader when performing an interactive load. It allows to load with high granularity, so this is mainly useful for displaying load bars/percentages.
</description>
<methods>
<method name="get_resource">
<return type="Object">
</return>
<description>
Return the loaded resource (only if loaded). Otherwise, returns null.
</description>
</method>
<method name="get_stage" qualifiers="const">
<return type="int">
</return>
<description>
Return the load stage. The total amount of stages can be queried with [method get_stage_count]
</description>
</method>
<method name="get_stage_count" qualifiers="const">
<return type="int">
</return>
<description>
Return the total amount of stages (calls to [method poll]) needed to completely load this resource.
</description>
</method>
<method name="poll">
<return type="int">
</return>
<description>
Poll the load. If OK is returned, this means poll will have to be called again. If ERR_EOF is returned, them the load has finished and the resource can be obtained by calling [method get_resource].
</description>
</method>
<method name="wait">
<return type="int">
</return>
<description>
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="ResourceLoader" inherits="Object" category="Core">
<brief_description>
Resource Loader.
</brief_description>
<description>
Resource Loader. This is a static object accessible as [ResourceLoader]. GDScript has a simplified load() function, though.
</description>
<methods>
<method name="get_dependencies">
<return type="StringArray">
</return>
<argument index="0" name="path" type="String">
</argument>
<description>
</description>
</method>
<method name="get_recognized_extensions_for_type">
<return type="StringArray">
</return>
<argument index="0" name="type" type="String">
</argument>
<description>
Return the list of recognized extensions for a resource type.
</description>
</method>
<method name="has">
<return type="bool">
</return>
<argument index="0" name="path" type="String">
</argument>
<description>
</description>
</method>
<method name="load">
<return type="Resource">
</return>
<argument index="0" name="path" type="String">
</argument>
<argument index="1" name="type_hint" type="String" default="&quot;&quot;">
</argument>
<argument index="2" name="p_no_cache" type="bool" default="false">
</argument>
<description>
</description>
</method>
<method name="load_interactive">
<return type="ResourceInteractiveLoader">
</return>
<argument index="0" name="path" type="String">
</argument>
<argument index="1" name="type_hint" type="String" default="&quot;&quot;">
</argument>
<description>
Load a resource interactively, the returned object allows to load with high granularity.
</description>
</method>
<method name="set_abort_on_missing_resources">
<argument index="0" name="abort" type="bool">
</argument>
<description>
Change the behavior on missing sub-resources. Default is to abort load.
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="ResourcePreloader" inherits="Node" category="Core">
<brief_description>
Resource Preloader Node.
</brief_description>
<description>
Resource Preloader Node. This node is used to preload sub-resources inside a scene, so when the scene is loaded all the resources are ready to use and be retrieved from here.
</description>
<methods>
<method name="add_resource">
<argument index="0" name="name" type="String">
</argument>
<argument index="1" name="resource" type="Object">
</argument>
<description>
Add a resource to the preloader. Set the text-id that will be used to identify it (retrieve it/erase it/etc).
</description>
</method>
<method name="get_resource" qualifiers="const">
<return type="Object">
</return>
<argument index="0" name="name" type="String">
</argument>
<description>
Return the resource given a text-id.
</description>
</method>
<method name="get_resource_list" qualifiers="const">
<return type="StringArray">
</return>
<description>
Return the list of resources inside the preloader.
</description>
</method>
<method name="has_resource" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="name" type="String">
</argument>
<description>
Return true if the preloader has a given resource.
</description>
</method>
<method name="remove_resource">
<argument index="0" name="name" type="String">
</argument>
<description>
Remove a resource from the preloader by text id.
</description>
</method>
<method name="rename_resource">
<argument index="0" name="name" type="String">
</argument>
<argument index="1" name="newname" type="String">
</argument>
<description>
Rename a resource inside the preloader, from a text-id to a new text-id.
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="ResourceSaver" inherits="Object" category="Core">
<brief_description>
Resource Saving Interface.
</brief_description>
<description>
Resource Saving Interface. This interface is used for saving resources to disk.
</description>
<methods>
<method name="get_recognized_extensions">
<return type="StringArray">
</return>
<argument index="0" name="type" type="Object">
</argument>
<description>
Return the list of extensions available for saving a resource of a given type.
</description>
</method>
<method name="save">
<return type="int">
</return>
<argument index="0" name="path" type="String">
</argument>
<argument index="1" name="resource" type="Resource">
</argument>
<argument index="2" name="flags" type="int" default="0">
</argument>
<description>
Save a resource to disk, to a given path.
</description>
</method>
</methods>
<constants>
<constant name="FLAG_RELATIVE_PATHS" value="1">
</constant>
<constant name="FLAG_BUNDLE_RESOURCES" value="2">
</constant>
<constant name="FLAG_CHANGE_PATH" value="4">
</constant>
<constant name="FLAG_OMIT_EDITOR_PROPERTIES" value="8">
</constant>
<constant name="FLAG_SAVE_BIG_ENDIAN" value="16">
</constant>
<constant name="FLAG_COMPRESS" value="32">
</constant>
</constants>
</class>
<class name="RichTextLabel" inherits="Control" category="Core">
<brief_description>
Label that displays rich text.
</brief_description>
<description>
Label that displays rich text. Rich text can contain custom text, fonts, images and some basic formatting. It also adapts itself to given width/heights.
</description>
<methods>
<method name="add_image">
<argument index="0" name="image" type="Texture">
</argument>
<description>
</description>
</method>
<method name="add_text">
<argument index="0" name="text" type="String">
</argument>
<description>
</description>
</method>
<method name="append_bbcode">
<return type="int">
</return>
<argument index="0" name="bbcode" type="String">
</argument>
<description>
</description>
</method>
<method name="clear">
<description>
</description>
</method>
<method name="get_bbcode" qualifiers="const">
<return type="String">
</return>
<description>
</description>
</method>
<method name="get_tab_size" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_total_character_count" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_v_scroll">
<return type="Object">
</return>
<description>
</description>
</method>
<method name="get_visible_characters" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="is_meta_underlined" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="is_scroll_active" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="is_scroll_following" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="is_selection_enabled" qualifiers="const">
<return type="bool">
</return>
<description>
Return true if selecting the text inside this richtext is allowed.
</description>
</method>
<method name="is_using_bbcode" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="newline">
<description>
</description>
</method>
<method name="parse_bbcode">
<return type="int">
</return>
<argument index="0" name="bbcode" type="String">
</argument>
<description>
</description>
</method>
<method name="pop">
<description>
</description>
</method>
<method name="push_align">
<argument index="0" name="align" type="int">
</argument>
<description>
</description>
</method>
<method name="push_cell">
<description>
</description>
</method>
<method name="push_color">
<argument index="0" name="color" type="Color">
</argument>
<description>
</description>
</method>
<method name="push_font">
<argument index="0" name="font" type="Object">
</argument>
<description>
</description>
</method>
<method name="push_indent">
<argument index="0" name="level" type="int">
</argument>
<description>
</description>
</method>
<method name="push_list">
<argument index="0" name="type" type="int">
</argument>
<description>
</description>
</method>
<method name="push_meta">
<argument index="0" name="data" type="var">
</argument>
<description>
</description>
</method>
<method name="push_table">
<argument index="0" name="columns" type="int">
</argument>
<description>
</description>
</method>
<method name="push_underline">
<description>
</description>
</method>
<method name="scroll_to_line">
<argument index="0" name="line" type="int">
</argument>
<description>
</description>
</method>
<method name="set_bbcode">
<argument index="0" name="text" type="String">
</argument>
<description>
</description>
</method>
<method name="set_meta_underline">
<argument index="0" name="enable" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_scroll_active">
<argument index="0" name="active" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_scroll_follow">
<argument index="0" name="follow" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_selection_enabled">
<argument index="0" name="enabled" type="bool">
</argument>
<description>
Set to true if selecting the text inside this richtext is allowed.
</description>
</method>
<method name="set_tab_size">
<argument index="0" name="spaces" type="int">
</argument>
<description>
</description>
</method>
<method name="set_table_column_expand">
<argument index="0" name="column" type="int">
</argument>
<argument index="1" name="expand" type="bool">
</argument>
<argument index="2" name="ratio" type="int">
</argument>
<description>
</description>
</method>
<method name="set_use_bbcode">
<argument index="0" name="enable" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_visible_characters">
<argument index="0" name="amount" type="int">
</argument>
<description>
</description>
</method>
</methods>
<signals>
<signal name="meta_clicked">
<argument index="0" name="meta" type="Nil">
</argument>
<description>
</description>
</signal>
</signals>
<constants>
<constant name="ALIGN_LEFT" value="0">
</constant>
<constant name="ALIGN_CENTER" value="1">
</constant>
<constant name="ALIGN_RIGHT" value="2">
</constant>
<constant name="ALIGN_FILL" value="3">
</constant>
<constant name="LIST_NUMBERS" value="0">
</constant>
<constant name="LIST_LETTERS" value="1">
</constant>
<constant name="LIST_DOTS" value="2">
</constant>
<constant name="ITEM_FRAME" value="0">
</constant>
<constant name="ITEM_TEXT" value="1">
</constant>
<constant name="ITEM_IMAGE" value="2">
</constant>
<constant name="ITEM_NEWLINE" value="3">
</constant>
<constant name="ITEM_FONT" value="4">
</constant>
<constant name="ITEM_COLOR" value="5">
</constant>
<constant name="ITEM_UNDERLINE" value="6">
</constant>
<constant name="ITEM_ALIGN" value="7">
</constant>
<constant name="ITEM_INDENT" value="8">
</constant>
<constant name="ITEM_LIST" value="9">
</constant>
<constant name="ITEM_META" value="11">
</constant>
</constants>
<theme_items>
<theme_item name="bold_font" type="Font">
</theme_item>
<theme_item name="bold_italics_font" type="Font">
</theme_item>
<theme_item name="default_color" type="Color">
</theme_item>
<theme_item name="focus" type="StyleBox">
</theme_item>
<theme_item name="font_color_selected" type="Color">
</theme_item>
<theme_item name="italics_font" type="Font">
</theme_item>
<theme_item name="line_separation" type="int">
</theme_item>
<theme_item name="mono_font" type="Font">
</theme_item>
<theme_item name="normal_font" type="Font">
</theme_item>
<theme_item name="selection_color" type="Color">
</theme_item>
<theme_item name="table_hseparation" type="int">
</theme_item>
<theme_item name="table_vseparation" type="int">
</theme_item>
</theme_items>
</class>
<class name="RigidBody" inherits="PhysicsBody" category="Core">
<brief_description>
Rigid body node.
</brief_description>
<description>
Rigid body node. This node is used for placing rigid bodies in the scene. It can contain a number of shapes, and also shift mode between regular Rigid body, Kinematic, Character or Static.
</description>
<methods>
<method name="_integrate_forces" qualifiers="virtual">
<argument index="0" name="state" type="PhysicsDirectBodyState">
</argument>
<description>
Called during physics processing, allowing you to read and safely modify the simulation state for the object. By default it works in addition to the usual physics behavior, but [method set_use_custom_integrator] allows you to disable the default behavior and do fully custom force integration for a body.
</description>
</method>
<method name="apply_impulse">
<argument index="0" name="pos" type="Vector3">
</argument>
<argument index="1" name="impulse" type="Vector3">
</argument>
<description>
Apply a positioned impulse (which will be affected by the body mass and shape). This is the equivalent of hitting a billiard ball with a cue: a force that is applied once, and only once. Both the impulse and the offset from the body origin are in global coordinates.
</description>
</method>
<method name="get_angular_damp" qualifiers="const">
<return type="float">
</return>
<description>
Return the current body angular damp. Default is -1.
</description>
</method>
<method name="get_angular_velocity" qualifiers="const">
<return type="Vector3">
</return>
<description>
Return the current body angular velocity.
</description>
</method>
<method name="get_axis_lock" qualifiers="const">
<return type="int">
</return>
<description>
Return the current axis lock of the body. One of AXIS_LOCK_* enum.
</description>
</method>
<method name="get_bounce" qualifiers="const">
<return type="float">
</return>
<description>
Return the current body bounciness.
</description>
</method>
<method name="get_colliding_bodies" qualifiers="const">
<return type="Array">
</return>
<description>
Return a list of the bodies colliding with this one.
</description>
</method>
<method name="get_friction" qualifiers="const">
<return type="float">
</return>
<description>
Return the current body friction, from 0 (frictionless) to 1 (max friction).
</description>
</method>
<method name="get_gravity_scale" qualifiers="const">
<return type="float">
</return>
<description>
Return the current body gravity scale.
</description>
</method>
<method name="get_linear_damp" qualifiers="const">
<return type="float">
</return>
<description>
Return the current body linear damp. Default is -1.
</description>
</method>
<method name="get_linear_velocity" qualifiers="const">
<return type="Vector3">
</return>
<description>
Return the current body linear velocity.
</description>
</method>
<method name="get_mass" qualifiers="const">
<return type="float">
</return>
<description>
Return the current body mass.
</description>
</method>
<method name="get_max_contacts_reported" qualifiers="const">
<return type="int">
</return>
<description>
Return the maximum contacts that can be reported. See [method set_max_contacts_reported].
</description>
</method>
<method name="get_mode" qualifiers="const">
<return type="int">
</return>
<description>
Return the current body mode, see [method set_mode].
</description>
</method>
<method name="get_weight" qualifiers="const">
<return type="float">
</return>
<description>
Return the current body weight, given standard earth-weight (gravity 9.8).
</description>
</method>
<method name="is_able_to_sleep" qualifiers="const">
<return type="bool">
</return>
<description>
Return whether the body has the ability to fall asleep when not moving. See [method set_can_sleep].
</description>
</method>
<method name="is_contact_monitor_enabled" qualifiers="const">
<return type="bool">
</return>
<description>
Return whether contact monitoring is enabled.
</description>
</method>
<method name="is_sleeping" qualifiers="const">
<return type="bool">
</return>
<description>
Return whether the body is sleeping.
</description>
</method>
<method name="is_using_continuous_collision_detection" qualifiers="const">
<return type="bool">
</return>
<description>
Return whether this body is using continuous collision detection.
</description>
</method>
<method name="is_using_custom_integrator">
<return type="bool">
</return>
<description>
Return whether the body is using a custom integrator.
</description>
</method>
<method name="set_angular_damp">
<argument index="0" name="angular_damp" type="float">
</argument>
<description>
Set the angular damp for this body. Default of -1, cannot be less than -1. If this value is different from -1, any angular damp derived from the world or areas will be overridden.
</description>
</method>
<method name="set_angular_velocity">
<argument index="0" name="angular_velocity" type="Vector3">
</argument>
<description>
Set the body angular velocity. Can be used sporadically, but [b]DON'T SET THIS IN EVERY FRAME[/b], because physics may be running in another thread and definitely runs at a different granularity. Use [method _integrate_forces] as your process loop if you want to have precise control of the body state.
</description>
</method>
<method name="set_axis_lock">
<argument index="0" name="axis_lock" type="int">
</argument>
<description>
Set the axis lock of the body, from the AXIS_LOCK_* enum. Axis lock stops the body from moving along the specified axis(X/Y/Z) and rotating along the other two axes.
</description>
</method>
<method name="set_axis_velocity">
<argument index="0" name="axis_velocity" type="Vector3">
</argument>
<description>
Set an axis velocity. The velocity in the given vector axis will be set as the given vector length. This is useful for jumping behavior.
</description>
</method>
<method name="set_bounce">
<argument index="0" name="bounce" type="float">
</argument>
<description>
Set the body bounciness, from 0 (no bounciness) to 1 (max bounciness).
</description>
</method>
<method name="set_can_sleep">
<argument index="0" name="able_to_sleep" type="bool">
</argument>
<description>
Set the body ability to fall asleep when not moving. This saves an enormous amount of processor time when there are plenty of rigid bodies (non static) in a scene.
Sleeping bodies are not affected by forces until a collision or an [method apply_impulse] / [method set_applied_force] wakes them up. Until then, they behave like a static body.
</description>
</method>
<method name="set_contact_monitor">
<argument index="0" name="enabled" type="bool">
</argument>
<description>
Enable contact monitoring. This allows the body to emit signals when it collides with another.
</description>
</method>
<method name="set_friction">
<argument index="0" name="friction" type="float">
</argument>
<description>
Set the body friction, from 0 (frictionless) to 1 (max friction).
</description>
</method>
<method name="set_gravity_scale">
<argument index="0" name="gravity_scale" type="float">
</argument>
<description>
Set the gravity factor. This factor multiplies gravity intensity just for this body.
</description>
</method>
<method name="set_linear_damp">
<argument index="0" name="linear_damp" type="float">
</argument>
<description>
Set the linear damp for this body. Default of -1, cannot be less than -1. If this value is different from -1, any linear damp derived from the world or areas will be overridden.
</description>
</method>
<method name="set_linear_velocity">
<argument index="0" name="linear_velocity" type="Vector3">
</argument>
<description>
Set the body linear velocity. Can be used sporadically, but [b]DON'T SET THIS IN EVERY FRAME[/b], because physics may be running in another thread and definitely runs at a different granularity. Use [method _integrate_forces] as your process loop if you want to have precise control of the body state.
</description>
</method>
<method name="set_mass">
<argument index="0" name="mass" type="float">
</argument>
<description>
Set the body mass.
</description>
</method>
<method name="set_max_contacts_reported">
<argument index="0" name="amount" type="int">
</argument>
<description>
Set the maximum contacts to report. Bodies can keep a log of the contacts with other bodies, this is enabled by setting the maximum amount of contacts reported to a number greater than 0.
</description>
</method>
<method name="set_mode">
<argument index="0" name="mode" type="int">
</argument>
<description>
Set the body mode, from the MODE_* enum. This allows to change to a static body or a character body.
</description>
</method>
<method name="set_sleeping">
<argument index="0" name="sleeping" type="bool">
</argument>
<description>
Set whether a body is sleeping or not. Sleeping bodies are not affected by forces until a collision or an [method apply_impulse] wakes them up. Until then, they behave like a static body.
</description>
</method>
<method name="set_use_continuous_collision_detection">
<argument index="0" name="enable" type="bool">
</argument>
<description>
Set the continuous collision detection mode from the enum CCD_MODE_*.
Continuous collision detection tries to predict where a moving body will collide, instead of moving it and correcting its movement if it collided. The first is more precise, and misses less impacts by small, fast-moving objects. The second is faster to compute, but can miss small, fast-moving objects.
</description>
</method>
<method name="set_use_custom_integrator">
<argument index="0" name="enable" type="bool">
</argument>
<description>
Pass true to disable the internal force integration (like gravity or air friction) for this body. Other than collision response, the body will only move as determined by the [method _integrate_forces] function, if defined.
</description>
</method>
<method name="set_weight">
<argument index="0" name="weight" type="float">
</argument>
<description>
Set the body weight given standard earth-weight (gravity 9.8).
</description>
</method>
</methods>
<signals>
<signal name="body_enter">
<argument index="0" name="body" type="Object">
</argument>
<description>
Emitted when a body enters into contact with this one. Contact monitor and contacts reported must be enabled for this to work.
</description>
</signal>
<signal name="body_enter_shape">
<argument index="0" name="body_id" type="int">
</argument>
<argument index="1" name="body" type="Object">
</argument>
<argument index="2" name="body_shape" type="int">
</argument>
<argument index="3" name="local_shape" type="int">
</argument>
<description>
Emitted when a body enters into contact with this one. Contact monitor and contacts reported must be enabled for this to work.
This signal not only receives the body that collided with this one, but also its [RID] (body_id), the shape index from the colliding body (body_shape), and the shape index from this body (local_shape) the other body collided with.
</description>
</signal>
<signal name="body_exit">
<argument index="0" name="body" type="Object">
</argument>
<description>
Emitted when a body shape exits contact with this one. Contact monitor and contacts reported must be enabled for this to work.
</description>
</signal>
<signal name="body_exit_shape">
<argument index="0" name="body_id" type="int">
</argument>
<argument index="1" name="body" type="Object">
</argument>
<argument index="2" name="body_shape" type="int">
</argument>
<argument index="3" name="local_shape" type="int">
</argument>
<description>
Emitted when a body shape exits contact with this one. Contact monitor and contacts reported must be enabled for this to work.
This signal not only receives the body that stopped colliding with this one, but also its [RID] (body_id), the shape index from the colliding body (body_shape), and the shape index from this body (local_shape) the other body stopped colliding with.
</description>
</signal>
<signal name="sleeping_state_changed">
<description>
Emitted when the body changes it's sleeping state. Either by sleeping or waking up.
</description>
</signal>
</signals>
<constants>
<constant name="MODE_STATIC" value="1">
Static mode. The body behaves like a [StaticBody], and can only move by user code.
</constant>
<constant name="MODE_KINEMATIC" value="3">
Kinematic body. The body behaves like a [KinematicBody], and can only move by user code.
</constant>
<constant name="MODE_RIGID" value="0">
Rigid body. This is the "natural" state of a rigid body. It is affected by forces, and can move, rotate, and be affected by user code.
</constant>
<constant name="MODE_CHARACTER" value="2">
Character body. This behaves like a rigid body, but can not rotate.
</constant>
</constants>
</class>
<class name="RigidBody2D" inherits="PhysicsBody2D" category="Core">
<brief_description>
Rigid body 2D node.
</brief_description>
<description>
Rigid body 2D node. This node is used for placing rigid bodies in the scene. It can contain a number of shapes, and also shift state between regular Rigid body, Kinematic, Character or Static.
Character mode forbids the node from being rotated. This node can have a custom force integrator function, for writing complex physics motion behavior per node.
As a warning, don't change this node position every frame or very often. Sporadic changes work fine, but physics runs at a different granularity (fixed hz) than usual rendering (process callback) and maybe even in a separate thread, so changing this from a process loop will yield strange behavior.
</description>
<methods>
<method name="_integrate_forces" qualifiers="virtual">
<argument index="0" name="state" type="Physics2DDirectBodyState">
</argument>
<description>
Called during physics processing, allowing you to read and safely modify the simulation state for the object. By default it works in addition to the usual physics behavior, but [method set_use_custom_integrator] allows you to disable the default behavior and do fully custom force integration for a body.
</description>
</method>
<method name="apply_impulse">
<argument index="0" name="pos" type="Vector2">
</argument>
<argument index="1" name="impulse" type="Vector2">
</argument>
<description>
Apply a positioned impulse (which will be affected by the body mass and shape). This is the equivalent of hitting a billiard ball with a cue: a force that is applied once, and only once.
</description>
</method>
<method name="get_angular_damp" qualifiers="const">
<return type="float">
</return>
<description>
Return the angular damp for this body.
</description>
</method>
<method name="get_angular_velocity" qualifiers="const">
<return type="float">
</return>
<description>
Return the body angular velocity. This changes by physics granularity. See [method set_angular_velocity].
</description>
</method>
<method name="get_applied_force" qualifiers="const">
<return type="Vector2">
</return>
<description>
Return the applied force vector.
</description>
</method>
<method name="get_bounce" qualifiers="const">
<return type="float">
</return>
<description>
Return the body bounciness.
</description>
</method>
<method name="get_colliding_bodies" qualifiers="const">
<return type="Array">
</return>
<description>
Return a list of the bodies colliding with this one.
</description>
</method>
<method name="get_continuous_collision_detection_mode" qualifiers="const">
<return type="int">
</return>
<description>
Return whether this body is using continuous collision detection.
</description>
</method>
<method name="get_friction" qualifiers="const">
<return type="float">
</return>
<description>
Return the body friction.
</description>
</method>
<method name="get_gravity_scale" qualifiers="const">
<return type="float">
</return>
<description>
Return the gravity factor.
</description>
</method>
<method name="get_linear_damp" qualifiers="const">
<return type="float">
</return>
<description>
Return the linear damp for this body.
</description>
</method>
<method name="get_linear_velocity" qualifiers="const">
<return type="Vector2">
</return>
<description>
Return the body linear velocity. This changes by physics granularity. See [method set_linear_velocity].
</description>
</method>
<method name="get_mass" qualifiers="const">
<return type="float">
</return>
<description>
Return the body mass.
</description>
</method>
<method name="get_max_contacts_reported" qualifiers="const">
<return type="int">
</return>
<description>
Return the maximum contacts that can be reported. See [method set_max_contacts_reported].
</description>
</method>
<method name="get_mode" qualifiers="const">
<return type="int">
</return>
<description>
Return the current body mode, see [method set_mode].
</description>
</method>
<method name="get_weight" qualifiers="const">
<return type="float">
</return>
<description>
Return the body weight given standard earth-weight (gravity 9.8).
</description>
</method>
<method name="is_able_to_sleep" qualifiers="const">
<return type="bool">
</return>
<description>
Return true if the body has the ability to fall asleep when not moving. See [method set_can_sleep].
</description>
</method>
<method name="is_contact_monitor_enabled" qualifiers="const">
<return type="bool">
</return>
<description>
Return whether contact monitoring is enabled.
</description>
</method>
<method name="is_sleeping" qualifiers="const">
<return type="bool">
</return>
<description>
Return whether the body is sleeping.
</description>
</method>
<method name="is_using_custom_integrator">
<return type="bool">
</return>
<description>
Return true if the body is not doing any built-in force integration.
</description>
</method>
<method name="set_angular_damp">
<argument index="0" name="angular_damp" type="float">
</argument>
<description>
Set the angular damp for this body. If this value is different from -1, any angular damp derived from the world or areas will be overridden.
</description>
</method>
<method name="set_angular_velocity">
<argument index="0" name="angular_velocity" type="float">
</argument>
<description>
Set the body angular velocity. Can be used sporadically, but [b]DON'T SET THIS IN EVERY FRAME[/b], because physics may be running in another thread and definitely runs at a different granularity. Use [method _integrate_forces] as your process loop if you want to have precise control of the body state.
</description>
</method>
<method name="set_applied_force">
<argument index="0" name="force" type="Vector2">
</argument>
<description>
Set the applied force vector. This is the equivalent of pushing a box over the ground: the force applied is applied constantly.
</description>
</method>
<method name="set_axis_velocity">
<argument index="0" name="axis_velocity" type="Vector2">
</argument>
<description>
Set an axis velocity. The velocity in the given vector axis will be set as the given vector length. This is useful for jumping behavior.
</description>
</method>
<method name="set_bounce">
<argument index="0" name="bounce" type="float">
</argument>
<description>
Set the body bounciness, from 0 (no bounce) to 1 (full bounce).
</description>
</method>
<method name="set_can_sleep">
<argument index="0" name="able_to_sleep" type="bool">
</argument>
<description>
Set the body ability to fall asleep when not moving. This saves an enormous amount of processor time when there are plenty of rigid bodies (non static) in a scene.
Sleeping bodies are not affected by forces until a collision or an [method apply_impulse] / [method set_applied_force] wakes them up. Until then, they behave like a static body.
</description>
</method>
<method name="set_contact_monitor">
<argument index="0" name="enabled" type="bool">
</argument>
<description>
Enable contact monitoring. This allows the body to emit signals when it collides with another.
</description>
</method>
<method name="set_continuous_collision_detection_mode">
<argument index="0" name="mode" type="int">
</argument>
<description>
Set the continuous collision detection mode from the enum CCD_MODE_*.
Continuous collision detection tries to predict where a moving body will collide, instead of moving it and correcting its movement if it collided. The first is more precise, and misses less impacts by small, fast-moving objects. The second is faster to compute, but can miss small, fast-moving objects.
</description>
</method>
<method name="set_friction">
<argument index="0" name="friction" type="float">
</argument>
<description>
Set the body friction, from 0 (frictionless) to 1 (full friction).
</description>
</method>
<method name="set_gravity_scale">
<argument index="0" name="gravity_scale" type="float">
</argument>
<description>
Set the gravity factor. This factor multiplies gravity intensity just for this body.
</description>
</method>
<method name="set_linear_damp">
<argument index="0" name="linear_damp" type="float">
</argument>
<description>
Set the linear damp for this body. If this value is different from -1, any linear damp derived from the world or areas will be overridden.
</description>
</method>
<method name="set_linear_velocity">
<argument index="0" name="linear_velocity" type="Vector2">
</argument>
<description>
Set the body linear velocity. Can be used sporadically, but [b]DON'T SET THIS IN EVERY FRAME[/b], because physics may be running in another thread and definitely runs at a different granularity. Use [method _integrate_forces] as your process loop if you want to have precise control of the body state.
</description>
</method>
<method name="set_mass">
<argument index="0" name="mass" type="float">
</argument>
<description>
Set the body mass.
</description>
</method>
<method name="set_max_contacts_reported">
<argument index="0" name="amount" type="int">
</argument>
<description>
Set the maximum contacts to report. Bodies can keep a log of the contacts with other bodies, this is enabled by setting the maximum amount of contacts reported to a number greater than 0.
</description>
</method>
<method name="set_mode">
<argument index="0" name="mode" type="int">
</argument>
<description>
Set the body mode, from the MODE_* enum. This allows to change to a static body or a character body.
</description>
</method>
<method name="set_sleeping">
<argument index="0" name="sleeping" type="bool">
</argument>
<description>
Set whether a body is sleeping or not. Sleeping bodies are not affected by forces until a collision or an [method apply_impulse] / [method set_applied_force] wakes them up. Until then, they behave like a static body.
</description>
</method>
<method name="set_use_custom_integrator">
<argument index="0" name="enable" type="bool">
</argument>
<description>
Pass true to disable the internal force integration (like gravity or air friction) for this body. Other than collision response, the body will only move as determined by the [method _integrate_forces] function, if defined.
</description>
</method>
<method name="set_weight">
<argument index="0" name="weight" type="float">
</argument>
<description>
Set the body weight given standard earth-weight (gravity 9.8). Not really useful for 2D since most measures for this node are in pixels.
</description>
</method>
<method name="test_motion">
<return type="bool">
</return>
<argument index="0" name="motion" type="Vector2">
</argument>
<argument index="1" name="margin" type="float" default="0.08">
</argument>
<argument index="2" name="result" type="Physics2DTestMotionResult" default="NULL">
</argument>
<description>
Return whether the body would collide, if it tried to move in the given vector. This method allows two extra parameters: A margin, which increases slightly the size of the shapes involved in the collision detection, and an object of type [Physics2DTestMotionResult], which will store additional information about the collision (should there be one).
</description>
</method>
</methods>
<signals>
<signal name="body_enter">
<argument index="0" name="body" type="Object">
</argument>
<description>
Emitted when a body enters into contact with this one. Contact monitor and contacts reported must be enabled for this to work.
</description>
</signal>
<signal name="body_enter_shape">
<argument index="0" name="body_id" type="int">
</argument>
<argument index="1" name="body" type="Object">
</argument>
<argument index="2" name="body_shape" type="int">
</argument>
<argument index="3" name="local_shape" type="int">
</argument>
<description>
Emitted when a body enters into contact with this one. Contact monitor and contacts reported must be enabled for this to work.
This signal not only receives the body that collided with this one, but also its [RID] (body_id), the shape index from the colliding body (body_shape), and the shape index from this body (local_shape) the other body collided with.
</description>
</signal>
<signal name="body_exit">
<argument index="0" name="body" type="Object">
</argument>
<description>
Emitted when a body exits contact with this one. Contact monitor and contacts reported must be enabled for this to work.
</description>
</signal>
<signal name="body_exit_shape">
<argument index="0" name="body_id" type="int">
</argument>
<argument index="1" name="body" type="Object">
</argument>
<argument index="2" name="body_shape" type="int">
</argument>
<argument index="3" name="local_shape" type="int">
</argument>
<description>
Emitted when a body shape exits contact with this one. Contact monitor and contacts reported must be enabled for this to work.
This signal not only receives the body that stopped colliding with this one, but also its [RID] (body_id), the shape index from the colliding body (body_shape), and the shape index from this body (local_shape) the other body stopped colliding with.
</description>
</signal>
<signal name="sleeping_state_changed">
<description>
Emitted when the body changes it's sleeping state. Either by sleeping or waking up.
</description>
</signal>
</signals>
<constants>
<constant name="MODE_STATIC" value="1">
Static mode. The body behaves like a [StaticBody2D], and can only move by user code.
</constant>
<constant name="MODE_KINEMATIC" value="3">
Kinematic body. The body behaves like a [KinematicBody2D], and can only move by user code.
</constant>
<constant name="MODE_RIGID" value="0">
Rigid body. This is the "natural" state of a rigid body. It is affected by forces, and can move, rotate, and be affected by user code.
</constant>
<constant name="MODE_CHARACTER" value="2">
Character body. This behaves like a rigid body, but can not rotate.
</constant>
<constant name="CCD_MODE_DISABLED" value="0">
Disables continuous collision detection. This is the fastest way to detect body collisions, but can miss small, fast-moving objects.
</constant>
<constant name="CCD_MODE_CAST_RAY" value="1">
Enables continuous collision detection by raycasting. It is faster than shapecasting, but less precise.
</constant>
<constant name="CCD_MODE_CAST_SHAPE" value="2">
Enables continuous collision detection by shapecasting. It is the slowest CCD method, and the most precise.
</constant>
</constants>
</class>
<class name="Room" inherits="VisualInstance" category="Core">
<brief_description>
Room data resource.
</brief_description>
<description>
Room contains the data to define the bounds of a scene (using a BSP Tree). It is instanced by a [VisualInstance] node to create rooms. See that class documentation for more information about rooms.
</description>
<methods>
<method name="compute_room_from_subtree">
<description>
</description>
</method>
<method name="get_room" qualifiers="const">
<return type="Room">
</return>
<description>
</description>
</method>
<method name="is_simulating_acoustics" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="set_room">
<argument index="0" name="room" type="Room">
</argument>
<description>
</description>
</method>
<method name="set_simulate_acoustics">
<argument index="0" name="enable" type="bool">
</argument>
<description>
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="RoomBounds" inherits="Resource" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
<method name="get_bounds" qualifiers="const">
<return type="Dictionary">
</return>
<description>
</description>
</method>
<method name="get_geometry_hint" qualifiers="const">
<return type="Vector3Array">
</return>
<description>
</description>
</method>
<method name="regenerate_bsp">
<description>
</description>
</method>
<method name="regenerate_bsp_cubic">
<description>
</description>
</method>
<method name="set_bounds">
<argument index="0" name="bsp_tree" type="Dictionary">
</argument>
<description>
</description>
</method>
<method name="set_geometry_hint">
<argument index="0" name="triangles" type="Vector3Array">
</argument>
<description>
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="Sample" inherits="Resource" category="Core">
<brief_description>
Audio sample (sound) class.
</brief_description>
<description>
Sample provides an audio sample class, containing audio data, together with some information for playback, such as format, mix rate and loop. It is used by sound playback routines.
</description>
<methods>
<method name="create">
<argument index="0" name="format" type="int">
</argument>
<argument index="1" name="stereo" type="bool">
</argument>
<argument index="2" name="length" type="int">
</argument>
<description>
Create new data for the sample, with format (see FORMAT_* constants), stereo hint, and length in samples (not bytes).
Calling this method overrides previously existing data. Stereo samples are interleaved pairs of left and right points (in that order), but count as one sample for length purposes.
</description>
</method>
<method name="get_data" qualifiers="const">
<return type="RawArray">
</return>
<description>
Return sample data as little endian.
</description>
</method>
<method name="get_format" qualifiers="const">
<return type="int">
</return>
<description>
Return the sample format.
</description>
</method>
<method name="get_length" qualifiers="const">
<return type="int">
</return>
<description>
Return the sample length in samples. Stereo samples count as one, even if they are made of a left and a right sample.
</description>
</method>
<method name="get_loop_begin" qualifiers="const">
<return type="int">
</return>
<description>
Return the loop begin position.
</description>
</method>
<method name="get_loop_end" qualifiers="const">
<return type="int">
</return>
<description>
Return the loop end position.
</description>
</method>
<method name="get_loop_format" qualifiers="const">
<return type="int">
</return>
<description>
Return the loop format.
</description>
</method>
<method name="get_mix_rate" qualifiers="const">
<return type="int">
</return>
<description>
Return the mix rate for the sample.
</description>
</method>
<method name="is_stereo" qualifiers="const">
<return type="bool">
</return>
<description>
Return whether the current sample was created as stereo.
</description>
</method>
<method name="set_data">
<argument index="0" name="data" type="RawArray">
</argument>
<description>
Set sample data. Data must be little endian, no matter the host platform, and exactly as long as to fit all samples. The length of this array can be calculated as follows:
Get the sample length ([method get_length]).
If the sample format is FORMAT_PCM16, multiply it by 2.
If the sample format is FORMAT_IMA_ADPCM, divide it by 2 (rounding any fraction up), then add 4.
If the sample is stereo ([method is_stereo]), multiply it by 2.
</description>
</method>
<method name="set_loop_begin">
<argument index="0" name="pos" type="int">
</argument>
<description>
Set the loop begin position. It must be a valid frame and less than the loop end position.
</description>
</method>
<method name="set_loop_end">
<argument index="0" name="pos" type="int">
</argument>
<description>
Set the loop end position. It must be a valid frame and greater than the loop begin position.
</description>
</method>
<method name="set_loop_format">
<argument index="0" name="format" type="int">
</argument>
<description>
Set the loop format (use LOOP_* constants as argument).
</description>
</method>
<method name="set_mix_rate">
<argument index="0" name="hz" type="int">
</argument>
<description>
Set the mix rate for the sample (expected playback frequency).
</description>
</method>
</methods>
<constants>
<constant name="FORMAT_PCM8" value="0">
8-bits signed PCM audio.
</constant>
<constant name="FORMAT_PCM16" value="1">
16-bits signed little endian PCM audio.
</constant>
<constant name="FORMAT_IMA_ADPCM" value="2">
IMA-ADPCM Audio.
</constant>
<constant name="LOOP_NONE" value="0">
No loop enabled.
</constant>
<constant name="LOOP_FORWARD" value="1">
Forward looping (when playback reaches loop end, goes back to loop begin).
</constant>
<constant name="LOOP_PING_PONG" value="2">
Ping-pong looping (when playback reaches loop end, plays backward until loop begin). Not available in all platforms.
</constant>
</constants>
</class>
<class name="SampleLibrary" inherits="Resource" category="Core">
<brief_description>
Library that contains a collection of samples.
</brief_description>
<description>
Library that contains a collection of [Sample], each identified by a text ID. This is used as a data container for the majority of the SamplePlayer classes and derivatives.
</description>
<methods>
<method name="add_sample">
<argument index="0" name="name" type="String">
</argument>
<argument index="1" name="sample" type="Sample">
</argument>
<description>
Add a sample to the library, with a given text ID.
</description>
</method>
<method name="get_sample" qualifiers="const">
<return type="Sample">
</return>
<argument index="0" name="name" type="String">
</argument>
<description>
Return the sample from the library matching the given text ID. Return null if the sample is not found.
</description>
</method>
<method name="has_sample" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="name" type="String">
</argument>
<description>
Return true if the sample text ID exists in the library.
</description>
</method>
<method name="remove_sample">
<argument index="0" name="name" type="String">
</argument>
<description>
Remove the sample matching the given text ID.
</description>
</method>
<method name="sample_get_pitch_scale" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="name" type="String">
</argument>
<description>
Return the pitch scale for the given sample.
</description>
</method>
<method name="sample_get_volume_db" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="name" type="String">
</argument>
<description>
Return the volume (in dB) for the given sample.
</description>
</method>
<method name="sample_set_pitch_scale">
<argument index="0" name="name" type="String">
</argument>
<argument index="1" name="pitch" type="float">
</argument>
<description>
Set the pitch scale for the given sample.
</description>
</method>
<method name="sample_set_volume_db">
<argument index="0" name="name" type="String">
</argument>
<argument index="1" name="db" type="float">
</argument>
<description>
Set the volume (in dB) for the given sample.
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="SamplePlayer" inherits="Node" category="Core">
<brief_description>
Sample Player node.
</brief_description>
<description>
SamplePlayer is a [Node] meant for simple sample playback. A library of samples is loaded and played back "as is", without positioning or anything.
</description>
<methods>
<method name="get_chorus" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="voice" type="int">
</argument>
<description>
Return the current chorus send level for a given voice.
</description>
</method>
<method name="get_default_chorus" qualifiers="const">
<return type="float">
</return>
<description>
Return the default chorus send level of the player.
</description>
</method>
<method name="get_default_filter_cutoff" qualifiers="const">
<return type="float">
</return>
<description>
Return the default filter cutoff frequency of the player.
</description>
</method>
<method name="get_default_filter_gain" qualifiers="const">
<return type="float">
</return>
<description>
Return the default filter gain of the player.
</description>
</method>
<method name="get_default_filter_resonance" qualifiers="const">
<return type="float">
</return>
<description>
Return the default filter resonance of the player.
</description>
</method>
<method name="get_default_filter_type" qualifiers="const">
<return type="int">
</return>
<description>
Return the default filter type in use (see FILTER_* constants) for the player.
</description>
</method>
<method name="get_default_pan" qualifiers="const">
<return type="float">
</return>
<description>
Return the default panning of the player.
</description>
</method>
<method name="get_default_pan_depth" qualifiers="const">
<return type="float">
</return>
<description>
Return the default pan depth of the player.
</description>
</method>
<method name="get_default_pan_height" qualifiers="const">
<return type="float">
</return>
<description>
Return the default pan height of the player.
</description>
</method>
<method name="get_default_pitch_scale" qualifiers="const">
<return type="float">
</return>
<description>
Return the default pitch scale of the player.
</description>
</method>
<method name="get_default_reverb" qualifiers="const">
<return type="float">
</return>
<description>
Return the default reverberation send level of the player.
</description>
</method>
<method name="get_default_reverb_room" qualifiers="const">
<return type="int">
</return>
<description>
Return the default reverberation room type of the player (see REVERB_* enum).
</description>
</method>
<method name="get_default_volume" qualifiers="const">
<return type="float">
</return>
<description>
Return the default volume (on a linear scale) of the player.
</description>
</method>
<method name="get_default_volume_db" qualifiers="const">
<return type="float">
</return>
<description>
Return the default volume (in dB) of the player.
</description>
</method>
<method name="get_filter_cutoff" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="voice" type="int">
</argument>
<description>
Return the current filter cutoff frequency for a given voice.
</description>
</method>
<method name="get_filter_gain" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="voice" type="int">
</argument>
<description>
Return the current filter gain for a given voice.
</description>
</method>
<method name="get_filter_resonance" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="voice" type="int">
</argument>
<description>
Return the current filter resonance for a given voice.
</description>
</method>
<method name="get_filter_type" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="voice" type="int">
</argument>
<description>
Return the current filter type in use (see FILTER_* constants) for a given voice.
</description>
</method>
<method name="get_mix_rate" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="voice" type="int">
</argument>
<description>
Return the current mix rate for a given voice.
</description>
</method>
<method name="get_pan" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="voice" type="int">
</argument>
<description>
Return the current panning for a given voice.
</description>
</method>
<method name="get_pan_depth" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="voice" type="int">
</argument>
<description>
Return the current pan depth for a given voice.
</description>
</method>
<method name="get_pan_height" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="voice" type="int">
</argument>
<description>
Return the current pan height for a given voice.
</description>
</method>
<method name="get_pitch_scale" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="voice" type="int">
</argument>
<description>
Return the current pitch scale for a given voice.
</description>
</method>
<method name="get_polyphony" qualifiers="const">
<return type="int">
</return>
<description>
Return the polyphony of the player.
</description>
</method>
<method name="get_reverb" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="voice" type="int">
</argument>
<description>
Return the current reverberation send level for a given voice.
</description>
</method>
<method name="get_reverb_room" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="voice" type="int">
</argument>
<description>
Return the current reverberation room type for a given voice (see REVERB_* enum).
</description>
</method>
<method name="get_sample_library" qualifiers="const">
<return type="SampleLibrary">
</return>
<description>
Return the sample library used by the player.
</description>
</method>
<method name="get_volume" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="voice" type="int">
</argument>
<description>
Return the current volume (on a linear scale) for a given voice.
</description>
</method>
<method name="get_volume_db" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="voice" type="int">
</argument>
<description>
Return the current volume (in dB) for a given voice.
</description>
</method>
<method name="is_active" qualifiers="const">
<return type="bool">
</return>
<description>
Return whether the player is currently active.
</description>
</method>
<method name="is_voice_active" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="voice" type="int">
</argument>
<description>
Return whether the given voice is currently active.
</description>
</method>
<method name="play">
<return type="int">
</return>
<argument index="0" name="name" type="String">
</argument>
<argument index="1" name="unique" type="bool" default="false">
</argument>
<description>
Play a sample referenced by its name.
Optionally, the playback can be made "unique" to force stopping all other samples currently played. The voices allocated for playback will then be returned.
</description>
</method>
<method name="set_chorus">
<argument index="0" name="voice" type="int">
</argument>
<argument index="1" name="send" type="float">
</argument>
<description>
Set the chorus send level of a voice (from 0 to 1.0). For setting chorus parameters, see [AudioServer].
</description>
</method>
<method name="set_default_chorus">
<argument index="0" name="send" type="float">
</argument>
<description>
Set the default chorus send level of the player (from 0 to 1.0). For setting chorus parameters, see [AudioServer].
</description>
</method>
<method name="set_default_filter">
<argument index="0" name="type" type="int">
</argument>
<argument index="1" name="cutoff_hz" type="float">
</argument>
<argument index="2" name="resonance" type="float">
</argument>
<argument index="3" name="gain" type="float" default="0">
</argument>
<description>
Set the default filter for the player, using the given type (see FILTER_* constants), cutoff frequency (from 20 to 16,384 Hz) and resonance (from 0 to 4.0).
Optionally, a gain can also be given (from 0 to 2.0).
</description>
</method>
<method name="set_default_pan">
<argument index="0" name="pan" type="float">
</argument>
<argument index="1" name="depth" type="float" default="0">
</argument>
<argument index="2" name="height" type="float" default="0">
</argument>
<description>
Set the default panning of the player. Panning goes from -1.0 (left) to +1.0 (right).
Optionally, for hardware than support 3D sound, one can also set depth and height (also in range -1.0 to +1.0).
</description>
</method>
<method name="set_default_pitch_scale">
<argument index="0" name="ratio" type="float">
</argument>
<description>
Set the default pitch scale of the player. A ratio of 1.0 is the normal scale.
</description>
</method>
<method name="set_default_reverb">
<argument index="0" name="room_type" type="int">
</argument>
<argument index="1" name="send" type="float">
</argument>
<description>
Set the default reverberation type (see REVERB_* constants) and send level (from 0 to 1.0) of the player.
</description>
</method>
<method name="set_default_volume">
<argument index="0" name="volume" type="float">
</argument>
<description>
Set the default volume of the player using a linear scale.
The "volume" argument should be a positive factor ranging from 0.0 (mute) up to 16.0 (i.e. 24 dB).
A factor of 1.0 means that the voice will be played at normal system volume. Factors above 1.0 might be limited by the platform's audio output.
</description>
</method>
<method name="set_default_volume_db">
<argument index="0" name="db" type="float">
</argument>
<description>
Set the default volume of the player in dB.
The "dB" argument can range from -80 to 24 dB, 0 dB being the maximum volume. Every 6 dB (resp. -6 dB), the volume is increased (resp. reduced) by half.
</description>
</method>
<method name="set_filter">
<argument index="0" name="voice" type="int">
</argument>
<argument index="1" name="type" type="int">
</argument>
<argument index="2" name="cutoff_hz" type="float">
</argument>
<argument index="3" name="resonance" type="float">
</argument>
<argument index="4" name="gain" type="float" default="0">
</argument>
<description>
Set the filter for a given voice, using the given type (see FILTER_* constants), cutoff frequency (from 20 to 16,384 Hz) and resonance (from 0 to 4.0).
Optionally, a gain can also be given (from 0 to 2.0).
</description>
</method>
<method name="set_mix_rate">
<argument index="0" name="voice" type="int">
</argument>
<argument index="1" name="hz" type="int">
</argument>
<description>
Set the mix rate (in Hz) of a given voice.
</description>
</method>
<method name="set_pan">
<argument index="0" name="voice" type="int">
</argument>
<argument index="1" name="pan" type="float">
</argument>
<argument index="2" name="depth" type="float" default="0">
</argument>
<argument index="3" name="height" type="float" default="0">
</argument>
<description>
Set the panning of a voice. Panning goes from -1.0 (left) to +1.0 (right).
Optionally, for hardware than support 3D sound, one can also set depth and height (also in range -1.0 to +1.0).
</description>
</method>
<method name="set_pitch_scale">
<argument index="0" name="voice" type="int">
</argument>
<argument index="1" name="ratio" type="float">
</argument>
<description>
Set the pitch scale of a given voice. A ratio of 1.0 is the normal scale.
</description>
</method>
<method name="set_polyphony">
<argument index="0" name="max_voices" type="int">
</argument>
<description>
Set the polyphony of the player (maximum amount of simultaneous voices).
</description>
</method>
<method name="set_reverb">
<argument index="0" name="voice" type="int">
</argument>
<argument index="1" name="room_type" type="int">
</argument>
<argument index="2" name="send" type="float">
</argument>
<description>
Set the reverberation type (see REVERB_* constants) and send level (from 0 to 1.0) of a voice.
</description>
</method>
<method name="set_sample_library">
<argument index="0" name="library" type="SampleLibrary">
</argument>
<description>
Set the sample library for the player.
</description>
</method>
<method name="set_volume">
<argument index="0" name="voice" type="int">
</argument>
<argument index="1" name="volume" type="float">
</argument>
<description>
Set the volume of a given voice using a linear scale.
The "volume" argument should be a positive factor ranging from 0.0 (mute) up to 16.0 (i.e. 24 dB).
A factor of 1.0 means that the voice will be played at normal system volume. Factors above 1.0 might be limited by the platform's audio output.
</description>
</method>
<method name="set_volume_db">
<argument index="0" name="voice" type="int">
</argument>
<argument index="1" name="db" type="float">
</argument>
<description>
Set the volume of a given voice in dB.
The "dB" argument can range from -80 to 24 dB, 0 dB being the maximum volume. Every 6 dB (resp. -6 dB), the volume is increased (resp. reduced) by half.
</description>
</method>
<method name="stop">
<argument index="0" name="voice" type="int">
</argument>
<description>
Stop a given voice.
</description>
</method>
<method name="stop_all">
<description>
Stop all playing voices.
</description>
</method>
</methods>
<constants>
<constant name="FILTER_NONE" value="0">
Filter is disabled for voice.
</constant>
<constant name="FILTER_LOWPASS" value="1">
Low-pass filter is used for voice.
</constant>
<constant name="FILTER_BANDPASS" value="2">
Band-pass filter is used for voice.
</constant>
<constant name="FILTER_HIPASS" value="3">
High-pass filter is used for voice.
</constant>
<constant name="FILTER_NOTCH" value="4">
Notch (band reject) filter is used for voice.
</constant>
<constant name="FILTER_PEAK" value="5">
Peak (exclusive band) filter is used for voice.
</constant>
<constant name="FILTER_BANDLIMIT" value="6">
Band-limit filter is used for voice, in this case resonance is the high-pass cutoff. A band-limit filter has a different frequency response than a notch filter, but otherwise both are band-rejecting filters.
</constant>
<constant name="FILTER_LOW_SHELF" value="7">
Low-shelf filter is used for voice.
</constant>
<constant name="FILTER_HIGH_SHELF" value="8">
High-shelf filter is used for voice.
</constant>
<constant name="REVERB_SMALL" value="0">
Small reverberation room (house room).
</constant>
<constant name="REVERB_MEDIUM" value="1">
Medium reverberation room (street)
</constant>
<constant name="REVERB_LARGE" value="2">
Large reverberation room (theatre)
</constant>
<constant name="REVERB_HALL" value="3">
Huge reverberation room (cathedral, warehouse).
</constant>
<constant name="INVALID_VOICE_ID" value="-1">
Value returned if the voice ID is invalid.
</constant>
</constants>
</class>
<class name="SamplePlayer2D" inherits="SoundPlayer2D" category="Core">
<brief_description>
Sample player for positional 2D Sound.
</brief_description>
<description>
Sample player for positional 2D Sound. Plays sound samples positionally, left and right depending on the distance/place on the screen.
</description>
<methods>
<method name="get_polyphony" qualifiers="const">
<return type="int">
</return>
<description>
Return the polyphony of the player.
</description>
</method>
<method name="get_random_pitch_scale" qualifiers="const">
<return type="float">
</return>
<description>
Return the amplitude used for random pitch scale variations.
</description>
</method>
<method name="get_sample_library" qualifiers="const">
<return type="SampleLibrary">
</return>
<description>
Return the sample library used by the player.
</description>
</method>
<method name="is_voice_active" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="voice" type="int">
</argument>
<description>
Return whether a voice is still active or has stopped playing.
</description>
</method>
<method name="play">
<return type="int">
</return>
<argument index="0" name="sample" type="String">
</argument>
<argument index="1" name="voice" type="int" default="-2">
</argument>
<description>
Play a sample. An internal polyphony ID can optionally be passed, or defaults to NEXT_VOICE.
Return a voice ID which can be used to modify the voice parameters, or INVALID_VOICE if the voice or sample are invalid.
</description>
</method>
<method name="set_polyphony">
<argument index="0" name="max_voices" type="int">
</argument>
<description>
Set the polyphony of the player (maximum amount of simultaneous voices).
</description>
</method>
<method name="set_random_pitch_scale">
<argument index="0" name="val" type="float">
</argument>
<description>
Set the amplitude for random pitch scale variations. If different from zero, the pitch scale will vary randomly around 1.0 in a range defined by val.
The actual pitch scale will be, with "variation" ranging from -val to val:
* variation &gt; 0: 1.0 + variation
* variation &lt; 0: 1.0/(1.0 - variation)
</description>
</method>
<method name="set_sample_library">
<argument index="0" name="library" type="SampleLibrary">
</argument>
<description>
Set the sample library for the player.
</description>
</method>
<method name="stop_all">
<description>
Stop all playing voices.
</description>
</method>
<method name="stop_voice">
<argument index="0" name="voice" type="int">
</argument>
<description>
Stop a given voice.
</description>
</method>
<method name="voice_set_pitch_scale">
<argument index="0" name="voice" type="int">
</argument>
<argument index="1" name="ratio" type="float">
</argument>
<description>
Change the pitch scale of a currently playing voice.
</description>
</method>
<method name="voice_set_volume_scale_db">
<argument index="0" name="voice" type="int">
</argument>
<argument index="1" name="db" type="float">
</argument>
<description>
Change the volume scale (in dB) of a currently playing voice.
</description>
</method>
</methods>
<constants>
<constant name="INVALID_VOICE" value="-1">
Value returned if the voice or sample are invalid.
</constant>
<constant name="NEXT_VOICE" value="-2">
Default voice for the play method. Corresponds to the first voice following the last used voice.
</constant>
</constants>
</class>
<class name="SceneState" inherits="Reference" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
<method name="get_connection_binds" qualifiers="const">
<return type="Array">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
</description>
</method>
<method name="get_connection_count" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_connection_flags" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
</description>
</method>
<method name="get_connection_method" qualifiers="const">
<return type="String">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
</description>
</method>
<method name="get_connection_signal" qualifiers="const">
<return type="String">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
</description>
</method>
<method name="get_connection_source" qualifiers="const">
<return type="NodePath">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
</description>
</method>
<method name="get_connection_target" qualifiers="const">
<return type="NodePath">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
</description>
</method>
<method name="get_node_count" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_node_groups" qualifiers="const">
<return type="StringArray">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
</description>
</method>
<method name="get_node_instance" qualifiers="const">
<return type="PackedScene">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
</description>
</method>
<method name="get_node_instance_placeholder" qualifiers="const">
<return type="String">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
</description>
</method>
<method name="get_node_name" qualifiers="const">
<return type="String">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
</description>
</method>
<method name="get_node_owner_path" qualifiers="const">
<return type="NodePath">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
</description>
</method>
<method name="get_node_path" qualifiers="const">
<return type="NodePath">
</return>
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="for_parent" type="bool" default="false">
</argument>
<description>
</description>
</method>
<method name="get_node_property_count" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
</description>
</method>
<method name="get_node_property_name" qualifiers="const">
<return type="String">
</return>
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="prop_idx" type="int">
</argument>
<description>
</description>
</method>
<method name="get_node_property_value" qualifiers="const">
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="prop_idx" type="int">
</argument>
<description>
</description>
</method>
<method name="get_node_type" qualifiers="const">
<return type="String">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
</description>
</method>
<method name="is_node_instance_placeholder" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="SceneTree" inherits="MainLoop" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
<method name="call_group">
<argument index="0" name="flags" type="int">
</argument>
<argument index="1" name="group" type="String">
</argument>
<argument index="2" name="method" type="String">
</argument>
<argument index="3" name="arg0" type="var" default="NULL">
</argument>
<argument index="4" name="arg1" type="var" default="NULL">
</argument>
<argument index="5" name="arg2" type="var" default="NULL">
</argument>
<argument index="6" name="arg3" type="var" default="NULL">
</argument>
<argument index="7" name="arg4" type="var" default="NULL">
</argument>
<description>
</description>
</method>
<method name="change_scene">
<return type="int">
</return>
<argument index="0" name="path" type="String">
</argument>
<description>
</description>
</method>
<method name="change_scene_to">
<return type="int">
</return>
<argument index="0" name="packed_scene" type="PackedScene">
</argument>
<description>
</description>
</method>
<method name="get_current_scene" qualifiers="const">
<return type="Node">
</return>
<description>
</description>
</method>
<method name="get_edited_scene_root" qualifiers="const">
<return type="Object">
</return>
<description>
</description>
</method>
<method name="get_frame" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_node_count" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_nodes_in_group">
<return type="Array">
</return>
<argument index="0" name="group" type="String">
</argument>
<description>
</description>
</method>
<method name="get_root" qualifiers="const">
<return type="Viewport">
</return>
<description>
</description>
</method>
<method name="has_group" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="name" type="String">
</argument>
<description>
</description>
</method>
<method name="is_debugging_collisions_hint" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="is_debugging_navigation_hint" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="is_editor_hint" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="is_paused" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="notify_group">
<argument index="0" name="call_flags" type="int">
</argument>
<argument index="1" name="group" type="String">
</argument>
<argument index="2" name="notification" type="int">
</argument>
<description>
</description>
</method>
<method name="queue_delete">
<argument index="0" name="obj" type="Object">
</argument>
<description>
</description>
</method>
<method name="quit">
<description>
</description>
</method>
<method name="reload_current_scene">
<return type="int">
</return>
<description>
</description>
</method>
<method name="set_auto_accept_quit">
<argument index="0" name="enabled" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_current_scene">
<argument index="0" name="child_node" type="Node">
</argument>
<description>
</description>
</method>
<method name="set_debug_collisions_hint">
<argument index="0" name="enable" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_debug_navigation_hint">
<argument index="0" name="enable" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_edited_scene_root">
<argument index="0" name="scene" type="Object">
</argument>
<description>
</description>
</method>
<method name="set_editor_hint">
<argument index="0" name="enable" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_group">
<argument index="0" name="call_flags" type="int">
</argument>
<argument index="1" name="group" type="String">
</argument>
<argument index="2" name="property" type="String">
</argument>
<argument index="3" name="value" type="var">
</argument>
<description>
</description>
</method>
<method name="set_input_as_handled">
<description>
</description>
</method>
<method name="set_pause">
<argument index="0" name="enable" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_screen_stretch">
<argument index="0" name="mode" type="int">
</argument>
<argument index="1" name="aspect" type="int">
</argument>
<argument index="2" name="minsize" type="Vector2">
</argument>
<description>
</description>
</method>
</methods>
<signals>
<signal name="fixed_frame">
<description>
</description>
</signal>
<signal name="idle_frame">
<description>
</description>
</signal>
<signal name="node_removed">
<argument index="0" name="node" type="Object">
</argument>
<description>
</description>
</signal>
<signal name="screen_resized">
<description>
</description>
</signal>
<signal name="tree_changed">
<description>
</description>
</signal>
</signals>
<constants>
<constant name="GROUP_CALL_DEFAULT" value="0">
</constant>
<constant name="GROUP_CALL_REVERSE" value="1">
</constant>
<constant name="GROUP_CALL_REALTIME" value="2">
</constant>
<constant name="GROUP_CALL_UNIQUE" value="4">
</constant>
<constant name="STRETCH_MODE_DISABLED" value="0">
</constant>
<constant name="STRETCH_MODE_2D" value="1">
</constant>
<constant name="STRETCH_MODE_VIEWPORT" value="2">
</constant>
<constant name="STRETCH_ASPECT_IGNORE" value="0">
</constant>
<constant name="STRETCH_ASPECT_KEEP" value="1">
</constant>
<constant name="STRETCH_ASPECT_KEEP_WIDTH" value="2">
</constant>
<constant name="STRETCH_ASPECT_KEEP_HEIGHT" value="3">
</constant>
</constants>
</class>
<class name="Script" inherits="Resource" category="Core">
<brief_description>
Base class for scripts.
</brief_description>
<description>
Base class for scripts. Any script that is loaded becomes one of these resources, which can then create instances.
</description>
<methods>
<method name="can_instance" qualifiers="const">
<return type="bool">
</return>
<description>
Return true if this script can be instance (ie not a library).
</description>
</method>
<method name="get_source_code" qualifiers="const">
<return type="String">
</return>
<description>
Return the script source code (if available).
</description>
</method>
<method name="has_source_code" qualifiers="const">
<return type="bool">
</return>
<description>
Return true if the script contains source code.
</description>
</method>
<method name="instance_has" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="base_object" type="Object">
</argument>
<description>
Return true if a given object uses an instance of this script.
</description>
</method>
<method name="reload">
<return type="int">
</return>
<description>
Reload the script. This will fail if there are existing instances.
</description>
</method>
<method name="set_source_code">
<argument index="0" name="source" type="String">
</argument>
<description>
Set the script source code.
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="ScrollBar" inherits="Range" category="Core">
<brief_description>
Base class for scroll bars.
</brief_description>
<description>
Scrollbars are a [Range] based [Control], that display a draggable area (the size of the page). Horizontal ([HScrollBar]) and Vertical ([VScrollBar]) versions are available.
</description>
<methods>
<method name="get_custom_step" qualifiers="const">
<return type="float">
</return>
<description>
</description>
</method>
<method name="set_custom_step">
<argument index="0" name="step" type="float">
</argument>
<description>
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="ScrollContainer" inherits="Container" category="Core">
<brief_description>
A helper node for displaying scrollable elements (e.g. lists).
</brief_description>
<description>
A ScrollContainer node with a [Control] child and scrollbar child ([HScrollbar], [VScrollBar], or both) will only draw the Control within the ScrollContainer area. Scrollbars will automatically be drawn at the right (for vertical) or bottom (for horizontal) and will enable dragging to move the viewable Control (and its children) within the ScrollContainer. Scrollbars will also automatically resize the grabber based on the minimum_size of the Control relative to the ScrollContainer. Works great with a [Panel] control.
</description>
<methods>
<method name="get_h_scroll" qualifiers="const">
<return type="int">
</return>
<description>
Return current horizontal scroll value.
</description>
</method>
<method name="get_v_scroll" qualifiers="const">
<return type="int">
</return>
<description>
Return current vertical scroll value.
</description>
</method>
<method name="is_h_scroll_enabled" qualifiers="const">
<return type="bool">
</return>
<description>
Return true if horizontal scrool is allowed.
</description>
</method>
<method name="is_v_scroll_enabled" qualifiers="const">
<return type="bool">
</return>
<description>
Return true if vertical scrool is allowed.
</description>
</method>
<method name="set_enable_h_scroll">
<argument index="0" name="enable" type="bool">
</argument>
<description>
Set allows horizontal scrool.
</description>
</method>
<method name="set_enable_v_scroll">
<argument index="0" name="enable" type="bool">
</argument>
<description>
Set allows vertical scrool.
</description>
</method>
<method name="set_h_scroll">
<argument index="0" name="val" type="int">
</argument>
<description>
Set horizontal scroll value.
</description>
</method>
<method name="set_v_scroll">
<argument index="0" name="val" type="int">
</argument>
<description>
Set vertical scroll value.
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="SegmentShape2D" inherits="Shape2D" category="Core">
<brief_description>
Segment Shape for 2D Collision Detection.
</brief_description>
<description>
Segment Shape for 2D Collision Detection, consists of two points, 'a' and 'b'.
</description>
<methods>
<method name="get_a" qualifiers="const">
<return type="Vector2">
</return>
<description>
Return the first point's position.
</description>
</method>
<method name="get_b" qualifiers="const">
<return type="Vector2">
</return>
<description>
Return the second point's position.
</description>
</method>
<method name="set_a">
<argument index="0" name="a" type="Vector2">
</argument>
<description>
Set the first point's position.
</description>
</method>
<method name="set_b">
<argument index="0" name="b" type="Vector2">
</argument>
<description>
Set the second point's position.
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="Semaphore" inherits="Reference" category="Core">
<brief_description>
A synchronization Semaphore.
</brief_description>
<description>
A synchronization Semaphore. Element used in multi-threadding. Initialized to zero on creation.
</description>
<methods>
<method name="post">
<return type="Error">
</return>
<description>
Lowers the [Semaphore], allowing one more thread in.
</description>
</method>
<method name="wait">
<return type="Error">
</return>
<description>
Tries to wait for the [Semaphore], if it's value is zero, blocks until non-zero.
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="Separator" inherits="Control" category="Core">
<brief_description>
Base class for separators.
</brief_description>
<description>
Separator is a [Control] used for separating other controls. It's purely a visual decoration. Horizontal ([HSeparator]) and Vertical ([VSeparator]) versions are available.
</description>
<methods>
</methods>
<constants>
</constants>
</class>
<class name="Shader" inherits="Resource" category="Core">
<brief_description>
To be changed, ignore.
</brief_description>
<description>
To be changed, ignore.
</description>
<methods>
<method name="get_default_texture_param" qualifiers="const">
<return type="Texture">
</return>
<argument index="0" name="param" type="String">
</argument>
<description>
</description>
</method>
<method name="get_fragment_code" qualifiers="const">
<return type="String">
</return>
<description>
</description>
</method>
<method name="get_light_code" qualifiers="const">
<return type="String">
</return>
<description>
</description>
</method>
<method name="get_mode" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_vertex_code" qualifiers="const">
<return type="String">
</return>
<description>
</description>
</method>
<method name="has_param" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="name" type="String">
</argument>
<description>
</description>
</method>
<method name="set_code">
<argument index="0" name="vcode" type="String">
</argument>
<argument index="1" name="fcode" type="String">
</argument>
<argument index="2" name="lcode" type="String">
</argument>
<argument index="3" name="fofs" type="int" default="0">
</argument>
<argument index="4" name="lofs" type="int" default="0">
</argument>
<description>
</description>
</method>
<method name="set_default_texture_param">
<argument index="0" name="param" type="String">
</argument>
<argument index="1" name="texture" type="Texture">
</argument>
<description>
</description>
</method>
</methods>
<constants>
<constant name="MODE_MATERIAL" value="0">
</constant>
<constant name="MODE_CANVAS_ITEM" value="1">
</constant>
<constant name="MODE_POST_PROCESS" value="2">
</constant>
</constants>
</class>
<class name="ShaderGraph" inherits="Shader" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
<method name="clear">
<argument index="0" name="shader_type" type="int">
</argument>
<description>
</description>
</method>
<method name="color_ramp_node_get_colors" qualifiers="const">
<return type="ColorArray">
</return>
<argument index="0" name="shader_type" type="int">
</argument>
<argument index="1" name="id" type="int">
</argument>
<description>
</description>
</method>
<method name="color_ramp_node_get_offsets" qualifiers="const">
<return type="RealArray">
</return>
<argument index="0" name="shader_type" type="int">
</argument>
<argument index="1" name="id" type="int">
</argument>
<description>
</description>
</method>
<method name="color_ramp_node_set_ramp">
<argument index="0" name="shader_type" type="int">
</argument>
<argument index="1" name="id" type="int">
</argument>
<argument index="2" name="colors" type="ColorArray">
</argument>
<argument index="3" name="offsets" type="RealArray">
</argument>
<description>
</description>
</method>
<method name="comment_node_get_text" qualifiers="const">
<return type="String">
</return>
<argument index="0" name="shader_type" type="int">
</argument>
<argument index="1" name="id" type="int">
</argument>
<description>
</description>
</method>
<method name="comment_node_set_text">
<argument index="0" name="shader_type" type="int">
</argument>
<argument index="1" name="id" type="int">
</argument>
<argument index="2" name="text" type="String">
</argument>
<description>
</description>
</method>
<method name="connect_node">
<return type="Error">
</return>
<argument index="0" name="shader_type" type="int">
</argument>
<argument index="1" name="src_id" type="int">
</argument>
<argument index="2" name="src_slot" type="int">
</argument>
<argument index="3" name="dst_id" type="int">
</argument>
<argument index="4" name="dst_slot" type="int">
</argument>
<description>
</description>
</method>
<method name="cubemap_input_node_get_value" qualifiers="const">
<return type="CubeMap">
</return>
<argument index="0" name="shader_type" type="int">
</argument>
<argument index="1" name="id" type="int">
</argument>
<description>
</description>
</method>
<method name="cubemap_input_node_set_value">
<argument index="0" name="shader_type" type="int">
</argument>
<argument index="1" name="id" type="int">
</argument>
<argument index="2" name="value" type="CubeMap">
</argument>
<description>
</description>
</method>
<method name="curve_map_node_get_points" qualifiers="const">
<return type="Vector2Array">
</return>
<argument index="0" name="shader_type" type="int">
</argument>
<argument index="1" name="id" type="int">
</argument>
<description>
</description>
</method>
<method name="curve_map_node_set_points">
<argument index="0" name="shader_type" type="int">
</argument>
<argument index="1" name="id" type="int">
</argument>
<argument index="2" name="points" type="Vector2Array">
</argument>
<description>
</description>
</method>
<method name="default_get_value">
<argument index="0" name="shader_type" type="int">
</argument>
<argument index="1" name="id" type="int">
</argument>
<argument index="2" name="param_id" type="int">
</argument>
<description>
</description>
</method>
<method name="default_set_value">
<argument index="0" name="shader_type" type="int">
</argument>
<argument index="1" name="id" type="int">
</argument>
<argument index="2" name="param_id" type="int">
</argument>
<argument index="3" name="value" type="var">
</argument>
<description>
</description>
</method>
<method name="disconnect_node">
<argument index="0" name="shader_type" type="int">
</argument>
<argument index="1" name="src_id" type="int">
</argument>
<argument index="2" name="src_slot" type="int">
</argument>
<argument index="3" name="dst_id" type="int">
</argument>
<argument index="4" name="dst_slot" type="int">
</argument>
<description>
</description>
</method>
<method name="get_node_connections" qualifiers="const">
<return type="Array">
</return>
<argument index="0" name="shader_type" type="int">
</argument>
<description>
</description>
</method>
<method name="get_node_list" qualifiers="const">
<return type="Array">
</return>
<argument index="0" name="shader_type" type="int">
</argument>
<description>
</description>
</method>
<method name="input_node_get_name">
<return type="String">
</return>
<argument index="0" name="shader_type" type="int">
</argument>
<argument index="1" name="id" type="int">
</argument>
<description>
</description>
</method>
<method name="input_node_set_name">
<argument index="0" name="shader_type" type="int">
</argument>
<argument index="1" name="id" type="int">
</argument>
<argument index="2" name="name" type="String">
</argument>
<description>
</description>
</method>
<method name="is_node_connected" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="shader_type" type="int">
</argument>
<argument index="1" name="src_id" type="int">
</argument>
<argument index="2" name="src_slot" type="int">
</argument>
<argument index="3" name="dst_id" type="int">
</argument>
<argument index="4" name="dst_slot" type="int">
</argument>
<description>
</description>
</method>
<method name="node_add">
<argument index="0" name="shader_type" type="int">
</argument>
<argument index="1" name="node_type" type="int">
</argument>
<argument index="2" name="id" type="int">
</argument>
<description>
</description>
</method>
<method name="node_get_pos" qualifiers="const">
<return type="Vector2">
</return>
<argument index="0" name="shader_type" type="int">
</argument>
<argument index="1" name="id" type="int">
</argument>
<description>
</description>
</method>
<method name="node_get_state" qualifiers="const">
<return type="Variant">
</return>
<argument index="0" name="shader_type" type="int">
</argument>
<argument index="1" name="id" type="int">
</argument>
<description>
</description>
</method>
<method name="node_get_type" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="shader_type" type="int">
</argument>
<argument index="1" name="id" type="int">
</argument>
<description>
</description>
</method>
<method name="node_remove">
<argument index="0" name="shader_type" type="int">
</argument>
<argument index="1" name="id" type="int">
</argument>
<description>
</description>
</method>
<method name="node_set_pos">
<argument index="0" name="shader_type" type="int">
</argument>
<argument index="1" name="id" type="int">
</argument>
<argument index="2" name="pos" type="Vector2">
</argument>
<description>
</description>
</method>
<method name="node_set_state">
<argument index="0" name="shader_type" type="int">
</argument>
<argument index="1" name="id" type="int">
</argument>
<argument index="2" name="state" type="var">
</argument>
<description>
</description>
</method>
<method name="rgb_const_node_get_value" qualifiers="const">
<return type="Color">
</return>
<argument index="0" name="shader_type" type="int">
</argument>
<argument index="1" name="id" type="int">
</argument>
<description>
</description>
</method>
<method name="rgb_const_node_set_value">
<argument index="0" name="shader_type" type="int">
</argument>
<argument index="1" name="id" type="int">
</argument>
<argument index="2" name="value" type="Color">
</argument>
<description>
</description>
</method>
<method name="rgb_input_node_get_value" qualifiers="const">
<return type="Color">
</return>
<argument index="0" name="shader_type" type="int">
</argument>
<argument index="1" name="id" type="int">
</argument>
<description>
</description>
</method>
<method name="rgb_input_node_set_value">
<argument index="0" name="shader_type" type="int">
</argument>
<argument index="1" name="id" type="int">
</argument>
<argument index="2" name="value" type="Color">
</argument>
<description>
</description>
</method>
<method name="rgb_op_node_get_op" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="shader_type" type="int">
</argument>
<argument index="1" name="id" type="float">
</argument>
<description>
</description>
</method>
<method name="rgb_op_node_set_op">
<argument index="0" name="shader_type" type="int">
</argument>
<argument index="1" name="id" type="float">
</argument>
<argument index="2" name="op" type="int">
</argument>
<description>
</description>
</method>
<method name="scalar_const_node_get_value" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="shader_type" type="int">
</argument>
<argument index="1" name="id" type="int">
</argument>
<description>
</description>
</method>
<method name="scalar_const_node_set_value">
<argument index="0" name="shader_type" type="int">
</argument>
<argument index="1" name="id" type="int">
</argument>
<argument index="2" name="value" type="float">
</argument>
<description>
</description>
</method>
<method name="scalar_func_node_get_function" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="shader_type" type="int">
</argument>
<argument index="1" name="id" type="int">
</argument>
<description>
</description>
</method>
<method name="scalar_func_node_set_function">
<argument index="0" name="shader_type" type="int">
</argument>
<argument index="1" name="id" type="int">
</argument>
<argument index="2" name="func" type="int">
</argument>
<description>
</description>
</method>
<method name="scalar_input_node_get_value" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="shader_type" type="int">
</argument>
<argument index="1" name="id" type="int">
</argument>
<description>
</description>
</method>
<method name="scalar_input_node_set_value">
<argument index="0" name="shader_type" type="int">
</argument>
<argument index="1" name="id" type="int">
</argument>
<argument index="2" name="value" type="float">
</argument>
<description>
</description>
</method>
<method name="scalar_op_node_get_op" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="shader_type" type="int">
</argument>
<argument index="1" name="id" type="float">
</argument>
<description>
</description>
</method>
<method name="scalar_op_node_set_op">
<argument index="0" name="shader_type" type="int">
</argument>
<argument index="1" name="id" type="float">
</argument>
<argument index="2" name="op" type="int">
</argument>
<description>
</description>
</method>
<method name="texture_input_node_get_value" qualifiers="const">
<return type="Texture">
</return>
<argument index="0" name="shader_type" type="int">
</argument>
<argument index="1" name="id" type="int">
</argument>
<description>
</description>
</method>
<method name="texture_input_node_set_value">
<argument index="0" name="shader_type" type="int">
</argument>
<argument index="1" name="id" type="int">
</argument>
<argument index="2" name="value" type="Texture">
</argument>
<description>
</description>
</method>
<method name="texture_node_get_filter_size" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="shader_type" type="int">
</argument>
<argument index="1" name="id" type="int">
</argument>
<description>
</description>
</method>
<method name="texture_node_get_filter_strength" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="shader_type" type="int">
</argument>
<argument index="1" name="id" type="float">
</argument>
<description>
</description>
</method>
<method name="texture_node_set_filter_size">
<argument index="0" name="shader_type" type="int">
</argument>
<argument index="1" name="id" type="int">
</argument>
<argument index="2" name="filter_size" type="int">
</argument>
<description>
</description>
</method>
<method name="texture_node_set_filter_strength">
<argument index="0" name="shader_type" type="int">
</argument>
<argument index="1" name="id" type="float">
</argument>
<argument index="2" name="filter_strength" type="float">
</argument>
<description>
</description>
</method>
<method name="vec_const_node_get_value" qualifiers="const">
<return type="Vector3">
</return>
<argument index="0" name="shader_type" type="int">
</argument>
<argument index="1" name="id" type="int">
</argument>
<description>
</description>
</method>
<method name="vec_const_node_set_value">
<argument index="0" name="shader_type" type="int">
</argument>
<argument index="1" name="id" type="int">
</argument>
<argument index="2" name="value" type="Vector3">
</argument>
<description>
</description>
</method>
<method name="vec_func_node_get_function" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="shader_type" type="int">
</argument>
<argument index="1" name="id" type="int">
</argument>
<description>
</description>
</method>
<method name="vec_func_node_set_function">
<argument index="0" name="shader_type" type="int">
</argument>
<argument index="1" name="id" type="int">
</argument>
<argument index="2" name="func" type="int">
</argument>
<description>
</description>
</method>
<method name="vec_input_node_get_value" qualifiers="const">
<return type="Vector3">
</return>
<argument index="0" name="shader_type" type="int">
</argument>
<argument index="1" name="id" type="int">
</argument>
<description>
</description>
</method>
<method name="vec_input_node_set_value">
<argument index="0" name="shader_type" type="int">
</argument>
<argument index="1" name="id" type="int">
</argument>
<argument index="2" name="value" type="Vector3">
</argument>
<description>
</description>
</method>
<method name="vec_op_node_get_op" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="shader_type" type="int">
</argument>
<argument index="1" name="id" type="float">
</argument>
<description>
</description>
</method>
<method name="vec_op_node_set_op">
<argument index="0" name="shader_type" type="int">
</argument>
<argument index="1" name="id" type="float">
</argument>
<argument index="2" name="op" type="int">
</argument>
<description>
</description>
</method>
<method name="vec_scalar_op_node_get_op" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="shader_type" type="int">
</argument>
<argument index="1" name="id" type="float">
</argument>
<description>
</description>
</method>
<method name="vec_scalar_op_node_set_op">
<argument index="0" name="shader_type" type="int">
</argument>
<argument index="1" name="id" type="float">
</argument>
<argument index="2" name="op" type="int">
</argument>
<description>
</description>
</method>
<method name="xform_const_node_get_value" qualifiers="const">
<return type="Transform">
</return>
<argument index="0" name="shader_type" type="int">
</argument>
<argument index="1" name="id" type="int">
</argument>
<description>
</description>
</method>
<method name="xform_const_node_set_value">
<argument index="0" name="shader_type" type="int">
</argument>
<argument index="1" name="id" type="int">
</argument>
<argument index="2" name="value" type="Transform">
</argument>
<description>
</description>
</method>
<method name="xform_input_node_get_value" qualifiers="const">
<return type="Transform">
</return>
<argument index="0" name="shader_type" type="int">
</argument>
<argument index="1" name="id" type="int">
</argument>
<description>
</description>
</method>
<method name="xform_input_node_set_value">
<argument index="0" name="shader_type" type="int">
</argument>
<argument index="1" name="id" type="int">
</argument>
<argument index="2" name="value" type="Transform">
</argument>
<description>
</description>
</method>
<method name="xform_vec_mult_node_get_no_translation" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="shader_type" type="int">
</argument>
<argument index="1" name="id" type="int">
</argument>
<description>
</description>
</method>
<method name="xform_vec_mult_node_set_no_translation">
<argument index="0" name="shader_type" type="int">
</argument>
<argument index="1" name="id" type="int">
</argument>
<argument index="2" name="disable" type="bool">
</argument>
<description>
</description>
</method>
</methods>
<signals>
<signal name="updated">
<description>
</description>
</signal>
</signals>
<constants>
<constant name="NODE_INPUT" value="0">
</constant>
<constant name="NODE_SCALAR_CONST" value="1">
</constant>
<constant name="NODE_VEC_CONST" value="2">
</constant>
<constant name="NODE_RGB_CONST" value="3">
</constant>
<constant name="NODE_XFORM_CONST" value="4">
</constant>
<constant name="NODE_TIME" value="5">
</constant>
<constant name="NODE_SCREEN_TEX" value="6">
</constant>
<constant name="NODE_SCALAR_OP" value="7">
</constant>
<constant name="NODE_VEC_OP" value="8">
</constant>
<constant name="NODE_VEC_SCALAR_OP" value="9">
</constant>
<constant name="NODE_RGB_OP" value="10">
</constant>
<constant name="NODE_XFORM_MULT" value="11">
</constant>
<constant name="NODE_XFORM_VEC_MULT" value="12">
</constant>
<constant name="NODE_XFORM_VEC_INV_MULT" value="13">
</constant>
<constant name="NODE_SCALAR_FUNC" value="14">
</constant>
<constant name="NODE_VEC_FUNC" value="15">
</constant>
<constant name="NODE_VEC_LEN" value="16">
</constant>
<constant name="NODE_DOT_PROD" value="17">
</constant>
<constant name="NODE_VEC_TO_SCALAR" value="18">
</constant>
<constant name="NODE_SCALAR_TO_VEC" value="19">
</constant>
<constant name="NODE_VEC_TO_XFORM" value="21">
</constant>
<constant name="NODE_XFORM_TO_VEC" value="20">
</constant>
<constant name="NODE_SCALAR_INTERP" value="22">
</constant>
<constant name="NODE_VEC_INTERP" value="23">
</constant>
<constant name="NODE_COLOR_RAMP" value="24">
</constant>
<constant name="NODE_CURVE_MAP" value="25">
</constant>
<constant name="NODE_SCALAR_INPUT" value="26">
</constant>
<constant name="NODE_VEC_INPUT" value="27">
</constant>
<constant name="NODE_RGB_INPUT" value="28">
</constant>
<constant name="NODE_XFORM_INPUT" value="29">
</constant>
<constant name="NODE_TEXTURE_INPUT" value="30">
</constant>
<constant name="NODE_CUBEMAP_INPUT" value="31">
</constant>
<constant name="NODE_DEFAULT_TEXTURE" value="32">
</constant>
<constant name="NODE_OUTPUT" value="33">
</constant>
<constant name="NODE_COMMENT" value="34">
</constant>
<constant name="NODE_TYPE_MAX" value="35">
</constant>
<constant name="SLOT_TYPE_SCALAR" value="0">
</constant>
<constant name="SLOT_TYPE_VEC" value="1">
</constant>
<constant name="SLOT_TYPE_XFORM" value="2">
</constant>
<constant name="SLOT_TYPE_TEXTURE" value="3">
</constant>
<constant name="SLOT_MAX" value="4">
</constant>
<constant name="SHADER_TYPE_VERTEX" value="0">
</constant>
<constant name="SHADER_TYPE_FRAGMENT" value="1">
</constant>
<constant name="SHADER_TYPE_LIGHT" value="2">
</constant>
<constant name="SHADER_TYPE_MAX" value="3">
</constant>
<constant name="SLOT_IN" value="0">
</constant>
<constant name="SLOT_OUT" value="1">
</constant>
<constant name="GRAPH_OK" value="0">
</constant>
<constant name="GRAPH_ERROR_CYCLIC" value="1">
</constant>
<constant name="GRAPH_ERROR_MISSING_CONNECTIONS" value="2">
</constant>
<constant name="SCALAR_OP_ADD" value="0">
</constant>
<constant name="SCALAR_OP_SUB" value="1">
</constant>
<constant name="SCALAR_OP_MUL" value="2">
</constant>
<constant name="SCALAR_OP_DIV" value="3">
</constant>
<constant name="SCALAR_OP_MOD" value="4">
</constant>
<constant name="SCALAR_OP_POW" value="5">
</constant>
<constant name="SCALAR_OP_MAX" value="6">
</constant>
<constant name="SCALAR_OP_MIN" value="7">
</constant>
<constant name="SCALAR_OP_ATAN2" value="8">
</constant>
<constant name="SCALAR_MAX_OP" value="9">
</constant>
<constant name="VEC_OP_ADD" value="0">
</constant>
<constant name="VEC_OP_SUB" value="1">
</constant>
<constant name="VEC_OP_MUL" value="2">
</constant>
<constant name="VEC_OP_DIV" value="3">
</constant>
<constant name="VEC_OP_MOD" value="4">
</constant>
<constant name="VEC_OP_POW" value="5">
</constant>
<constant name="VEC_OP_MAX" value="6">
</constant>
<constant name="VEC_OP_MIN" value="7">
</constant>
<constant name="VEC_OP_CROSS" value="8">
</constant>
<constant name="VEC_MAX_OP" value="9">
</constant>
<constant name="VEC_SCALAR_OP_MUL" value="0">
</constant>
<constant name="VEC_SCALAR_OP_DIV" value="1">
</constant>
<constant name="VEC_SCALAR_OP_POW" value="2">
</constant>
<constant name="VEC_SCALAR_MAX_OP" value="3">
</constant>
<constant name="RGB_OP_SCREEN" value="0">
</constant>
<constant name="RGB_OP_DIFFERENCE" value="1">
</constant>
<constant name="RGB_OP_DARKEN" value="2">
</constant>
<constant name="RGB_OP_LIGHTEN" value="3">
</constant>
<constant name="RGB_OP_OVERLAY" value="4">
</constant>
<constant name="RGB_OP_DODGE" value="5">
</constant>
<constant name="RGB_OP_BURN" value="6">
</constant>
<constant name="RGB_OP_SOFT_LIGHT" value="7">
</constant>
<constant name="RGB_OP_HARD_LIGHT" value="8">
</constant>
<constant name="RGB_MAX_OP" value="9">
</constant>
<constant name="SCALAR_FUNC_SIN" value="0">
</constant>
<constant name="SCALAR_FUNC_COS" value="1">
</constant>
<constant name="SCALAR_FUNC_TAN" value="2">
</constant>
<constant name="SCALAR_FUNC_ASIN" value="3">
</constant>
<constant name="SCALAR_FUNC_ACOS" value="4">
</constant>
<constant name="SCALAR_FUNC_ATAN" value="5">
</constant>
<constant name="SCALAR_FUNC_SINH" value="6">
</constant>
<constant name="SCALAR_FUNC_COSH" value="7">
</constant>
<constant name="SCALAR_FUNC_TANH" value="8">
</constant>
<constant name="SCALAR_FUNC_LOG" value="9">
</constant>
<constant name="SCALAR_FUNC_EXP" value="10">
</constant>
<constant name="SCALAR_FUNC_SQRT" value="11">
</constant>
<constant name="SCALAR_FUNC_ABS" value="12">
</constant>
<constant name="SCALAR_FUNC_SIGN" value="13">
</constant>
<constant name="SCALAR_FUNC_FLOOR" value="14">
</constant>
<constant name="SCALAR_FUNC_ROUND" value="15">
</constant>
<constant name="SCALAR_FUNC_CEIL" value="16">
</constant>
<constant name="SCALAR_FUNC_FRAC" value="17">
</constant>
<constant name="SCALAR_FUNC_SATURATE" value="18">
</constant>
<constant name="SCALAR_FUNC_NEGATE" value="19">
</constant>
<constant name="SCALAR_MAX_FUNC" value="20">
</constant>
<constant name="VEC_FUNC_NORMALIZE" value="0">
</constant>
<constant name="VEC_FUNC_SATURATE" value="1">
</constant>
<constant name="VEC_FUNC_NEGATE" value="2">
</constant>
<constant name="VEC_FUNC_RECIPROCAL" value="3">
</constant>
<constant name="VEC_FUNC_RGB2HSV" value="4">
</constant>
<constant name="VEC_FUNC_HSV2RGB" value="5">
</constant>
<constant name="VEC_MAX_FUNC" value="6">
</constant>
</constants>
</class>
<class name="ShaderMaterial" inherits="Material" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
<method name="get_shader" qualifiers="const">
<return type="Shader">
</return>
<description>
</description>
</method>
<method name="get_shader_param" qualifiers="const">
<return type="Variant">
</return>
<argument index="0" name="param" type="String">
</argument>
<description>
</description>
</method>
<method name="set_shader">
<argument index="0" name="shader" type="Shader">
</argument>
<description>
</description>
</method>
<method name="set_shader_param">
<argument index="0" name="param" type="String">
</argument>
<argument index="1" name="value" type="Variant">
</argument>
<description>
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="Shape" inherits="Resource" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
</methods>
<constants>
</constants>
</class>
<class name="Shape2D" inherits="Resource" category="Core">
<brief_description>
Base class for all 2D Shapes.
</brief_description>
<description>
Base class for all 2D Shapes. All 2D shape types inherit from this.
</description>
<methods>
<method name="collide">
<return type="bool">
</return>
<argument index="0" name="local_xform" type="Matrix32">
</argument>
<argument index="1" name="with_shape" type="Shape2D">
</argument>
<argument index="2" name="shape_xform" type="Matrix32">
</argument>
<description>
Return whether this shape is colliding with another.
This method needs the transformation matrix for this shape ([code]local_xform[/code]), the shape to check collisions with ([code]with_shape[/code]), and the transformation matrix of that shape ([code]shape_xform[/code]).
</description>
</method>
<method name="collide_and_get_contacts">
<return type="Variant">
</return>
<argument index="0" name="local_xform" type="Matrix32">
</argument>
<argument index="1" name="with_shape" type="Shape2D">
</argument>
<argument index="2" name="shape_xform" type="Matrix32">
</argument>
<description>
Return a list of the points where this shape touches another. If there are no collisions, the list is empty.
This method needs the transformation matrix for this shape ([code]local_xform[/code]), the shape to check collisions with ([code]with_shape[/code]), and the transformation matrix of that shape ([code]shape_xform[/code]).
</description>
</method>
<method name="collide_with_motion">
<return type="bool">
</return>
<argument index="0" name="local_xform" type="Matrix32">
</argument>
<argument index="1" name="local_motion" type="Vector2">
</argument>
<argument index="2" name="with_shape" type="Shape2D">
</argument>
<argument index="3" name="shape_xform" type="Matrix32">
</argument>
<argument index="4" name="shape_motion" type="Vector2">
</argument>
<description>
Return whether this shape would collide with another, if a given movement was applied.
This method needs the transformation matrix for this shape ([code]local_xform[/code]), the movement to test on this shape ([code]local_motion[/code]), the shape to check collisions with ([code]with_shape[/code]), the transformation matrix of that shape ([code]shape_xform[/code]), and the movement to test onto the other object ([code]shape_motion[/code]).
</description>
</method>
<method name="collide_with_motion_and_get_contacts">
<return type="Variant">
</return>
<argument index="0" name="local_xform" type="Matrix32">
</argument>
<argument index="1" name="local_motion" type="Vector2">
</argument>
<argument index="2" name="with_shape" type="Shape2D">
</argument>
<argument index="3" name="shape_xform" type="Matrix32">
</argument>
<argument index="4" name="shape_motion" type="Vector2">
</argument>
<description>
Return a list of the points where this shape would touch another, if a given movement was applied. If there are no collisions, the list is empty.
This method needs the transformation matrix for this shape ([code]local_xform[/code]), the movement to test on this shape ([code]local_motion[/code]), the shape to check collisions with ([code]with_shape[/code]), the transformation matrix of that shape ([code]shape_xform[/code]), and the movement to test onto the other object ([code]shape_motion[/code]).
</description>
</method>
<method name="get_custom_solver_bias" qualifiers="const">
<return type="float">
</return>
<description>
Return the custom solver bias.
</description>
</method>
<method name="set_custom_solver_bias">
<argument index="0" name="bias" type="float">
</argument>
<description>
Use a custom solver bias. No need to change this unless you really know what you are doing.
The solver bias is a factor controlling how much two objects "rebound" off each other, when colliding, to avoid them getting into each other because of numerical imprecision.
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="Skeleton" inherits="Spatial" category="Core">
<brief_description>
Skeleton for characters and animated objects.
</brief_description>
<description>
Skeleton provides a hierarchical interface for managing bones, including pose, rest and animation (see [Animation]). Skeleton will support rag doll dynamics in the future.
</description>
<methods>
<method name="add_bone">
<argument index="0" name="name" type="String">
</argument>
<description>
Add a bone, with name "name". [method get_bone_count] will become the bone index.
</description>
</method>
<method name="bind_child_node_to_bone">
<argument index="0" name="bone_idx" type="int">
</argument>
<argument index="1" name="node" type="Node">
</argument>
<description>
Deprecated soon.
</description>
</method>
<method name="clear_bones">
<description>
Clear all the bones in this skeleton.
</description>
</method>
<method name="find_bone" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="name" type="String">
</argument>
<description>
Return the bone index that matches "name" as its name.
</description>
</method>
<method name="get_bone_count" qualifiers="const">
<return type="int">
</return>
<description>
Return the amount of bones in the skeleton.
</description>
</method>
<method name="get_bone_custom_pose" qualifiers="const">
<return type="Transform">
</return>
<argument index="0" name="bone_idx" type="int">
</argument>
<description>
</description>
</method>
<method name="get_bone_global_pose" qualifiers="const">
<return type="Transform">
</return>
<argument index="0" name="bone_idx" type="int">
</argument>
<description>
</description>
</method>
<method name="get_bone_name" qualifiers="const">
<return type="String">
</return>
<argument index="0" name="bone_idx" type="int">
</argument>
<description>
Return the name of the bone at index "index"
</description>
</method>
<method name="get_bone_parent" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="bone_idx" type="int">
</argument>
<description>
Return the bone index which is the parent of the bone at "bone_idx". If -1, then bone has no parent. Note that the parent bone returned will always be less than "bone_idx".
</description>
</method>
<method name="get_bone_pose" qualifiers="const">
<return type="Transform">
</return>
<argument index="0" name="bone_idx" type="int">
</argument>
<description>
Return the pose transform for bone "bone_idx".
</description>
</method>
<method name="get_bone_rest" qualifiers="const">
<return type="Transform">
</return>
<argument index="0" name="bone_idx" type="int">
</argument>
<description>
Return the rest transform for a bone "bone_idx".
</description>
</method>
<method name="get_bone_transform" qualifiers="const">
<return type="Transform">
</return>
<argument index="0" name="bone_idx" type="int">
</argument>
<description>
</description>
</method>
<method name="get_bound_child_nodes_to_bone" qualifiers="const">
<return type="Array">
</return>
<argument index="0" name="bone_idx" type="int">
</argument>
<description>
Deprecated soon.
</description>
</method>
<method name="is_bone_rest_disabled" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="bone_idx" type="int">
</argument>
<description>
</description>
</method>
<method name="set_bone_custom_pose">
<argument index="0" name="bone_idx" type="int">
</argument>
<argument index="1" name="custom_pose" type="Transform">
</argument>
<description>
</description>
</method>
<method name="set_bone_disable_rest">
<argument index="0" name="bone_idx" type="int">
</argument>
<argument index="1" name="disable" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_bone_global_pose">
<argument index="0" name="bone_idx" type="int">
</argument>
<argument index="1" name="pose" type="Transform">
</argument>
<description>
</description>
</method>
<method name="set_bone_parent">
<argument index="0" name="bone_idx" type="int">
</argument>
<argument index="1" name="parent_idx" type="int">
</argument>
<description>
Set the bone index "parent_idx" as the parent of the bone at "bone_idx". If -1, then bone has no parent. Note: "parent_idx" must be less than "bone_idx".
</description>
</method>
<method name="set_bone_pose">
<argument index="0" name="bone_idx" type="int">
</argument>
<argument index="1" name="pose" type="Transform">
</argument>
<description>
Return the pose transform for bone "bone_idx".
</description>
</method>
<method name="set_bone_rest">
<argument index="0" name="bone_idx" type="int">
</argument>
<argument index="1" name="rest" type="Transform">
</argument>
<description>
Set the rest transform for bone "bone_idx"
</description>
</method>
<method name="unbind_child_node_from_bone">
<argument index="0" name="bone_idx" type="int">
</argument>
<argument index="1" name="node" type="Node">
</argument>
<description>
Deprecated soon.
</description>
</method>
<method name="unparent_bone_and_rest">
<argument index="0" name="bone_idx" type="int">
</argument>
<description>
</description>
</method>
</methods>
<constants>
<constant name="NOTIFICATION_UPDATE_SKELETON" value="50">
</constant>
</constants>
</class>
<class name="Slider" inherits="Range" category="Core">
<brief_description>
Base class for GUI Sliders.
</brief_description>
<description>
Base class for GUI Sliders.
</description>
<methods>
<method name="get_ticks" qualifiers="const">
<return type="int">
</return>
<description>
Return amounts of ticks to display on slider.
</description>
</method>
<method name="get_ticks_on_borders" qualifiers="const">
<return type="bool">
</return>
<description>
Return true if ticks are visible on borders.
</description>
</method>
<method name="set_ticks">
<argument index="0" name="count" type="int">
</argument>
<description>
Set amount of ticks to display in slider.
</description>
</method>
<method name="set_ticks_on_borders">
<argument index="0" name="ticks_on_border" type="bool">
</argument>
<description>
Set true if ticks are visible on borders.
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="SliderJoint" inherits="Joint" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
<method name="get_param" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="param" type="int">
</argument>
<description>
</description>
</method>
<method name="set_param">
<argument index="0" name="param" type="int">
</argument>
<argument index="1" name="value" type="float">
</argument>
<description>
</description>
</method>
</methods>
<constants>
<constant name="PARAM_LINEAR_LIMIT_UPPER" value="0">
</constant>
<constant name="PARAM_LINEAR_LIMIT_LOWER" value="1">
</constant>
<constant name="PARAM_LINEAR_LIMIT_SOFTNESS" value="2">
</constant>
<constant name="PARAM_LINEAR_LIMIT_RESTITUTION" value="3">
</constant>
<constant name="PARAM_LINEAR_LIMIT_DAMPING" value="4">
</constant>
<constant name="PARAM_LINEAR_MOTION_SOFTNESS" value="5">
</constant>
<constant name="PARAM_LINEAR_MOTION_RESTITUTION" value="6">
</constant>
<constant name="PARAM_LINEAR_MOTION_DAMPING" value="7">
</constant>
<constant name="PARAM_LINEAR_ORTHOGONAL_SOFTNESS" value="8">
</constant>
<constant name="PARAM_LINEAR_ORTHOGONAL_RESTITUTION" value="9">
</constant>
<constant name="PARAM_LINEAR_ORTHOGONAL_DAMPING" value="10">
</constant>
<constant name="PARAM_ANGULAR_LIMIT_UPPER" value="11">
</constant>
<constant name="PARAM_ANGULAR_LIMIT_LOWER" value="12">
</constant>
<constant name="PARAM_ANGULAR_LIMIT_SOFTNESS" value="13">
</constant>
<constant name="PARAM_ANGULAR_LIMIT_RESTITUTION" value="14">
</constant>
<constant name="PARAM_ANGULAR_LIMIT_DAMPING" value="15">
</constant>
<constant name="PARAM_ANGULAR_MOTION_SOFTNESS" value="16">
</constant>
<constant name="PARAM_ANGULAR_MOTION_RESTITUTION" value="17">
</constant>
<constant name="PARAM_ANGULAR_MOTION_DAMPING" value="18">
</constant>
<constant name="PARAM_ANGULAR_ORTHOGONAL_SOFTNESS" value="19">
</constant>
<constant name="PARAM_ANGULAR_ORTHOGONAL_RESTITUTION" value="20">
</constant>
<constant name="PARAM_ANGULAR_ORTHOGONAL_DAMPING" value="21">
</constant>
<constant name="PARAM_MAX" value="22">
</constant>
</constants>
</class>
<class name="SoundPlayer2D" inherits="Node2D" category="Core">
<brief_description>
Base class for playing spatial 2D sound.
</brief_description>
<description>
Base class for playing spatial 2D sound.
</description>
<methods>
<method name="get_param" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="param" type="int">
</argument>
<description>
</description>
</method>
<method name="set_param">
<argument index="0" name="param" type="int">
</argument>
<argument index="1" name="value" type="float">
</argument>
<description>
</description>
</method>
</methods>
<constants>
<constant name="PARAM_VOLUME_DB" value="0">
</constant>
<constant name="PARAM_PITCH_SCALE" value="1">
</constant>
<constant name="PARAM_ATTENUATION_MIN_DISTANCE" value="2">
</constant>
<constant name="PARAM_ATTENUATION_MAX_DISTANCE" value="3">
</constant>
<constant name="PARAM_ATTENUATION_DISTANCE_EXP" value="4">
</constant>
<constant name="PARAM_MAX" value="5">
</constant>
</constants>
</class>
<class name="SoundRoomParams" inherits="Node" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
<method name="get_param" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="param" type="int">
</argument>
<description>
</description>
</method>
<method name="get_reverb_mode" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="is_forcing_params_to_all_sources">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="set_force_params_to_all_sources">
<argument index="0" name="enabled" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_param">
<argument index="0" name="param" type="int">
</argument>
<argument index="1" name="value" type="float">
</argument>
<description>
</description>
</method>
<method name="set_reverb_mode">
<argument index="0" name="reverb_mode" type="int">
</argument>
<description>
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="Spatial" inherits="Node" category="Core">
<brief_description>
Base class for all 3D nodes.
</brief_description>
<description>
Spatial is the base for every type of 3D [Node]. It contains a 3D [Transform] which can be set or get as local or global. If a Spatial [Node] has Spatial children, their transforms will be relative to the parent.
</description>
<methods>
<method name="get_gizmo" qualifiers="const">
<return type="SpatialGizmo">
</return>
<description>
</description>
</method>
<method name="get_global_transform" qualifiers="const">
<return type="Transform">
</return>
<description>
Return the global transform, relative to worldspace.
</description>
</method>
<method name="get_parent_spatial" qualifiers="const">
<return type="Object">
</return>
<description>
Return the parent [Spatial], or an empty [Object] if no parent exists or parent is not of type [Spatial].
</description>
</method>
<method name="get_rotation" qualifiers="const">
<return type="Vector3">
</return>
<description>
</description>
</method>
<method name="get_rotation_deg" qualifiers="const">
<return type="Vector3">
</return>
<description>
</description>
</method>
<method name="get_scale" qualifiers="const">
<return type="Vector3">
</return>
<description>
</description>
</method>
<method name="get_transform" qualifiers="const">
<return type="Transform">
</return>
<description>
Return the local transform, relative to the bone parent.
</description>
</method>
<method name="get_translation" qualifiers="const">
<return type="Vector3">
</return>
<description>
</description>
</method>
<method name="get_world" qualifiers="const">
<return type="World">
</return>
<description>
</description>
</method>
<method name="global_rotate">
<argument index="0" name="normal" type="Vector3">
</argument>
<argument index="1" name="radians" type="float">
</argument>
<description>
</description>
</method>
<method name="global_translate">
<argument index="0" name="offset" type="Vector3">
</argument>
<description>
</description>
</method>
<method name="hide">
<description>
</description>
</method>
<method name="is_hidden" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="is_local_transform_notification_enabled" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="is_set_as_toplevel" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="is_visible" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="look_at">
<argument index="0" name="target" type="Vector3">
</argument>
<argument index="1" name="up" type="Vector3">
</argument>
<description>
</description>
</method>
<method name="look_at_from_pos">
<argument index="0" name="pos" type="Vector3">
</argument>
<argument index="1" name="target" type="Vector3">
</argument>
<argument index="2" name="up" type="Vector3">
</argument>
<description>
</description>
</method>
<method name="orthonormalize">
<description>
</description>
</method>
<method name="rotate">
<argument index="0" name="normal" type="Vector3">
</argument>
<argument index="1" name="radians" type="float">
</argument>
<description>
</description>
</method>
<method name="rotate_x">
<argument index="0" name="radians" type="float">
</argument>
<description>
</description>
</method>
<method name="rotate_y">
<argument index="0" name="radians" type="float">
</argument>
<description>
</description>
</method>
<method name="rotate_z">
<argument index="0" name="radians" type="float">
</argument>
<description>
</description>
</method>
<method name="set_as_toplevel">
<argument index="0" name="enable" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_gizmo">
<argument index="0" name="gizmo" type="SpatialGizmo">
</argument>
<description>
</description>
</method>
<method name="set_global_transform">
<argument index="0" name="global" type="Transform">
</argument>
<description>
Set the transform globally, relative to worldspace.
</description>
</method>
<method name="set_hidden">
<argument index="0" name="hidden" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_identity">
<description>
</description>
</method>
<method name="set_ignore_transform_notification">
<argument index="0" name="enabled" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_notify_local_transform">
<argument index="0" name="enable" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_rotation">
<argument index="0" name="rotation_rad" type="Vector3">
</argument>
<description>
</description>
</method>
<method name="set_rotation_deg">
<argument index="0" name="rotation_deg" type="Vector3">
</argument>
<description>
</description>
</method>
<method name="set_scale">
<argument index="0" name="scale" type="Vector3">
</argument>
<description>
</description>
</method>
<method name="set_transform">
<argument index="0" name="local" type="Transform">
</argument>
<description>
Set the transform locally, relative to the parent spatial node.
</description>
</method>
<method name="set_translation">
<argument index="0" name="translation" type="Vector3">
</argument>
<description>
</description>
</method>
<method name="show">
<description>
</description>
</method>
<method name="translate">
<argument index="0" name="offset" type="Vector3">
</argument>
<description>
</description>
</method>
<method name="update_gizmo">
<description>
</description>
</method>
</methods>
<signals>
<signal name="visibility_changed">
<description>
</description>
</signal>
</signals>
<constants>
<constant name="NOTIFICATION_TRANSFORM_CHANGED" value="29">
Spatial nodes receive this notification with their global transform changes. This means that either the current or a parent node changed its transform.
</constant>
<constant name="NOTIFICATION_ENTER_WORLD" value="41">
</constant>
<constant name="NOTIFICATION_EXIT_WORLD" value="42">
</constant>
<constant name="NOTIFICATION_VISIBILITY_CHANGED" value="43">
</constant>
</constants>
</class>
<class name="SpatialPlayer" inherits="Spatial" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
<method name="get_param" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="param" type="int">
</argument>
<description>
</description>
</method>
<method name="set_param">
<argument index="0" name="param" type="int">
</argument>
<argument index="1" name="value" type="float">
</argument>
<description>
</description>
</method>
</methods>
<constants>
<constant name="PARAM_VOLUME_DB" value="0">
</constant>
<constant name="PARAM_PITCH_SCALE" value="1">
</constant>
<constant name="PARAM_ATTENUATION_MIN_DISTANCE" value="2">
</constant>
<constant name="PARAM_ATTENUATION_MAX_DISTANCE" value="3">
</constant>
<constant name="PARAM_ATTENUATION_DISTANCE_EXP" value="4">
</constant>
<constant name="PARAM_EMISSION_CONE_DEGREES" value="5">
</constant>
<constant name="PARAM_EMISSION_CONE_ATTENUATION_DB" value="6">
</constant>
<constant name="PARAM_MAX" value="7">
</constant>
</constants>
</class>
<class name="SpatialSamplePlayer" inherits="SpatialPlayer" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
<method name="get_polyphony" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_sample_library" qualifiers="const">
<return type="SampleLibrary">
</return>
<description>
</description>
</method>
<method name="is_voice_active" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="voice" type="int">
</argument>
<description>
</description>
</method>
<method name="play">
<return type="int">
</return>
<argument index="0" name="sample" type="String">
</argument>
<argument index="1" name="voice" type="int" default="-2">
</argument>
<description>
</description>
</method>
<method name="set_polyphony">
<argument index="0" name="voices" type="int">
</argument>
<description>
</description>
</method>
<method name="set_sample_library">
<argument index="0" name="library" type="SampleLibrary">
</argument>
<description>
</description>
</method>
<method name="stop_all">
<description>
</description>
</method>
<method name="stop_voice">
<argument index="0" name="voice" type="int">
</argument>
<description>
</description>
</method>
<method name="voice_set_pitch_scale">
<argument index="0" name="voice" type="int">
</argument>
<argument index="1" name="ratio" type="float">
</argument>
<description>
</description>
</method>
<method name="voice_set_volume_scale_db">
<argument index="0" name="voice" type="int">
</argument>
<argument index="1" name="db" type="float">
</argument>
<description>
</description>
</method>
</methods>
<constants>
<constant name="INVALID_VOICE" value="-1">
</constant>
<constant name="NEXT_VOICE" value="-2">
</constant>
</constants>
</class>
<class name="SpatialSound2DServer" inherits="Object" category="Core">
<brief_description>
Server for Spatial 2D Sound.
</brief_description>
<description>
Server for Spatial 2D Sound.
</description>
<methods>
</methods>
<constants>
</constants>
</class>
<class name="SpatialSound2DServerSW" inherits="SpatialSound2DServer" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
</methods>
<constants>
</constants>
</class>
<class name="SpatialSoundServer" inherits="Object" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
</methods>
<constants>
</constants>
</class>
<class name="SpatialSoundServerSW" inherits="SpatialSoundServer" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
</methods>
<constants>
</constants>
</class>
<class name="SpatialStreamPlayer" inherits="SpatialPlayer" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
<method name="get_buffering_msec" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_length" qualifiers="const">
<return type="float">
</return>
<description>
</description>
</method>
<method name="get_loop_count" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_loop_restart_time" qualifiers="const">
<return type="float">
</return>
<description>
</description>
</method>
<method name="get_pos" qualifiers="const">
<return type="float">
</return>
<description>
</description>
</method>
<method name="get_stream" qualifiers="const">
<return type="AudioStream">
</return>
<description>
</description>
</method>
<method name="get_stream_name" qualifiers="const">
<return type="String">
</return>
<description>
</description>
</method>
<method name="get_volume" qualifiers="const">
<return type="float">
</return>
<description>
</description>
</method>
<method name="get_volume_db" qualifiers="const">
<return type="float">
</return>
<description>
</description>
</method>
<method name="has_autoplay" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="has_loop" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="is_paused" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="is_playing" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="play">
<argument index="0" name="offset" type="float" default="0">
</argument>
<description>
</description>
</method>
<method name="seek_pos">
<argument index="0" name="time" type="float">
</argument>
<description>
</description>
</method>
<method name="set_autoplay">
<argument index="0" name="enabled" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_buffering_msec">
<argument index="0" name="msec" type="int">
</argument>
<description>
</description>
</method>
<method name="set_loop">
<argument index="0" name="enabled" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_loop_restart_time">
<argument index="0" name="secs" type="float">
</argument>
<description>
</description>
</method>
<method name="set_paused">
<argument index="0" name="paused" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_stream">
<argument index="0" name="stream" type="AudioStream">
</argument>
<description>
</description>
</method>
<method name="set_volume">
<argument index="0" name="volume" type="float">
</argument>
<description>
</description>
</method>
<method name="set_volume_db">
<argument index="0" name="db" type="float">
</argument>
<description>
</description>
</method>
<method name="stop">
<description>
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="SphereShape" inherits="Shape" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
<method name="get_radius" qualifiers="const">
<return type="float">
</return>
<description>
</description>
</method>
<method name="set_radius">
<argument index="0" name="radius" type="float">
</argument>
<description>
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="SpinBox" inherits="Range" category="Core">
<brief_description>
Numerical input text field.
</brief_description>
<description>
SpinBox is a numerical input text field. It allows entering integers and floats.
</description>
<methods>
<method name="get_line_edit">
<return type="Object">
</return>
<description>
</description>
</method>
<method name="get_prefix" qualifiers="const">
<return type="String">
</return>
<description>
</description>
</method>
<method name="get_suffix" qualifiers="const">
<return type="String">
</return>
<description>
Return the specific suffix.
</description>
</method>
<method name="is_editable" qualifiers="const">
<return type="bool">
</return>
<description>
Return if the spinbox is editable.
</description>
</method>
<method name="set_editable">
<argument index="0" name="editable" type="bool">
</argument>
<description>
Set whether the spinbox is editable.
</description>
</method>
<method name="set_prefix">
<argument index="0" name="prefix" type="String">
</argument>
<description>
Set a prefix.
</description>
</method>
<method name="set_suffix">
<argument index="0" name="suffix" type="String">
</argument>
<description>
Set a specific suffix.
</description>
</method>
</methods>
<constants>
</constants>
<theme_items>
<theme_item name="updown" type="Texture">
</theme_item>
</theme_items>
</class>
<class name="SplitContainer" inherits="Container" category="Core">
<brief_description>
Container for splitting and adjusting.
</brief_description>
<description>
Container for splitting two controls vertically or horizontally, with a grabber that allows adjusting the split offset or ratio.
</description>
<methods>
<method name="get_dragger_visibility" qualifiers="const">
<return type="int">
</return>
<description>
Return visibility of the split dragger(One of [DRAGGER_VISIBLE], [DRAGGER_HIDDEN] or [DRAGGER_HIDDEN_COLLAPSED]).
</description>
</method>
<method name="get_split_offset" qualifiers="const">
<return type="int">
</return>
<description>
Return the split offset.
</description>
</method>
<method name="is_collapsed" qualifiers="const">
<return type="bool">
</return>
<description>
Return true if the split is collapsed.
</description>
</method>
<method name="set_collapsed">
<argument index="0" name="collapsed" type="bool">
</argument>
<description>
Set if the split must be collapsed.
</description>
</method>
<method name="set_dragger_visibility">
<argument index="0" name="mode" type="int">
</argument>
<description>
Set visibility of the split dragger([i]mode[/i] must be one of [DRAGGER_VISIBLE], [DRAGGER_HIDDEN] or [DRAGGER_HIDDEN_COLLAPSED]).
</description>
</method>
<method name="set_split_offset">
<argument index="0" name="offset" type="int">
</argument>
<description>
Set the split offset.
</description>
</method>
</methods>
<signals>
<signal name="dragged">
<argument index="0" name="offset" type="int">
</argument>
<description>
Emmited when the dragger is gragged by user.
</description>
</signal>
</signals>
<constants>
<constant name="DRAGGER_VISIBLE" value="0">
The split dragger is visible.
</constant>
<constant name="DRAGGER_HIDDEN" value="1">
The split dragger is invisible.
</constant>
<constant name="DRAGGER_HIDDEN_COLLAPSED" value="2">
The split dragger is invisible and collapsed.
</constant>
</constants>
</class>
<class name="SpotLight" inherits="Light" category="Core">
<brief_description>
Spotlight [Light], such as a reflector spotlight or a lantern.
</brief_description>
<description>
A SpotLight light is a type of [Light] node that emits lights in a specific direction, in the shape of a cone. The light is attenuated through the distance and this attenuation can be configured by changing the energy, radius and attenuation parameters of [Light]. TODO: Image of a spotlight.
</description>
<methods>
</methods>
<constants>
</constants>
</class>
<class name="Sprite" inherits="Node2D" category="Core">
<brief_description>
General purpose Sprite node.
</brief_description>
<description>
General purpose Sprite node. This Sprite node can show any texture as a sprite. The texture can be used as a spritesheet for animation, or only a region from a bigger texture can referenced, like an atlas.
</description>
<methods>
<method name="get_frame" qualifiers="const">
<return type="int">
</return>
<description>
Return the texture frame for a sprite-sheet, works when vframes or hframes are greater than 1.
</description>
</method>
<method name="get_hframes" qualifiers="const">
<return type="int">
</return>
<description>
Return the amount of horizontal frames. See [method set_hframes].
</description>
</method>
<method name="get_modulate" qualifiers="const">
<return type="Color">
</return>
<description>
Return color modulation for the sprite. All sprite pixels are multiplied by this color.
</description>
</method>
<method name="get_offset" qualifiers="const">
<return type="Vector2">
</return>
<description>
Return sprite draw offset.
</description>
</method>
<method name="get_region_rect" qualifiers="const">
<return type="Rect2">
</return>
<description>
Return the region rect to read from.
</description>
</method>
<method name="get_texture" qualifiers="const">
<return type="Texture">
</return>
<description>
Return the base texture for the sprite.
</description>
</method>
<method name="get_vframes" qualifiers="const">
<return type="int">
</return>
<description>
Return the amount of vertical frames. See [method set_vframes].
</description>
</method>
<method name="is_centered" qualifiers="const">
<return type="bool">
</return>
<description>
Return if the sprite is centered at the local origin.
</description>
</method>
<method name="is_flipped_h" qualifiers="const">
<return type="bool">
</return>
<description>
Return true if the sprite is flipped horizontally.
</description>
</method>
<method name="is_flipped_v" qualifiers="const">
<return type="bool">
</return>
<description>
Return true if the sprite is flipped vertically.
</description>
</method>
<method name="is_region" qualifiers="const">
<return type="bool">
</return>
<description>
Return if the sprite reads from a region.
</description>
</method>
<method name="set_centered">
<argument index="0" name="centered" type="bool">
</argument>
<description>
Set whether the sprite should be centered on the origin.
</description>
</method>
<method name="set_flip_h">
<argument index="0" name="flip_h" type="bool">
</argument>
<description>
Set true to flip the sprite horizontally.
</description>
</method>
<method name="set_flip_v">
<argument index="0" name="flip_v" type="bool">
</argument>
<description>
Set true to flip the sprite vertically.
</description>
</method>
<method name="set_frame">
<argument index="0" name="frame" type="int">
</argument>
<description>
Set the texture frame for a sprite-sheet, works when vframes or hframes are greater than 1.
</description>
</method>
<method name="set_hframes">
<argument index="0" name="hframes" type="int">
</argument>
<description>
Set the amount of horizontal frames and converts the sprite into a sprite-sheet. This is useful for animation.
</description>
</method>
<method name="set_modulate">
<argument index="0" name="modulate" type="Color">
</argument>
<description>
Set color modulation for the sprite. All sprite pixels are multiplied by this color. Color may contain rgb values above 1 to achieve a highlight effect.
</description>
</method>
<method name="set_offset">
<argument index="0" name="offset" type="Vector2">
</argument>
<description>
Set the sprite draw offset, useful for setting rotation pivots.
</description>
</method>
<method name="set_region">
<argument index="0" name="enabled" type="bool">
</argument>
<description>
Set the sprite as a sub-region of a bigger texture. Useful for texture-atlases.
</description>
</method>
<method name="set_region_rect">
<argument index="0" name="rect" type="Rect2">
</argument>
<description>
Set the region rect to read from.
</description>
</method>
<method name="set_texture">
<argument index="0" name="texture" type="Texture">
</argument>
<description>
Set the base texture for the sprite.
</description>
</method>
<method name="set_vframes">
<argument index="0" name="vframes" type="int">
</argument>
<description>
Set the amount of vertical frames and converts the sprite into a sprite-sheet. This is useful for animation.
</description>
</method>
</methods>
<signals>
<signal name="frame_changed">
<description>
</description>
</signal>
</signals>
<constants>
</constants>
</class>
<class name="Sprite3D" inherits="SpriteBase3D" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
<method name="get_frame" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_hframes" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_region_rect" qualifiers="const">
<return type="Rect2">
</return>
<description>
</description>
</method>
<method name="get_texture" qualifiers="const">
<return type="Texture">
</return>
<description>
</description>
</method>
<method name="get_vframes" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="is_region" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="set_frame">
<argument index="0" name="frame" type="int">
</argument>
<description>
</description>
</method>
<method name="set_hframes">
<argument index="0" name="hframes" type="int">
</argument>
<description>
</description>
</method>
<method name="set_region">
<argument index="0" name="enabled" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_region_rect">
<argument index="0" name="rect" type="Rect2">
</argument>
<description>
</description>
</method>
<method name="set_texture">
<argument index="0" name="texture" type="Texture">
</argument>
<description>
</description>
</method>
<method name="set_vframes">
<argument index="0" name="vframes" type="int">
</argument>
<description>
</description>
</method>
</methods>
<signals>
<signal name="frame_changed">
<description>
</description>
</signal>
</signals>
<constants>
</constants>
</class>
<class name="SpriteBase3D" inherits="GeometryInstance" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
<method name="get_alpha_cut_mode" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_axis" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_draw_flag" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="flag" type="int">
</argument>
<description>
</description>
</method>
<method name="get_item_rect" qualifiers="const">
<return type="Rect2">
</return>
<description>
</description>
</method>
<method name="get_modulate" qualifiers="const">
<return type="Color">
</return>
<description>
</description>
</method>
<method name="get_offset" qualifiers="const">
<return type="Vector2">
</return>
<description>
</description>
</method>
<method name="get_opacity" qualifiers="const">
<return type="float">
</return>
<description>
</description>
</method>
<method name="get_pixel_size" qualifiers="const">
<return type="float">
</return>
<description>
</description>
</method>
<method name="is_centered" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="is_flipped_h" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="is_flipped_v" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="set_alpha_cut_mode">
<argument index="0" name="mode" type="int">
</argument>
<description>
</description>
</method>
<method name="set_axis">
<argument index="0" name="axis" type="int">
</argument>
<description>
</description>
</method>
<method name="set_centered">
<argument index="0" name="centered" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_draw_flag">
<argument index="0" name="flag" type="int">
</argument>
<argument index="1" name="enabled" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_flip_h">
<argument index="0" name="flip_h" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_flip_v">
<argument index="0" name="flip_v" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_modulate">
<argument index="0" name="modulate" type="Color">
</argument>
<description>
</description>
</method>
<method name="set_offset">
<argument index="0" name="offset" type="Vector2">
</argument>
<description>
</description>
</method>
<method name="set_opacity">
<argument index="0" name="opacity" type="float">
</argument>
<description>
</description>
</method>
<method name="set_pixel_size">
<argument index="0" name="pixel_size" type="float">
</argument>
<description>
</description>
</method>
</methods>
<constants>
<constant name="FLAG_TRANSPARENT" value="0">
</constant>
<constant name="FLAG_SHADED" value="1">
</constant>
<constant name="FLAG_MAX" value="2">
</constant>
<constant name="ALPHA_CUT_DISABLED" value="0">
</constant>
<constant name="ALPHA_CUT_DISCARD" value="1">
</constant>
<constant name="ALPHA_CUT_OPAQUE_PREPASS" value="2">
</constant>
</constants>
</class>
<class name="SpriteFrames" inherits="Resource" category="Core">
<brief_description>
Sprite frame library for AnimatedSprite.
</brief_description>
<description>
Sprite frame library for [AnimatedSprite].
</description>
<methods>
<method name="add_frame">
<argument index="0" name="frame" type="Object">
</argument>
<argument index="1" name="atpos" type="int" default="-1">
</argument>
<description>
Add a frame (texture).
</description>
</method>
<method name="clear">
<description>
Clear the frames.
</description>
</method>
<method name="get_frame" qualifiers="const">
<return type="Object">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
Return a texture (frame).
</description>
</method>
<method name="get_frame_count" qualifiers="const">
<return type="int">
</return>
<description>
Return the amount of frames.
</description>
</method>
<method name="remove_frame">
<argument index="0" name="idx" type="int">
</argument>
<description>
Remove a frame
</description>
</method>
<method name="set_frame">
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="txt" type="Object">
</argument>
<description>
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="StaticBody" inherits="PhysicsBody" category="Core">
<brief_description>
Static body for 3D Physics.
</brief_description>
<description>
Static body for 3D Physics. A static body is a simple body that is not intended to move. They don't consume any CPU resources in contrast to a [RigidBody3D] so they are great for scenario collision.
A static body can also be animated by using simulated motion mode. This is useful for implementing functionalities such as moving platforms. When this mode is active the body can be animated and automatically computes linear and angular velocity to apply in that frame and to influence other bodies.
Alternatively, a constant linear or angular velocity can be set for the static body, so even if it doesn't move, it affects other bodies as if it was moving (this is useful for simulating conveyor belts or conveyor wheels).
</description>
<methods>
<method name="get_bounce" qualifiers="const">
<return type="float">
</return>
<description>
Return the body bounciness.
</description>
</method>
<method name="get_constant_angular_velocity" qualifiers="const">
<return type="Vector3">
</return>
<description>
Return the constant angular velocity for the body.
</description>
</method>
<method name="get_constant_linear_velocity" qualifiers="const">
<return type="Vector3">
</return>
<description>
Return the constant linear velocity for the body.
</description>
</method>
<method name="get_friction" qualifiers="const">
<return type="float">
</return>
<description>
Return the body friction.
</description>
</method>
<method name="set_bounce">
<argument index="0" name="bounce" type="float">
</argument>
<description>
Set the body bounciness, from 0 (not bouncy) to 1 (bouncy).
</description>
</method>
<method name="set_constant_angular_velocity">
<argument index="0" name="vel" type="Vector3">
</argument>
<description>
Set a constant angular velocity for the body. This does not rotate the body, but affects other bodies touching it, as if it was rotating.
</description>
</method>
<method name="set_constant_linear_velocity">
<argument index="0" name="vel" type="Vector3">
</argument>
<description>
Set a constant linear velocity for the body. This does not move the body, but affects other bodies touching it, as if it was moving.
</description>
</method>
<method name="set_friction">
<argument index="0" name="friction" type="float">
</argument>
<description>
Set the body friction, from 0 (frictionless) to 1 (full friction).
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="StaticBody2D" inherits="PhysicsBody2D" category="Core">
<brief_description>
Static body for 2D Physics.
</brief_description>
<description>
Static body for 2D Physics. A static body is a simple body that is not intended to move. They don't consume any CPU resources in contrast to a [RigidBody2D] so they are great for scenario collision.
A static body can also be animated by using simulated motion mode. This is useful for implementing functionalities such as moving platforms. When this mode is active the body can be animated and automatically computes linear and angular velocity to apply in that frame and to influence other bodies.
Alternatively, a constant linear or angular velocity can be set for the static body, so even if it doesn't move, it affects other bodies as if it was moving (this is useful for simulating conveyor belts or conveyor wheels).
</description>
<methods>
<method name="get_bounce" qualifiers="const">
<return type="float">
</return>
<description>
Return the body bounciness.
</description>
</method>
<method name="get_constant_angular_velocity" qualifiers="const">
<return type="float">
</return>
<description>
Return the constant angular velocity for the body.
</description>
</method>
<method name="get_constant_linear_velocity" qualifiers="const">
<return type="Vector2">
</return>
<description>
Return the constant linear velocity for the body.
</description>
</method>
<method name="get_friction" qualifiers="const">
<return type="float">
</return>
<description>
Return the body friction.
</description>
</method>
<method name="set_bounce">
<argument index="0" name="bounce" type="float">
</argument>
<description>
Set the body bounciness, from 0 (not bouncy) to 1 (bouncy).
</description>
</method>
<method name="set_constant_angular_velocity">
<argument index="0" name="vel" type="float">
</argument>
<description>
Set a constant angular velocity for the body. This does not rotate the body, but affects other bodies touching it, as if it was rotating.
</description>
</method>
<method name="set_constant_linear_velocity">
<argument index="0" name="vel" type="Vector2">
</argument>
<description>
Set a constant linear velocity for the body. This does not move the body, but affects other bodies touching it, as if it was moving.
</description>
</method>
<method name="set_friction">
<argument index="0" name="friction" type="float">
</argument>
<description>
Set the body friction, from 0 (frictionless) to 1 (full friction).
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="StreamPeer" inherits="Reference" category="Core">
<brief_description>
Abstraction and base class for stream-based protocols.
</brief_description>
<description>
StreamPeer is an abstraction and base class for stream-based protocols (such as TCP or Unix Sockets). It provides an API for sending and receiving data through streams as raw data or strings.
</description>
<methods>
<method name="get_16">
<return type="int">
</return>
<description>
Get a signed 16 bit value from the stream.
</description>
</method>
<method name="get_32">
<return type="int">
</return>
<description>
Get a signed 32 bit value from the stream.
</description>
</method>
<method name="get_64">
<return type="int">
</return>
<description>
Get a signed 64 bit value from the stream.
</description>
</method>
<method name="get_8">
<return type="int">
</return>
<description>
Get a signed byte from the stream.
</description>
</method>
<method name="get_available_bytes" qualifiers="const">
<return type="int">
</return>
<description>
Return the amount of bytes this [StreamPeer] has available.
</description>
</method>
<method name="get_data">
<return type="Array">
</return>
<argument index="0" name="bytes" type="int">
</argument>
<description>
Return a chunk data with the received bytes. The amount of bytes to be received can be requested in the "bytes" argument. If not enough bytes are available, the function will block until the desired amount is received. This function returns two values, an Error code and a data array.
</description>
</method>
<method name="get_double">
<return type="float">
</return>
<description>
Get a double-precision float from the stream.
</description>
</method>
<method name="get_float">
<return type="float">
</return>
<description>
Get a single-precision float from the stream.
</description>
</method>
<method name="get_partial_data">
<return type="Array">
</return>
<argument index="0" name="bytes" type="int">
</argument>
<description>
Return a chunk data with the received bytes. The amount of bytes to be received can be requested in the "bytes" argument. If not enough bytes are available, the function will return how many were actually received. This function returns two values, an Error code, and a data array.
</description>
</method>
<method name="get_string">
<return type="String">
</return>
<argument index="0" name="bytes" type="int">
</argument>
<description>
Get a string with byte-length "bytes" from the stream.
</description>
</method>
<method name="get_u16">
<return type="int">
</return>
<description>
Get an unsigned 16 bit value from the stream.
</description>
</method>
<method name="get_u32">
<return type="int">
</return>
<description>
Get an unsigned 32 bit value from the stream.
</description>
</method>
<method name="get_u64">
<return type="int">
</return>
<description>
Get an unsigned 16 bit value from the stream.
</description>
</method>
<method name="get_u8">
<return type="int">
</return>
<description>
Get an unsigned byte from the stream.
</description>
</method>
<method name="get_utf8_string">
<return type="String">
</return>
<argument index="0" name="bytes" type="int">
</argument>
<description>
Get an utf8 string with byte-length "bytes" from the stream (this decodes the string sent as utf8).
</description>
</method>
<method name="get_var">
<return type="Variant">
</return>
<description>
Get a Variant from the stream.
</description>
</method>
<method name="is_big_endian_enabled" qualifiers="const">
<return type="bool">
</return>
<description>
Return whether this [StreamPeer] is using big-endian format.
</description>
</method>
<method name="put_16">
<argument index="0" name="val" type="int">
</argument>
<description>
Put a signed 16 bit value into the stream.
</description>
</method>
<method name="put_32">
<argument index="0" name="val" type="int">
</argument>
<description>
Put a signed 32 bit value into the stream.
</description>
</method>
<method name="put_64">
<argument index="0" name="val" type="int">
</argument>
<description>
Put a signed 64 bit value into the stream.
</description>
</method>
<method name="put_8">
<argument index="0" name="val" type="int">
</argument>
<description>
Put a signed byte into the stream.
</description>
</method>
<method name="put_data">
<return type="int">
</return>
<argument index="0" name="data" type="RawArray">
</argument>
<description>
Send a chunk of data through the connection, blocking if necessary until the data is done sending. This function returns an Error code.
</description>
</method>
<method name="put_double">
<argument index="0" name="val" type="float">
</argument>
<description>
Put a double-precision float into the stream.
</description>
</method>
<method name="put_float">
<argument index="0" name="val" type="float">
</argument>
<description>
Put a single-precision float into the stream.
</description>
</method>
<method name="put_partial_data">
<return type="Array">
</return>
<argument index="0" name="data" type="RawArray">
</argument>
<description>
Send a chunk of data through the connection, if all the data could not be sent at once, only part of it will. This function returns two values, an Error code and an integer, describing how much data was actually sent.
</description>
</method>
<method name="put_u16">
<argument index="0" name="val" type="int">
</argument>
<description>
Put an unsigned 16 bit value into the stream.
</description>
</method>
<method name="put_u32">
<argument index="0" name="val" type="int">
</argument>
<description>
Put an unsigned 32 bit value into the stream.
</description>
</method>
<method name="put_u64">
<argument index="0" name="val" type="int">
</argument>
<description>
Put an unsigned 64 bit value into the stream.
</description>
</method>
<method name="put_u8">
<argument index="0" name="val" type="int">
</argument>
<description>
Put an unsigned byte into the stream.
</description>
</method>
<method name="put_utf8_string">
<argument index="0" name="val" type="String">
</argument>
<description>
Put a zero-terminated utf8 string into the stream.
</description>
</method>
<method name="put_var">
<argument index="0" name="val" type="Variant">
</argument>
<description>
Put a Variant into the stream.
</description>
</method>
<method name="set_big_endian">
<argument index="0" name="enable" type="bool">
</argument>
<description>
Set this [StreamPeer] to use big-endian format. Default is false.
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="StreamPeerSSL" inherits="StreamPeer" category="Core">
<brief_description>
SSL Stream peer.
</brief_description>
<description>
SSL Stream peer. This object can be used to connect to SSL servers.
</description>
<methods>
<method name="accept">
<return type="Error">
</return>
<argument index="0" name="stream" type="StreamPeer">
</argument>
<description>
</description>
</method>
<method name="connect">
<return type="Error">
</return>
<argument index="0" name="stream" type="StreamPeer">
</argument>
<argument index="1" name="validate_certs" type="bool" default="false">
</argument>
<argument index="2" name="for_hostname" type="String" default="&quot;&quot;">
</argument>
<description>
Connect to a peer using an underlying [StreamPeer] "stream", when "validate_certs" is true, [StreamPeerSSL] will validate that the certificate presented by the peer matches the "for_hostname".
</description>
</method>
<method name="disconnect">
<description>
Disconnect from host.
</description>
</method>
<method name="get_status" qualifiers="const">
<return type="int">
</return>
<description>
Return the status of the connection, one of STATUS_* enum.
</description>
</method>
</methods>
<constants>
<constant name="STATUS_DISCONNECTED" value="0">
A status representing a [StreamPeerSSL] that is disconnected.
</constant>
<constant name="STATUS_CONNECTED" value="1">
A status representing a [StreamPeerSSL] that is connected to a host.
</constant>
<constant name="STATUS_ERROR_NO_CERTIFICATE" value="2">
An errot status that shows the peer did not present a SSL certificate and validation was requested.
</constant>
<constant name="STATUS_ERROR_HOSTNAME_MISMATCH" value="3">
An error status that shows a mismatch in the SSL certificate domain presented by the host and the domain requested for validation.
</constant>
</constants>
</class>
<class name="StreamPeerTCP" inherits="StreamPeer" category="Core">
<brief_description>
TCP Stream peer.
</brief_description>
<description>
TCP Stream peer. This object can be used to connect to TCP servers, or also is returned by a tcp server.
</description>
<methods>
<method name="connect">
<return type="int">
</return>
<argument index="0" name="host" type="String">
</argument>
<argument index="1" name="port" type="int">
</argument>
<description>
Connect to the specified IP:port pair. Returns [OK] on success or [FAILED] on failure.
</description>
</method>
<method name="disconnect">
<description>
Disconnect from host.
</description>
</method>
<method name="get_connected_host" qualifiers="const">
<return type="String">
</return>
<description>
Return the IP of this peer.
</description>
</method>
<method name="get_connected_port" qualifiers="const">
<return type="int">
</return>
<description>
Return the port of this peer.
</description>
</method>
<method name="get_status" qualifiers="const">
<return type="int">
</return>
<description>
Return the status of the connection, one of STATUS_* enum.
</description>
</method>
<method name="is_connected" qualifiers="const">
<return type="bool">
</return>
<description>
Return whether this peer is connected. Returns true while connecting and connected.
</description>
</method>
</methods>
<constants>
<constant name="STATUS_NONE" value="0">
The initial status of the [StreamPeerTCP], also the status after a disconnect.
</constant>
<constant name="STATUS_CONNECTING" value="1">
A status representing a [StreamPeerTCP] that is connecting to a host.
</constant>
<constant name="STATUS_CONNECTED" value="2">
A status representing a [StreamPeerTCP] that is connected to a host.
</constant>
<constant name="STATUS_ERROR" value="3">
A staus representing a [StreamPeerTCP] in error state.
</constant>
</constants>
</class>
<class name="StreamPlayer" inherits="Node" category="Core">
<brief_description>
Base class for audio stream playback.
</brief_description>
<description>
Base class for audio stream playback. Audio stream players inherit from it.
</description>
<methods>
<method name="get_buffering_msec" qualifiers="const">
<return type="int">
</return>
<description>
Return the size of the audio buffer.
</description>
</method>
<method name="get_length" qualifiers="const">
<return type="float">
</return>
<description>
Return the length of the stream, in seconds.
</description>
</method>
<method name="get_loop_count" qualifiers="const">
<return type="int">
</return>
<description>
Return the number of times the playback has looped.
</description>
</method>
<method name="get_loop_restart_time" qualifiers="const">
<return type="float">
</return>
<description>
Return the point in time the stream will rewind to, when looping.
</description>
</method>
<method name="get_pos" qualifiers="const">
<return type="float">
</return>
<description>
Return the playback position, in seconds.
</description>
</method>
<method name="get_stream" qualifiers="const">
<return type="AudioStream">
</return>
<description>
Return the currently assigned stream.
</description>
</method>
<method name="get_stream_name" qualifiers="const">
<return type="String">
</return>
<description>
Return the name of the currently assigned stream. This is not the file name, but a field inside the file. If no stream is assigned, if returns "&lt;No Stream&gt;".
</description>
</method>
<method name="get_volume" qualifiers="const">
<return type="float">
</return>
<description>
Return the playback volume for this player.
</description>
</method>
<method name="get_volume_db" qualifiers="const">
<return type="float">
</return>
<description>
Return the playback volume for this player, in decibels.
</description>
</method>
<method name="has_autoplay" qualifiers="const">
<return type="bool">
</return>
<description>
Return whether this player will start playing as soon as it enters the scene tree.
</description>
</method>
<method name="has_loop" qualifiers="const">
<return type="bool">
</return>
<description>
Return whether the stream will be restarted at the end.
</description>
</method>
<method name="is_paused" qualifiers="const">
<return type="bool">
</return>
<description>
Return whether the playback is currently paused.
</description>
</method>
<method name="is_playing" qualifiers="const">
<return type="bool">
</return>
<description>
Return whether this player is playing.
</description>
</method>
<method name="play">
<argument index="0" name="offset" type="float" default="0">
</argument>
<description>
Play the currently assigned stream, starting from a given position (in seconds).
</description>
</method>
<method name="seek_pos">
<argument index="0" name="time" type="float">
</argument>
<description>
Set the playback position, in seconds.
</description>
</method>
<method name="set_autoplay">
<argument index="0" name="enabled" type="bool">
</argument>
<description>
Set whether this player will start playing as soon as it enters the scene tree.
</description>
</method>
<method name="set_buffering_msec">
<argument index="0" name="msec" type="int">
</argument>
<description>
Set the size (in milliseconds) of the audio buffer. A long audio buffer protects better against slowdowns, but responds worse to changes (in volume, stream played...). A shorter buffer takes less time to respond to changes, but may stutter if the application suffers some slowdown.
Default is 500 milliseconds.
</description>
</method>
<method name="set_loop">
<argument index="0" name="enabled" type="bool">
</argument>
<description>
Set whether the stream will be restarted at the end.
</description>
</method>
<method name="set_loop_restart_time">
<argument index="0" name="secs" type="float">
</argument>
<description>
Set the point in time the stream will rewind to, when looping.
</description>
</method>
<method name="set_paused">
<argument index="0" name="paused" type="bool">
</argument>
<description>
Pause stream playback.
</description>
</method>
<method name="set_stream">
<argument index="0" name="stream" type="AudioStream">
</argument>
<description>
Set the [EventStream] this player will play.
</description>
</method>
<method name="set_volume">
<argument index="0" name="volume" type="float">
</argument>
<description>
Set the playback volume for this player. This is a float between 0.0 (silent) and 1.0 (full volume). Values over 1.0 will amplify sound even more, but may introduce distortion. Negative values will just invert the output waveform, which produces no audible difference.
</description>
</method>
<method name="set_volume_db">
<argument index="0" name="db" type="float">
</argument>
<description>
Set the playback volume for this player, in decibels. This is a float between -80.0 (silent) and 0.0 (full volume). Values under -79.0 get truncated to -80, but values over 0.0 do not, so the warnings for overamplifying (see [method set_volume]) still apply.
</description>
</method>
<method name="stop">
<description>
Stop the playback.
</description>
</method>
</methods>
<signals>
<signal name="finished">
<description>
This signal triggers when the player stops playing. It will not trigger on each loop.
</description>
</signal>
</signals>
<constants>
</constants>
</class>
<class name="String" category="Built-In Types">
<brief_description>
Built-in string class.
</brief_description>
<description>
This is the built-in string class (and the one used by GDScript). It supports Unicode and provides all necessary means for string handling. Strings are reference counted and use a copy-on-write approach, so passing them around is cheap in resources.
</description>
<methods>
<method name="basename">
<return type="String">
</return>
<description>
If the string is a path to a file, return the path to the file without the extension.
</description>
</method>
<method name="begins_with">
<return type="bool">
</return>
<argument index="0" name="text" type="String">
</argument>
<description>
Return true if the strings begins with the given string.
</description>
</method>
<method name="c_escape">
<return type="String">
</return>
<description>
Return a copy of the string with special characters escaped using the C language standard.
</description>
</method>
<method name="c_unescape">
<return type="String">
</return>
<description>
Return a copy of the string with escaped characters replaced by their meanings according to the C language standard.
</description>
</method>
<method name="capitalize">
<return type="String">
</return>
<description>
Change the case of some letters. Replace underscores with spaces, convert all letters to lowercase then capitalize first and every letter following the space character. For [code]capitalize camelCase mixed_with_underscores[/code] it will return [code]Capitalize Camelcase Mixed With Underscores[/code].
</description>
</method>
<method name="casecmp_to">
<return type="int">
</return>
<argument index="0" name="to" type="String">
</argument>
<description>
Perform a case-sensitive comparison to another string, return -1 if less, 0 if equal and +1 if greater.
</description>
</method>
<method name="empty">
<return type="bool">
</return>
<description>
Return true if the string is empty.
</description>
</method>
<method name="extension">
<return type="String">
</return>
<description>
If the string is a path to a file, return the extension.
</description>
</method>
<method name="find">
<return type="int">
</return>
<argument index="0" name="what" type="String">
</argument>
<argument index="1" name="from" type="int" default="0">
</argument>
<description>
Find the first occurrence of a substring, return the starting position of the substring or -1 if not found. Optionally, the initial search index can be passed.
</description>
</method>
<method name="find_last">
<return type="int">
</return>
<argument index="0" name="what" type="String">
</argument>
<description>
Find the last occurrence of a substring, return the starting position of the substring or -1 if not found. Optionally, the initial search index can be passed.
</description>
</method>
<method name="findn">
<return type="int">
</return>
<argument index="0" name="what" type="String">
</argument>
<argument index="1" name="from" type="int" default="0">
</argument>
<description>
Find the first occurrence of a substring but search as case-insensitive, return the starting position of the substring or -1 if not found. Optionally, the initial search index can be passed.
</description>
</method>
<method name="get_base_dir">
<return type="String">
</return>
<description>
If the string is a path to a file, return the base directory.
</description>
</method>
<method name="get_file">
<return type="String">
</return>
<description>
If the string is a path to a file, return the file and ignore the base directory.
</description>
</method>
<method name="hash">
<return type="int">
</return>
<description>
Hash the string and return a 32 bits integer.
</description>
</method>
<method name="hex_to_int">
<return type="int">
</return>
<description>
Convert a string containing an hexadecimal number into an int.
</description>
</method>
<method name="insert">
<return type="String">
</return>
<argument index="0" name="pos" type="int">
</argument>
<argument index="1" name="what" type="String">
</argument>
<description>
Insert a substring at a given position.
</description>
</method>
<method name="is_abs_path">
<return type="bool">
</return>
<description>
If the string is a path to a file or directory, return true if the path is absolute.
</description>
</method>
<method name="is_rel_path">
<return type="bool">
</return>
<description>
If the string is a path to a file or directory, return true if the path is relative.
</description>
</method>
<method name="is_valid_float">
<return type="bool">
</return>
<description>
Check whether the string contains a valid float.
</description>
</method>
<method name="is_valid_html_color">
<return type="bool">
</return>
<description>
Check whether the string contains a valid color in HTML notation.
</description>
</method>
<method name="is_valid_identifier">
<return type="bool">
</return>
<description>
Check whether the string is a valid identifier. As is common in programming languages, a valid identifier may contain only letters, digits and underscores (_) and the first character may not be a digit.
</description>
</method>
<method name="is_valid_integer">
<return type="bool">
</return>
<description>
Check whether the string contains a valid integer.
</description>
</method>
<method name="is_valid_ip_address">
<return type="bool">
</return>
<description>
Check whether the string contains a valid IP address.
</description>
</method>
<method name="json_escape">
<return type="String">
</return>
<description>
Return a copy of the string with special characters escaped using the JSON standard.
</description>
</method>
<method name="left">
<return type="String">
</return>
<argument index="0" name="pos" type="int">
</argument>
<description>
Return an amount of characters from the left of the string.
</description>
</method>
<method name="length">
<return type="int">
</return>
<description>
Return the length of the string in characters.
</description>
</method>
<method name="match">
<return type="bool">
</return>
<argument index="0" name="expr" type="String">
</argument>
<description>
Do a simple expression match, where '*' matches zero or more arbitrary characters and '?' matches any single character except '.'.
</description>
</method>
<method name="matchn">
<return type="bool">
</return>
<argument index="0" name="expr" type="String">
</argument>
<description>
Do a simple case insensitive expression match, using ? and * wildcards (see [method match]).
</description>
</method>
<method name="md5_buffer">
<return type="RawArray">
</return>
<description>
Return the MD5 hash of the string as an array of bytes.
</description>
</method>
<method name="md5_text">
<return type="String">
</return>
<description>
Return the MD5 hash of the string as a string.
</description>
</method>
<method name="nocasecmp_to">
<return type="int">
</return>
<argument index="0" name="to" type="String">
</argument>
<description>
Perform a case-insensitive comparison to another string, return -1 if less, 0 if equal and +1 if greater.
</description>
</method>
<method name="ord_at">
<return type="int">
</return>
<argument index="0" name="at" type="int">
</argument>
<description>
Return the character code at position [code]at[/code].
</description>
</method>
<method name="pad_decimals">
<return type="String">
</return>
<argument index="0" name="digits" type="int">
</argument>
<description>
Format a number to have an exact number of [code]digits[/code] after the decimal point.
</description>
</method>
<method name="pad_zeros">
<return type="String">
</return>
<argument index="0" name="digits" type="int">
</argument>
<description>
Format a number to have an exact number of [code]digits[/code] before the decimal point.
</description>
</method>
<method name="percent_decode">
<return type="String">
</return>
<description>
Decode a percent-encoded string. See [method percent_encode].
</description>
</method>
<method name="percent_encode">
<return type="String">
</return>
<description>
Percent-encode a string. This is meant to encode parameters in a URL when sending a HTTP GET request and bodies of form-urlencoded POST request.
</description>
</method>
<method name="plus_file">
<return type="String">
</return>
<argument index="0" name="file" type="String">
</argument>
<description>
If the string is a path, this concatenates [code]file[/code] at the end of the string as a subpath. E.g. [code]"this/is".plus_file("path") == "this/is/path"[/code].
</description>
</method>
<method name="replace">
<return type="String">
</return>
<argument index="0" name="what" type="String">
</argument>
<argument index="1" name="forwhat" type="String">
</argument>
<description>
Replace occurrences of a substring for different ones inside the string.
</description>
</method>
<method name="replacen">
<return type="String">
</return>
<argument index="0" name="what" type="String">
</argument>
<argument index="1" name="forwhat" type="String">
</argument>
<description>
Replace occurrences of a substring for different ones inside the string, but search case-insensitive.
</description>
</method>
<method name="rfind">
<return type="int">
</return>
<argument index="0" name="what" type="String">
</argument>
<argument index="1" name="from" type="int" default="-1">
</argument>
<description>
Perform a search for a substring, but start from the end of the string instead of the beginning.
</description>
</method>
<method name="rfindn">
<return type="int">
</return>
<argument index="0" name="what" type="String">
</argument>
<argument index="1" name="from" type="int" default="-1">
</argument>
<description>
Perform a search for a substring, but start from the end of the string instead of the beginning. Also search case-insensitive.
</description>
</method>
<method name="right">
<return type="String">
</return>
<argument index="0" name="pos" type="int">
</argument>
<description>
Return the right side of the string from a given position.
</description>
</method>
<method name="split">
<return type="StringArray">
</return>
<argument index="0" name="divisor" type="String">
</argument>
<argument index="1" name="allow_empty" type="bool" default="True">
</argument>
<description>
Split the string by a divisor string, return an array of the substrings. Example "One,Two,Three" will return ["One","Two","Three"] if split by ",".
</description>
</method>
<method name="split_floats">
<return type="RealArray">
</return>
<argument index="0" name="divisor" type="String">
</argument>
<argument index="1" name="allow_empty" type="bool" default="True">
</argument>
<description>
Split the string in floats by using a divisor string, return an array of the substrings. Example "1,2.5,3" will return [1,2.5,3] if split by ",".
</description>
</method>
<method name="strip_edges">
<return type="String">
</return>
<argument index="0" name="left" type="bool" default="True">
</argument>
<argument index="1" name="right" type="bool" default="True">
</argument>
<description>
Return a copy of the string stripped of any non-printable character at the beginning and the end. The optional arguments are used to toggle stripping on the left and right edges respectively.
</description>
</method>
<method name="substr">
<return type="String">
</return>
<argument index="0" name="from" type="int">
</argument>
<argument index="1" name="len" type="int">
</argument>
<description>
Return part of the string from the position [code]from[/code], with length [code]len[/code].
</description>
</method>
<method name="to_ascii">
<return type="RawArray">
</return>
<description>
Convert the String (which is a character array) to RawArray (which is an array of bytes). The conversion is speeded up in comparison to to_utf8() with the assumption that all the characters the String contains are only ASCII characters.
</description>
</method>
<method name="to_float">
<return type="float">
</return>
<description>
Convert a string, containing a decimal number, into a [code]float[/code].
</description>
</method>
<method name="to_int">
<return type="int">
</return>
<description>
Convert a string, containing an integer number, into an [code]int[/code].
</description>
</method>
<method name="to_lower">
<return type="String">
</return>
<description>
Return the string converted to lowercase.
</description>
</method>
<method name="to_upper">
<return type="String">
</return>
<description>
Return the string converted to uppercase.
</description>
</method>
<method name="to_utf8">
<return type="RawArray">
</return>
<description>
Convert the String (which is an array of characters) to RawArray (which is an array of bytes). The conversion is a bit slower than to_ascii(), but supports all UTF-8 characters. Therefore, you should prefer this function over to_ascii().
</description>
</method>
<method name="xml_escape">
<return type="String">
</return>
<description>
Return a copy of the string with special characters escaped using the XML standard.
</description>
</method>
<method name="xml_unescape">
<return type="String">
</return>
<description>
Return a copy of the string with escaped characters replaced by their meanings according to the XML standard.
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="StringArray" category="Built-In Types">
<brief_description>
String Array.
</brief_description>
<description>
String Array. Array of strings. Can only contain strings. Optimized for memory usage, can't fragment the memory.
</description>
<methods>
<method name="StringArray">
<return type="StringArray">
</return>
<argument index="0" name="from" type="Array">
</argument>
<description>
Create from a generic array.
</description>
</method>
<method name="push_back">
<argument index="0" name="string" type="String">
</argument>
<description>
Append a string element at end of the array.
</description>
</method>
<method name="resize">
<argument index="0" name="idx" type="int">
</argument>
<description>
Set the size of the [StringArray]. If larger than the current size it will reserve some space beforehand, and if it is smaller it will cut off the array.
</description>
</method>
<method name="set">
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="string" type="String">
</argument>
<description>
Change the [String] at the given index.
</description>
</method>
<method name="size">
<return type="int">
</return>
<description>
Return the size of the array.
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="StyleBox" inherits="Resource" category="Core">
<brief_description>
Base class for drawing stylized boxes for the UI.
</brief_description>
<description>
StyleBox is [Resource] that provides an abstract base class for drawing stylized boxes for the UI. StyleBoxes are used for drawing the styles of buttons, line edit backgrounds, tree backgrounds, etc. and also for testing a transparency mask for pointer signals. If mask test fails on a StyleBox assigned as mask to a control, clicks and motion signals will go through it to the one below.
</description>
<methods>
<method name="draw" qualifiers="const">
<argument index="0" name="canvas_item" type="RID">
</argument>
<argument index="1" name="rect" type="Rect2">
</argument>
<description>
</description>
</method>
<method name="get_center_size" qualifiers="const">
<return type="Vector2">
</return>
<description>
</description>
</method>
<method name="get_default_margin" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="margin" type="int">
</argument>
<description>
Return the default offset of the margin "margin" (see MARGIN_* enum) of a StyleBox, Controls that draw styleboxes with context inside need to know the margin, so the border of the stylebox is not occluded.
</description>
</method>
<method name="get_margin" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="margin" type="int">
</argument>
<description>
Return the offset of margin "margin" (see MARGIN_* enum).
</description>
</method>
<method name="get_minimum_size" qualifiers="const">
<return type="Vector2">
</return>
<description>
Return the minimum size that this stylebox can be shrunk to.
</description>
</method>
<method name="get_offset" qualifiers="const">
<return type="Vector2">
</return>
<description>
Return the "offset" of a stylebox, this is a helper function, like writing [code]Vector2(style.get_margin(MARGIN_LEFT), style.get_margin(MARGIN_TOP))[/code].
</description>
</method>
<method name="set_default_margin">
<argument index="0" name="margin" type="int">
</argument>
<argument index="1" name="offset" type="float">
</argument>
<description>
Set the default offset "offset" of the margin "margin" (see MARGIN_* enum) for a StyleBox, Controls that draw styleboxes with context inside need to know the margin, so the border of the stylebox is not occluded.
</description>
</method>
<method name="test_mask" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="point" type="Vector2">
</argument>
<argument index="1" name="rect" type="Rect2">
</argument>
<description>
Test a position in a rectangle, return whether it passes the mask test.
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="StyleBoxEmpty" inherits="StyleBox" category="Core">
<brief_description>
Empty stylebox (does not display anything).
</brief_description>
<description>
Empty stylebox (really does not display anything).
</description>
<methods>
</methods>
<constants>
</constants>
</class>
<class name="StyleBoxFlat" inherits="StyleBox" category="Core">
<brief_description>
Stylebox of a single color.
</brief_description>
<description>
Stylebox of a single color. Displays the stylebox of a single color, alternatively a border with light/dark colors can be assigned.
</description>
<methods>
<method name="get_bg_color" qualifiers="const">
<return type="Color">
</return>
<description>
</description>
</method>
<method name="get_border_blend" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="get_border_size" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_dark_color" qualifiers="const">
<return type="Color">
</return>
<description>
</description>
</method>
<method name="get_draw_center" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="get_light_color" qualifiers="const">
<return type="Color">
</return>
<description>
</description>
</method>
<method name="set_bg_color">
<argument index="0" name="color" type="Color">
</argument>
<description>
</description>
</method>
<method name="set_border_blend">
<argument index="0" name="blend" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_border_size">
<argument index="0" name="size" type="int">
</argument>
<description>
</description>
</method>
<method name="set_dark_color">
<argument index="0" name="color" type="Color">
</argument>
<description>
</description>
</method>
<method name="set_draw_center">
<argument index="0" name="size" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_light_color">
<argument index="0" name="color" type="Color">
</argument>
<description>
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="StyleBoxImageMask" inherits="StyleBox" category="Core">
<brief_description>
Image mask based StyleBox, for mask test.
</brief_description>
<description>
This StyleBox is similar to [StyleBoxTexture], but only meant to be used for mask testing. It takes an image and applies stretch rules to determine if the point clicked is masked or not.
</description>
<methods>
<method name="get_expand" qualifiers="const">
<return type="bool">
</return>
<description>
Return whether the expand property is set(default). When expanding, the image will use the same rules as [StyleBoxTexture] for expand. If not expanding, the image will always be tested at its original size.
</description>
</method>
<method name="get_expand_margin_size" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="margin" type="int">
</argument>
<description>
Return the expand margin size (from enum MARGIN_*). Parts of the image below the size of the margin (and in the direction of the margin) will not expand.
</description>
</method>
<method name="get_image" qualifiers="const">
<return type="Image">
</return>
<description>
Return the image used for mask testing. (see [method set_image]).
</description>
</method>
<method name="set_expand">
<argument index="0" name="expand" type="bool">
</argument>
<description>
Set the expand property (default). When expanding, the image will use the same rules as [StyleBoxTexture] for expand. If not expanding, the image will always be tested at its original size.
</description>
</method>
<method name="set_expand_margin_size">
<argument index="0" name="margin" type="int">
</argument>
<argument index="1" name="size" type="float">
</argument>
<description>
Set an expand margin size (from enum MARGIN_*). Parts of the image below the size of the margin (and in the direction of the margin) will not expand.
</description>
</method>
<method name="set_image">
<argument index="0" name="image" type="Image">
</argument>
<description>
Set the image used for mask testing. Pixels (converted to grey) that have a value, less than 0.5 will fail the test.
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="StyleBoxTexture" inherits="StyleBox" category="Core">
<brief_description>
Texture Based 3x3 scale style.
</brief_description>
<description>
Texture Based 3x3 scale style. This stylebox performs a 3x3 scaling of a texture, where only the center cell is fully stretched. This allows for the easy creation of bordered styles.
</description>
<methods>
<method name="get_draw_center" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="get_expand_margin_size" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="margin" type="int">
</argument>
<description>
</description>
</method>
<method name="get_margin_size" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="margin" type="int">
</argument>
<description>
</description>
</method>
<method name="get_texture" qualifiers="const">
<return type="Texture">
</return>
<description>
</description>
</method>
<method name="set_draw_center">
<argument index="0" name="enable" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_expand_margin_size">
<argument index="0" name="margin" type="int">
</argument>
<argument index="1" name="size" type="float">
</argument>
<description>
</description>
</method>
<method name="set_margin_size">
<argument index="0" name="margin" type="int">
</argument>
<argument index="1" name="size" type="float">
</argument>
<description>
</description>
</method>
<method name="set_texture">
<argument index="0" name="texture" type="Texture">
</argument>
<description>
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="SurfaceTool" inherits="Reference" category="Core">
<brief_description>
Helper tool to create geometry.
</brief_description>
<description>
Helper tool to create geometry.
</description>
<methods>
<method name="add_bones">
<argument index="0" name="bones" type="IntArray">
</argument>
<description>
</description>
</method>
<method name="add_color">
<argument index="0" name="color" type="Color">
</argument>
<description>
</description>
</method>
<method name="add_normal">
<argument index="0" name="normal" type="Vector3">
</argument>
<description>
</description>
</method>
<method name="add_smooth_group">
<argument index="0" name="smooth" type="bool">
</argument>
<description>
</description>
</method>
<method name="add_tangent">
<argument index="0" name="tangent" type="Plane">
</argument>
<description>
</description>
</method>
<method name="add_uv">
<argument index="0" name="uv" type="Vector2">
</argument>
<description>
</description>
</method>
<method name="add_uv2">
<argument index="0" name="uv2" type="Vector2">
</argument>
<description>
</description>
</method>
<method name="add_vertex">
<argument index="0" name="vertex" type="Vector3">
</argument>
<description>
</description>
</method>
<method name="add_weights">
<argument index="0" name="weights" type="RealArray">
</argument>
<description>
</description>
</method>
<method name="begin">
<argument index="0" name="primitive" type="int">
</argument>
<description>
</description>
</method>
<method name="clear">
<description>
</description>
</method>
<method name="commit">
<return type="Mesh">
</return>
<argument index="0" name="existing" type="Mesh" default="NULL">
</argument>
<description>
</description>
</method>
<method name="deindex">
<description>
</description>
</method>
<method name="generate_normals">
<description>
</description>
</method>
<method name="index">
<description>
</description>
</method>
<method name="set_material">
<argument index="0" name="material" type="Material">
</argument>
<description>
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="TCP_Server" inherits="Reference" category="Core">
<brief_description>
TCP Server.
</brief_description>
<description>
TCP Server class. Listens to connections on a port and returns a [StreamPeerTCP] when got a connection.
</description>
<methods>
<method name="is_connection_available" qualifiers="const">
<return type="bool">
</return>
<description>
Return true if a connection is available for taking.
</description>
</method>
<method name="listen">
<return type="int">
</return>
<argument index="0" name="port" type="int">
</argument>
<argument index="1" name="accepted_hosts" type="StringArray" default="StringArray([])">
</argument>
<description>
Listen on a port, alternatively give a white-list of accepted hosts.
</description>
</method>
<method name="stop">
<description>
Stop listening.
</description>
</method>
<method name="take_connection">
<return type="Object">
</return>
<description>
If a connection is available, return a StreamPeerTCP with the connection/
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="TabContainer" inherits="Control" category="Core">
<brief_description>
Tabbed Container.
</brief_description>
<description>
Tabbed Container. Contains several children controls, but shows only one at the same time. Clicking on the top tabs allows to change the currently visible one.
Children controls of this one automatically.
</description>
<methods>
<method name="are_tabs_visible" qualifiers="const">
<return type="bool">
</return>
<description>
Return whether the tabs should be visible or hidden.
</description>
</method>
<method name="get_current_tab" qualifiers="const">
<return type="int">
</return>
<description>
Return the current tab that is being showed.
</description>
</method>
<method name="get_current_tab_control" qualifiers="const">
<return type="Control">
</return>
<description>
</description>
</method>
<method name="get_popup" qualifiers="const">
<return type="Popup">
</return>
<description>
</description>
</method>
<method name="get_tab_align" qualifiers="const">
<return type="int">
</return>
<description>
Return tab alignment, from the ALIGN_* enum.
</description>
</method>
<method name="get_tab_control" qualifiers="const">
<return type="Control">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
</description>
</method>
<method name="get_tab_count" qualifiers="const">
<return type="int">
</return>
<description>
Return the amount of tabs.
</description>
</method>
<method name="get_tab_icon" qualifiers="const">
<return type="Texture">
</return>
<argument index="0" name="tab_idx" type="int">
</argument>
<description>
</description>
</method>
<method name="get_tab_title" qualifiers="const">
<return type="String">
</return>
<argument index="0" name="tab_idx" type="int">
</argument>
<description>
Return the title for the tab. Tab titles are by default the children node name, but this can be overridden.
</description>
</method>
<method name="set_current_tab">
<argument index="0" name="tab_idx" type="int">
</argument>
<description>
Bring a tab (and the Control it represents) to the front, and hide the rest.
</description>
</method>
<method name="set_popup">
<argument index="0" name="popup" type="Popup">
</argument>
<description>
</description>
</method>
<method name="set_tab_align">
<argument index="0" name="align" type="int">
</argument>
<description>
Set tab alignment, from the ALIGN_* enum. Moves tabs to the left, right or center.
</description>
</method>
<method name="set_tab_icon">
<argument index="0" name="tab_idx" type="int">
</argument>
<argument index="1" name="icon" type="Texture">
</argument>
<description>
Set an icon for a tab.
</description>
</method>
<method name="set_tab_title">
<argument index="0" name="tab_idx" type="int">
</argument>
<argument index="1" name="title" type="String">
</argument>
<description>
Set a title for the tab. Tab titles are by default the children node name, but this can be overridden.
</description>
</method>
<method name="set_tabs_visible">
<argument index="0" name="visible" type="bool">
</argument>
<description>
Set whether the tabs should be visible or hidden.
</description>
</method>
</methods>
<signals>
<signal name="pre_popup_pressed">
<description>
</description>
</signal>
<signal name="tab_changed">
<argument index="0" name="tab" type="int">
</argument>
<description>
Emitted when the current tab changes.
</description>
</signal>
</signals>
<constants>
</constants>
<theme_items>
<theme_item name="decrement" type="Texture">
</theme_item>
<theme_item name="decrement_hilite" type="Texture">
</theme_item>
<theme_item name="font" type="Font">
</theme_item>
<theme_item name="font_color_bg" type="Color">
</theme_item>
<theme_item name="font_color_fg" type="Color">
</theme_item>
<theme_item name="hseparation" type="int">
</theme_item>
<theme_item name="increment" type="Texture">
</theme_item>
<theme_item name="increment_hilite" type="Texture">
</theme_item>
<theme_item name="label_valign_bg" type="int">
</theme_item>
<theme_item name="label_valign_fg" type="int">
</theme_item>
<theme_item name="menu" type="Texture">
</theme_item>
<theme_item name="menu_hilite" type="Texture">
</theme_item>
<theme_item name="panel" type="StyleBox">
</theme_item>
<theme_item name="side_margin" type="int">
</theme_item>
<theme_item name="tab_bg" type="StyleBox">
</theme_item>
<theme_item name="tab_fg" type="StyleBox">
</theme_item>
<theme_item name="top_margin" type="int">
</theme_item>
</theme_items>
</class>
<class name="Tabs" inherits="Control" category="Core">
<brief_description>
Tabs Control.
</brief_description>
<description>
Simple tabs control, similar to [TabContainer] but is only in charge of drawing tabs, not interact with children.
</description>
<methods>
<method name="add_tab">
<argument index="0" name="title" type="String">
</argument>
<argument index="1" name="icon" type="Texture">
</argument>
<description>
</description>
</method>
<method name="ensure_tab_visible">
<argument index="0" name="idx" type="int">
</argument>
<description>
</description>
</method>
<method name="get_current_tab" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_tab_align" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_tab_count" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_tab_icon" qualifiers="const">
<return type="Texture">
</return>
<argument index="0" name="tab_idx" type="int">
</argument>
<description>
</description>
</method>
<method name="get_tab_title" qualifiers="const">
<return type="String">
</return>
<argument index="0" name="tab_idx" type="int">
</argument>
<description>
</description>
</method>
<method name="remove_tab">
<argument index="0" name="tab_idx" type="int">
</argument>
<description>
</description>
</method>
<method name="set_current_tab">
<argument index="0" name="tab_idx" type="int">
</argument>
<description>
</description>
</method>
<method name="set_tab_align">
<argument index="0" name="align" type="int">
</argument>
<description>
</description>
</method>
<method name="set_tab_icon">
<argument index="0" name="tab_idx" type="int">
</argument>
<argument index="1" name="icon" type="Texture">
</argument>
<description>
</description>
</method>
<method name="set_tab_title">
<argument index="0" name="tab_idx" type="int">
</argument>
<argument index="1" name="title" type="String">
</argument>
<description>
</description>
</method>
</methods>
<signals>
<signal name="right_button_pressed">
<argument index="0" name="tab" type="int">
</argument>
<description>
</description>
</signal>
<signal name="tab_changed">
<argument index="0" name="tab" type="int">
</argument>
<description>
</description>
</signal>
<signal name="tab_close">
<argument index="0" name="tab" type="int">
</argument>
<description>
</description>
</signal>
</signals>
<constants>
<constant name="ALIGN_LEFT" value="0">
</constant>
<constant name="ALIGN_CENTER" value="1">
</constant>
<constant name="ALIGN_RIGHT" value="2">
</constant>
<constant name="CLOSE_BUTTON_SHOW_ACTIVE_ONLY" value="1">
</constant>
<constant name="CLOSE_BUTTON_SHOW_ALWAYS" value="2">
</constant>
<constant name="CLOSE_BUTTON_SHOW_NEVER" value="0">
</constant>
</constants>
<theme_items>
<theme_item name="button" type="StyleBox">
</theme_item>
<theme_item name="button_pressed" type="StyleBox">
</theme_item>
<theme_item name="close" type="Texture">
</theme_item>
<theme_item name="decrement" type="Texture">
</theme_item>
<theme_item name="decrement_hilite" type="Texture">
</theme_item>
<theme_item name="font" type="Font">
</theme_item>
<theme_item name="font_color_bg" type="Color">
</theme_item>
<theme_item name="font_color_fg" type="Color">
</theme_item>
<theme_item name="hseparation" type="int">
</theme_item>
<theme_item name="increment" type="Texture">
</theme_item>
<theme_item name="increment_hilite" type="Texture">
</theme_item>
<theme_item name="label_valign_bg" type="int">
</theme_item>
<theme_item name="label_valign_fg" type="int">
</theme_item>
<theme_item name="panel" type="StyleBox">
</theme_item>
<theme_item name="tab_bg" type="StyleBox">
</theme_item>
<theme_item name="tab_fg" type="StyleBox">
</theme_item>
<theme_item name="top_margin" type="int">
</theme_item>
</theme_items>
</class>
<class name="TestCube" inherits="GeometryInstance" category="Core">
<brief_description>
A simple cube used for testing in 3D.
</brief_description>
<description>
The TestCube is a simple 2x2x2 cube with a basic texture. It can be used as a placeholder, to verify how the lighting looks, to test shaders, or any other task you may need a textured model to test with.
</description>
<methods>
</methods>
<constants>
</constants>
</class>
<class name="TextEdit" inherits="Control" category="Core">
<brief_description>
Multiline text editing control.
</brief_description>
<description>
TextEdit is meant for editing large, multiline text. It also has facilities for editing code, such as syntax highlighting support and multiple levels of undo/redo.
</description>
<methods>
<method name="add_color_region">
<argument index="0" name="begin_key" type="String">
</argument>
<argument index="1" name="end_key" type="String">
</argument>
<argument index="2" name="color" type="Color">
</argument>
<argument index="3" name="line_only" type="bool" default="false">
</argument>
<description>
Add color region (given the delimiters) and its colors.
</description>
</method>
<method name="add_keyword_color">
<argument index="0" name="keyword" type="String">
</argument>
<argument index="1" name="color" type="Color">
</argument>
<description>
Add a keyword and its color.
</description>
</method>
<method name="clear_colors">
<description>
Clear all the syntax coloring information.
</description>
</method>
<method name="clear_undo_history">
<description>
Clear the undo history.
</description>
</method>
<method name="copy">
<description>
Copy the current selection.
</description>
</method>
<method name="cursor_get_blink_enabled" qualifiers="const">
<return type="bool">
</return>
<description>
Gets whether the text editor caret is blinking.
</description>
</method>
<method name="cursor_get_blink_speed" qualifiers="const">
<return type="float">
</return>
<description>
Gets the text editor caret blink speed.
</description>
</method>
<method name="cursor_get_column" qualifiers="const">
<return type="int">
</return>
<description>
Return the column the editing cursor is at.
</description>
</method>
<method name="cursor_get_line" qualifiers="const">
<return type="int">
</return>
<description>
Return the line the editing cursor is at.
</description>
</method>
<method name="cursor_set_blink_enabled">
<argument index="0" name="enable" type="bool">
</argument>
<description>
Set the text editor caret to blink.
</description>
</method>
<method name="cursor_set_blink_speed">
<argument index="0" name="blink_speed" type="float">
</argument>
<description>
Set the text editor caret blink speed. Cannot be less then or equal to 0.
</description>
</method>
<method name="cursor_set_column">
<argument index="0" name="column" type="int">
</argument>
<argument index="1" name="adjust_viewport" type="bool" default="false">
</argument>
<description>
</description>
</method>
<method name="cursor_set_line">
<argument index="0" name="line" type="int">
</argument>
<argument index="1" name="adjust_viewport" type="bool" default="false">
</argument>
<description>
</description>
</method>
<method name="cut">
<description>
Cut the current selection.
</description>
</method>
<method name="get_line" qualifiers="const">
<return type="String">
</return>
<argument index="0" name="line" type="int">
</argument>
<description>
Return the text of a specific line.
</description>
</method>
<method name="get_line_count" qualifiers="const">
<return type="int">
</return>
<description>
Return the amount of total lines in the text.
</description>
</method>
<method name="get_selection_from_column" qualifiers="const">
<return type="int">
</return>
<description>
Return the selection begin column.
</description>
</method>
<method name="get_selection_from_line" qualifiers="const">
<return type="int">
</return>
<description>
Return the selection begin line.
</description>
</method>
<method name="get_selection_text" qualifiers="const">
<return type="String">
</return>
<description>
Return the text inside the selection.
</description>
</method>
<method name="get_selection_to_column" qualifiers="const">
<return type="int">
</return>
<description>
Return the selection end column.
</description>
</method>
<method name="get_selection_to_line" qualifiers="const">
<return type="int">
</return>
<description>
Return the selection end line.
</description>
</method>
<method name="get_text">
<return type="String">
</return>
<description>
Return the whole text.
</description>
</method>
<method name="get_word_under_cursor" qualifiers="const">
<return type="String">
</return>
<description>
</description>
</method>
<method name="insert_text_at_cursor">
<argument index="0" name="text" type="String">
</argument>
<description>
Insert a given text at the cursor position.
</description>
</method>
<method name="is_selection_active" qualifiers="const">
<return type="bool">
</return>
<description>
Return true if the selection is active.
</description>
</method>
<method name="is_syntax_coloring_enabled" qualifiers="const">
<return type="bool">
</return>
<description>
Return true if the syntax coloring is enabled.
</description>
</method>
<method name="paste">
<description>
Paste the current selection.
</description>
</method>
<method name="redo">
<description>
Perform redo operation.
</description>
</method>
<method name="search" qualifiers="const">
<return type="IntArray">
</return>
<argument index="0" name="flags" type="String">
</argument>
<argument index="1" name="from_line" type="int">
</argument>
<argument index="2" name="from_column" type="int">
</argument>
<argument index="3" name="to_line" type="int">
</argument>
<description>
Perform a search inside the text. Search flags can be specified in the SEARCH_* enum.
</description>
</method>
<method name="select">
<argument index="0" name="from_line" type="int">
</argument>
<argument index="1" name="from_column" type="int">
</argument>
<argument index="2" name="to_line" type="int">
</argument>
<argument index="3" name="to_column" type="int">
</argument>
<description>
Perform selection, from line/column to line/column.
</description>
</method>
<method name="select_all">
<description>
Select all the text.
</description>
</method>
<method name="set_custom_bg_color">
<argument index="0" name="color" type="Color">
</argument>
<description>
Set a custom background color. A background color with alpha==0 disables this.
</description>
</method>
<method name="set_max_chars">
<argument index="0" name="amount" type="int">
</argument>
<description>
Set the maximum amount of characters editable.
</description>
</method>
<method name="set_readonly">
<argument index="0" name="enable" type="bool">
</argument>
<description>
Set the text editor as read-only. Text can be displayed but not edited.
</description>
</method>
<method name="set_symbol_color">
<argument index="0" name="color" type="Color">
</argument>
<description>
Set the color for symbols.
</description>
</method>
<method name="set_syntax_coloring">
<argument index="0" name="enable" type="bool">
</argument>
<description>
Set to enable the syntax coloring.
</description>
</method>
<method name="set_text">
<argument index="0" name="text" type="String">
</argument>
<description>
Set the entire text.
</description>
</method>
<method name="set_wrap">
<argument index="0" name="enable" type="bool">
</argument>
<description>
Enable text wrapping when it goes beyond he edge of what is visible.
</description>
</method>
<method name="undo">
<description>
Perform undo operation.
</description>
</method>
</methods>
<signals>
<signal name="cursor_changed">
<description>
Emitted when the cursor changes.
</description>
</signal>
<signal name="request_completion">
<description>
</description>
</signal>
<signal name="text_changed">
<description>
Emitted when the text changes.
</description>
</signal>
</signals>
<constants>
<constant name="SEARCH_MATCH_CASE" value="1">
Match case when searching.
</constant>
<constant name="SEARCH_WHOLE_WORDS" value="2">
Match whole words when searching.
</constant>
<constant name="SEARCH_BACKWARDS" value="4">
Search from end to beginning.
</constant>
</constants>
<theme_items>
<theme_item name="brace_mismatch_color" type="Color">
</theme_item>
<theme_item name="breakpoint_color" type="Color">
</theme_item>
<theme_item name="caret_color" type="Color">
</theme_item>
<theme_item name="completion" type="StyleBox">
</theme_item>
<theme_item name="completion_existing" type="Color">
</theme_item>
<theme_item name="completion_lines" type="int">
</theme_item>
<theme_item name="completion_max_width" type="int">
</theme_item>
<theme_item name="completion_scroll_color" type="Color">
</theme_item>
<theme_item name="completion_scroll_width" type="int">
</theme_item>
<theme_item name="completion_selected" type="StyleBox">
</theme_item>
<theme_item name="current_line_color" type="Color">
</theme_item>
<theme_item name="focus" type="StyleBox">
</theme_item>
<theme_item name="font" type="Font">
</theme_item>
<theme_item name="font_color" type="Color">
</theme_item>
<theme_item name="font_color_selected" type="Color">
</theme_item>
<theme_item name="line_spacing" type="int">
</theme_item>
<theme_item name="mark_color" type="Color">
</theme_item>
<theme_item name="normal" type="StyleBox">
</theme_item>
<theme_item name="selection_color" type="Color">
</theme_item>
<theme_item name="symbol_color" type="Color">
</theme_item>
<theme_item name="tab" type="Texture">
</theme_item>
</theme_items>
</class>
<class name="Texture" inherits="Resource" category="Core">
<brief_description>
Texture for 2D and 3D.
</brief_description>
<description>
A texture works by registering an image in the video hardware, which then can be used in 3D models or 2D [Sprite] or GUI [Control].
</description>
<methods>
<method name="draw" qualifiers="const">
<argument index="0" name="canvas_item" type="RID">
</argument>
<argument index="1" name="pos" type="Vector2">
</argument>
<argument index="2" name="modulate" type="Color" default="Color(1,1,1,1)">
</argument>
<argument index="3" name="transpose" type="bool" default="false">
</argument>
<description>
</description>
</method>
<method name="draw_rect" qualifiers="const">
<argument index="0" name="canvas_item" type="RID">
</argument>
<argument index="1" name="rect" type="Rect2">
</argument>
<argument index="2" name="tile" type="bool">
</argument>
<argument index="3" name="modulate" type="Color" default="Color(1,1,1,1)">
</argument>
<argument index="4" name="transpose" type="bool" default="false">
</argument>
<description>
</description>
</method>
<method name="draw_rect_region" qualifiers="const">
<argument index="0" name="canvas_item" type="RID">
</argument>
<argument index="1" name="rect" type="Rect2">
</argument>
<argument index="2" name="src_rect" type="Rect2">
</argument>
<argument index="3" name="modulate" type="Color" default="Color(1,1,1,1)">
</argument>
<argument index="4" name="transpose" type="bool" default="false">
</argument>
<description>
</description>
</method>
<method name="get_flags" qualifiers="const">
<return type="int">
</return>
<description>
Return the current texture flags.
</description>
</method>
<method name="get_height" qualifiers="const">
<return type="int">
</return>
<description>
Return the texture height.
</description>
</method>
<method name="get_rid" qualifiers="const">
<return type="RID">
</return>
<description>
Return the texture RID as used in the [VisualServer].
</description>
</method>
<method name="get_size" qualifiers="const">
<return type="Vector2">
</return>
<description>
Return the texture size.
</description>
</method>
<method name="get_width" qualifiers="const">
<return type="int">
</return>
<description>
Return the texture width.
</description>
</method>
<method name="has_alpha" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="set_flags">
<argument index="0" name="flags" type="int">
</argument>
<description>
Change the texture flags.
</description>
</method>
</methods>
<constants>
<constant name="FLAG_MIPMAPS" value="1">
Generate mipmaps, to enable smooth zooming out of the texture.
</constant>
<constant name="FLAG_REPEAT" value="2">
Repeat (instead of clamp to edge).
</constant>
<constant name="FLAG_FILTER" value="4">
Turn on magnifying filter, to enable smooth zooming in of the texture.
</constant>
<constant name="FLAG_VIDEO_SURFACE" value="4096">
Texture is a video surface.
</constant>
<constant name="FLAGS_DEFAULT" value="7">
Default flags. Generate mipmaps, repeat, and filter are enabled.
</constant>
<constant name="FLAG_ANISOTROPIC_FILTER" value="8">
</constant>
<constant name="FLAG_CONVERT_TO_LINEAR" value="16">
</constant>
<constant name="FLAG_MIRRORED_REPEAT" value="32">
</constant>
</constants>
</class>
<class name="TextureButton" inherits="BaseButton" category="Core">
<brief_description>
Button that can be themed with textures.
</brief_description>
<description>
Button that can be themed with textures. This is like a regular [Button] but can be themed by assigning textures to it. This button is intended to be easy to theme, however a regular button can expand (that uses styleboxes) and still be better if the interface is expect to have internationalization of texts.
Only the normal texture is required, the others are optional.
</description>
<methods>
<method name="get_click_mask" qualifiers="const">
<return type="BitMap">
</return>
<description>
</description>
</method>
<method name="get_disabled_texture" qualifiers="const">
<return type="Texture">
</return>
<description>
</description>
</method>
<method name="get_focused_texture" qualifiers="const">
<return type="Texture">
</return>
<description>
</description>
</method>
<method name="get_hover_texture" qualifiers="const">
<return type="Texture">
</return>
<description>
</description>
</method>
<method name="get_modulate" qualifiers="const">
<return type="Color">
</return>
<description>
</description>
</method>
<method name="get_normal_texture" qualifiers="const">
<return type="Texture">
</return>
<description>
</description>
</method>
<method name="get_pressed_texture" qualifiers="const">
<return type="Texture">
</return>
<description>
</description>
</method>
<method name="get_texture_scale" qualifiers="const">
<return type="Vector2">
</return>
<description>
</description>
</method>
<method name="set_click_mask">
<argument index="0" name="mask" type="BitMap">
</argument>
<description>
</description>
</method>
<method name="set_disabled_texture">
<argument index="0" name="texture" type="Texture">
</argument>
<description>
</description>
</method>
<method name="set_focused_texture">
<argument index="0" name="texture" type="Texture">
</argument>
<description>
</description>
</method>
<method name="set_hover_texture">
<argument index="0" name="texture" type="Texture">
</argument>
<description>
</description>
</method>
<method name="set_modulate">
<argument index="0" name="color" type="Color">
</argument>
<description>
</description>
</method>
<method name="set_normal_texture">
<argument index="0" name="texture" type="Texture">
</argument>
<description>
</description>
</method>
<method name="set_pressed_texture">
<argument index="0" name="texture" type="Texture">
</argument>
<description>
</description>
</method>
<method name="set_texture_scale">
<argument index="0" name="scale" type="Vector2">
</argument>
<description>
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="TextureFrame" inherits="Control" category="Core">
<brief_description>
Control Frame that draws a texture.
</brief_description>
<description>
Control frame that simply draws an assigned texture. It can stretch or not. It's a simple way to just show an image in a UI.
</description>
<methods>
<method name="get_modulate" qualifiers="const">
<return type="Color">
</return>
<description>
</description>
</method>
<method name="get_texture" qualifiers="const">
<return type="Object">
</return>
<description>
</description>
</method>
<method name="has_expand" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="set_expand">
<argument index="0" name="enable" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_modulate">
<argument index="0" name="modulate" type="Color">
</argument>
<description>
</description>
</method>
<method name="set_texture">
<argument index="0" name="texture" type="Object">
</argument>
<description>
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="TextureProgress" inherits="Range" category="Core">
<brief_description>
Textured progress bar implementation.
</brief_description>
<description>
[ProgressBar] implementation that is easier to theme (by just passing a few textures).
</description>
<methods>
<method name="get_fill_degrees">
<return type="float">
</return>
<description>
</description>
</method>
<method name="get_fill_mode">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_over_texture" qualifiers="const">
<return type="Object">
</return>
<description>
</description>
</method>
<method name="get_progress_texture" qualifiers="const">
<return type="Object">
</return>
<description>
</description>
</method>
<method name="get_radial_center_offset">
<return type="Vector2">
</return>
<description>
</description>
</method>
<method name="get_radial_initial_angle">
<return type="float">
</return>
<description>
</description>
</method>
<method name="get_under_texture" qualifiers="const">
<return type="Object">
</return>
<description>
</description>
</method>
<method name="set_fill_degrees">
<argument index="0" name="mode" type="float">
</argument>
<description>
</description>
</method>
<method name="set_fill_mode">
<argument index="0" name="mode" type="int">
</argument>
<description>
</description>
</method>
<method name="set_over_texture">
<argument index="0" name="tex" type="Object">
</argument>
<description>
</description>
</method>
<method name="set_progress_texture">
<argument index="0" name="tex" type="Object">
</argument>
<description>
</description>
</method>
<method name="set_radial_center_offset">
<argument index="0" name="mode" type="Vector2">
</argument>
<description>
</description>
</method>
<method name="set_radial_initial_angle">
<argument index="0" name="mode" type="float">
</argument>
<description>
</description>
</method>
<method name="set_under_texture">
<argument index="0" name="tex" type="Object">
</argument>
<description>
</description>
</method>
</methods>
<constants>
<constant name="FILL_LEFT_TO_RIGHT" value="0">
</constant>
<constant name="FILL_RIGHT_TO_LEFT" value="1">
</constant>
<constant name="FILL_TOP_TO_BOTTOM" value="2">
</constant>
<constant name="FILL_BOTTOM_TO_TOP" value="3">
</constant>
<constant name="FILL_CLOCKWISE" value="4">
</constant>
<constant name="FILL_COUNTER_CLOCKWISE" value="5">
</constant>
</constants>
</class>
<class name="Theme" inherits="Resource" category="Core">
<brief_description>
Theme for controls.
</brief_description>
<description>
Theme for skinning controls. Controls can be skinned individually, but for complex applications it's more efficient to just create a global theme that defines everything. This theme can be applied to any [Control], and it and its children will automatically use it.
Theme resources can be alternatively loaded by writing them in a .theme file, see wiki for more info.
</description>
<methods>
<method name="clear_color">
<argument index="0" name="name" type="String">
</argument>
<argument index="1" name="type" type="String">
</argument>
<description>
</description>
</method>
<method name="clear_constant">
<argument index="0" name="name" type="String">
</argument>
<argument index="1" name="type" type="String">
</argument>
<description>
</description>
</method>
<method name="clear_font">
<argument index="0" name="name" type="String">
</argument>
<argument index="1" name="type" type="String">
</argument>
<description>
</description>
</method>
<method name="clear_icon">
<argument index="0" name="name" type="String">
</argument>
<argument index="1" name="type" type="String">
</argument>
<description>
</description>
</method>
<method name="clear_stylebox">
<argument index="0" name="name" type="String">
</argument>
<argument index="1" name="type" type="String">
</argument>
<description>
</description>
</method>
<method name="copy_default_theme">
<description>
</description>
</method>
<method name="get_color" qualifiers="const">
<return type="Color">
</return>
<argument index="0" name="name" type="String">
</argument>
<argument index="1" name="type" type="String">
</argument>
<description>
</description>
</method>
<method name="get_color_list" qualifiers="const">
<return type="StringArray">
</return>
<argument index="0" name="type" type="String">
</argument>
<description>
</description>
</method>
<method name="get_constant" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="name" type="String">
</argument>
<argument index="1" name="type" type="String">
</argument>
<description>
</description>
</method>
<method name="get_constant_list" qualifiers="const">
<return type="StringArray">
</return>
<argument index="0" name="type" type="String">
</argument>
<description>
</description>
</method>
<method name="get_default_font" qualifiers="const">
<return type="Object">
</return>
<description>
</description>
</method>
<method name="get_font" qualifiers="const">
<return type="Font">
</return>
<argument index="0" name="name" type="String">
</argument>
<argument index="1" name="type" type="String">
</argument>
<description>
</description>
</method>
<method name="get_font_list" qualifiers="const">
<return type="StringArray">
</return>
<argument index="0" name="type" type="String">
</argument>
<description>
</description>
</method>
<method name="get_icon" qualifiers="const">
<return type="Texture">
</return>
<argument index="0" name="name" type="String">
</argument>
<argument index="1" name="type" type="String">
</argument>
<description>
</description>
</method>
<method name="get_icon_list" qualifiers="const">
<return type="StringArray">
</return>
<argument index="0" name="type" type="String">
</argument>
<description>
</description>
</method>
<method name="get_stylebox" qualifiers="const">
<return type="StyleBox">
</return>
<argument index="0" name="name" type="String">
</argument>
<argument index="1" name="type" type="String">
</argument>
<description>
</description>
</method>
<method name="get_stylebox_list" qualifiers="const">
<return type="StringArray">
</return>
<argument index="0" name="type" type="String">
</argument>
<description>
</description>
</method>
<method name="get_type_list" qualifiers="const">
<return type="StringArray">
</return>
<argument index="0" name="type" type="String">
</argument>
<description>
</description>
</method>
<method name="has_color" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="name" type="String">
</argument>
<argument index="1" name="type" type="String">
</argument>
<description>
</description>
</method>
<method name="has_constant" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="name" type="String">
</argument>
<argument index="1" name="type" type="String">
</argument>
<description>
</description>
</method>
<method name="has_font" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="name" type="String">
</argument>
<argument index="1" name="type" type="String">
</argument>
<description>
</description>
</method>
<method name="has_icon" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="name" type="String">
</argument>
<argument index="1" name="type" type="String">
</argument>
<description>
</description>
</method>
<method name="has_stylebox" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="name" type="String">
</argument>
<argument index="1" name="type" type="String">
</argument>
<description>
</description>
</method>
<method name="set_color">
<argument index="0" name="name" type="String">
</argument>
<argument index="1" name="type" type="String">
</argument>
<argument index="2" name="color" type="Color">
</argument>
<description>
</description>
</method>
<method name="set_constant">
<argument index="0" name="name" type="String">
</argument>
<argument index="1" name="type" type="String">
</argument>
<argument index="2" name="constant" type="int">
</argument>
<description>
</description>
</method>
<method name="set_default_font">
<argument index="0" name="font" type="Object">
</argument>
<description>
</description>
</method>
<method name="set_font">
<argument index="0" name="name" type="String">
</argument>
<argument index="1" name="type" type="String">
</argument>
<argument index="2" name="font" type="Font">
</argument>
<description>
</description>
</method>
<method name="set_icon">
<argument index="0" name="name" type="String">
</argument>
<argument index="1" name="type" type="String">
</argument>
<argument index="2" name="texture" type="Texture">
</argument>
<description>
</description>
</method>
<method name="set_stylebox">
<argument index="0" name="name" type="String">
</argument>
<argument index="1" name="type" type="String">
</argument>
<argument index="2" name="texture" type="StyleBox">
</argument>
<description>
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="Thread" inherits="Reference" category="Core">
<brief_description>
A unit of execution in a process.
</brief_description>
<description>
A unit of execution in a process. Can run methods on [Object]s simultaneously. The use of synchronization via [Mutex], [Semaphore] is advised if working with shared objects.
</description>
<methods>
<method name="get_id" qualifiers="const">
<return type="String">
</return>
<description>
Return the id of the thread, uniquely identifying it among all threads.
</description>
</method>
<method name="is_active" qualifiers="const">
<return type="bool">
</return>
<description>
Whether this thread is currently active, an active Thread cannot start work on a new method but can be joined with [method wait_to_finish].
</description>
</method>
<method name="start">
<return type="Error">
</return>
<argument index="0" name="instance" type="Object">
</argument>
<argument index="1" name="method" type="String">
</argument>
<argument index="2" name="userdata" type="var" default="NULL">
</argument>
<argument index="3" name="priority" type="int" default="1">
</argument>
<description>
Start a new [Thread], it will run "method" on object "instance" using "userdata" as an argument and running with "priority", one of PRIORITY_* enum.
Returns OK on success, or ERR_CANT_CREATE on failure.
</description>
</method>
<method name="wait_to_finish">
<return type="Variant">
</return>
<description>
Joins the [Thread] and waits for it to finish. Returns what the method called returned.
</description>
</method>
</methods>
<constants>
<constant name="PRIORITY_LOW" value="0">
</constant>
<constant name="PRIORITY_NORMAL" value="1">
</constant>
<constant name="PRIORITY_HIGH" value="2">
</constant>
</constants>
</class>
<class name="TileMap" inherits="Node2D" category="Core">
<brief_description>
Node for 2D tile-based games.
</brief_description>
<description>
Node for 2D tile-based games. Tilemaps use a [TileSet] which contain a list of tiles (textures, their rect and a collision) and are used to create complex grid-based maps.
To optimize drawing and culling (sort of like [GridMap]), you can specify a quadrant size, so chunks of the map will be batched together at drawing time.
</description>
<methods>
<method name="clear">
<description>
Clear all cells.
</description>
</method>
<method name="get_cell" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="x" type="int">
</argument>
<argument index="1" name="y" type="int">
</argument>
<description>
Return the tile index of the referenced cell.
</description>
</method>
<method name="get_cell_size" qualifiers="const">
<return type="Vector2">
</return>
<description>
Return the cell size.
</description>
</method>
<method name="get_cellv" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="pos" type="Vector2">
</argument>
<description>
Return the tile index of the cell referenced by a Vector2.
</description>
</method>
<method name="get_center_x" qualifiers="const">
<return type="bool">
</return>
<description>
Return true if tiles are to be centered in x coordinate (by default this is false and they are drawn from upper left cell corner).
</description>
</method>
<method name="get_center_y" qualifiers="const">
<return type="bool">
</return>
<description>
Return true if tiles are to be centered in y coordinate (by default this is false and they are drawn from upper left cell corner).
</description>
</method>
<method name="get_collision_bounce" qualifiers="const">
<return type="float">
</return>
<description>
Return the collision bounce parameter.
</description>
</method>
<method name="get_collision_friction" qualifiers="const">
<return type="float">
</return>
<description>
Return the collision friction parameter.
</description>
</method>
<method name="get_collision_layer" qualifiers="const">
<return type="int">
</return>
<description>
Return the collision layer.
</description>
</method>
<method name="get_collision_mask" qualifiers="const">
<return type="int">
</return>
<description>
Return the collision mask.
</description>
</method>
<method name="get_collision_use_kinematic" qualifiers="const">
<return type="bool">
</return>
<description>
Return whether the tilemap handles collisions as a kinematic body.
</description>
</method>
<method name="get_custom_transform" qualifiers="const">
<return type="Matrix32">
</return>
<description>
Return the custom transform matrix.
</description>
</method>
<method name="get_half_offset" qualifiers="const">
<return type="int">
</return>
<description>
Return the current half offset configuration.
</description>
</method>
<method name="get_mode" qualifiers="const">
<return type="int">
</return>
<description>
Return the orientation mode.
</description>
</method>
<method name="get_occluder_light_mask" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_quadrant_size" qualifiers="const">
<return type="int">
</return>
<description>
Return the quadrant size.
</description>
</method>
<method name="get_tile_origin" qualifiers="const">
<return type="int">
</return>
<description>
Return the tile origin configuration.
</description>
</method>
<method name="get_tileset" qualifiers="const">
<return type="TileSet">
</return>
<description>
Return the current tileset.
</description>
</method>
<method name="get_used_cells" qualifiers="const">
<return type="Array">
</return>
<description>
Return an array of all cells containing a tile from the tileset (i.e. a tile index different from -1).
</description>
</method>
<method name="is_cell_transposed" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="x" type="int">
</argument>
<argument index="1" name="y" type="int">
</argument>
<description>
Return whether the referenced cell is transposed, i.e. the X and Y axes are swapped (mirroring with regard to the (1,1) vector).
</description>
</method>
<method name="is_cell_x_flipped" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="x" type="int">
</argument>
<argument index="1" name="y" type="int">
</argument>
<description>
Return whether the referenced cell is flipped over the X axis.
</description>
</method>
<method name="is_cell_y_flipped" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="x" type="int">
</argument>
<argument index="1" name="y" type="int">
</argument>
<description>
Return whether the referenced cell is flipped over the Y axis.
</description>
</method>
<method name="is_y_sort_mode_enabled" qualifiers="const">
<return type="bool">
</return>
<description>
Return the Y sort mode.
</description>
</method>
<method name="map_to_world" qualifiers="const">
<return type="Vector2">
</return>
<argument index="0" name="mappos" type="Vector2">
</argument>
<argument index="1" name="ignore_half_ofs" type="bool" default="false">
</argument>
<description>
Return the absolute world position corresponding to the tilemap (grid-based) coordinates given as an argument.
Optionally, the tilemap's potential half offset can be ignored.
</description>
</method>
<method name="set_cell">
<argument index="0" name="x" type="int">
</argument>
<argument index="1" name="y" type="int">
</argument>
<argument index="2" name="tile" type="int">
</argument>
<argument index="3" name="flip_x" type="bool" default="false">
</argument>
<argument index="4" name="flip_y" type="bool" default="false">
</argument>
<argument index="5" name="transpose" type="bool" default="false">
</argument>
<description>
Set the tile index for the cell referenced by its grid-based X and Y coordinates.
A tile index of -1 clears the cell.
Optionally, the tile can also be flipped over the X and Y coordinates or transposed.
</description>
</method>
<method name="set_cell_size">
<argument index="0" name="size" type="Vector2">
</argument>
<description>
Set the cell size.
</description>
</method>
<method name="set_cellv">
<argument index="0" name="pos" type="Vector2">
</argument>
<argument index="1" name="tile" type="int">
</argument>
<argument index="2" name="flip_x" type="bool" default="false">
</argument>
<argument index="3" name="flip_y" type="bool" default="false">
</argument>
<argument index="4" name="transpose" type="bool" default="false">
</argument>
<description>
Set the tile index for the cell referenced by a Vector2 of grid-based coordinates.
A tile index of -1 clears the cell.
Optionally, the tile can also be flipped over the X and Y axes or transposed.
</description>
</method>
<method name="set_center_x">
<argument index="0" name="enable" type="bool">
</argument>
<description>
Set tiles to be centered in x coordinate. (by default this is false and they are drawn from upper left cell corner).
</description>
</method>
<method name="set_center_y">
<argument index="0" name="enable" type="bool">
</argument>
<description>
Set tiles to be centered in y coordinate. (by default this is false and they are drawn from upper left cell corner).
</description>
</method>
<method name="set_collision_bounce">
<argument index="0" name="value" type="float">
</argument>
<description>
Set the collision bounce parameter.
Allowable values range from 0 to 1.
</description>
</method>
<method name="set_collision_friction">
<argument index="0" name="value" type="float">
</argument>
<description>
Set the collision friction parameter.
Allowable values range from 0 to 1.
</description>
</method>
<method name="set_collision_layer">
<argument index="0" name="mask" type="int">
</argument>
<description>
Set the collision layer.
Layers are referenced by binary indexes, so allowable values to describe the 20 available layers range from 0 to 2^20-1.
</description>
</method>
<method name="set_collision_mask">
<argument index="0" name="mask" type="int">
</argument>
<description>
Set the collision masks.
Masks are referenced by binary indexes, so allowable values to describe the 20 available masks range from 0 to 2^20-1.
</description>
</method>
<method name="set_collision_use_kinematic">
<argument index="0" name="use_kinematic" type="bool">
</argument>
<description>
Set the tilemap to handle collisions as a kinematic body (enabled) or a static body (disabled).
</description>
</method>
<method name="set_custom_transform">
<argument index="0" name="custom_transform" type="Matrix32">
</argument>
<description>
Set custom transform matrix, to use in combination with the custom orientation mode.
</description>
</method>
<method name="set_half_offset">
<argument index="0" name="half_offset" type="int">
</argument>
<description>
Set an half offset on the X coordinate, Y coordinate, or none (use HALF_OFFSET_* constants as argument).
Half offset sets every other tile off by a half tile size in the specified direction.
</description>
</method>
<method name="set_mode">
<argument index="0" name="mode" type="int">
</argument>
<description>
Set the orientation mode as square, isometric or custom (use MODE_* constants as argument).
</description>
</method>
<method name="set_occluder_light_mask">
<argument index="0" name="mask" type="int">
</argument>
<description>
</description>
</method>
<method name="set_quadrant_size">
<argument index="0" name="size" type="int">
</argument>
<description>
Set the quadrant size, this optimizes drawing by batching chunks of map at draw/cull time.
Allowed values are integers ranging from 1 to 128.
</description>
</method>
<method name="set_tile_origin">
<argument index="0" name="origin" type="int">
</argument>
<description>
Set the tile origin to the tile center or its top-left corner (use TILE_ORIGIN_* constants as argument).
</description>
</method>
<method name="set_tileset">
<argument index="0" name="tileset" type="TileSet">
</argument>
<description>
Set the current tileset.
</description>
</method>
<method name="set_y_sort_mode">
<argument index="0" name="enable" type="bool">
</argument>
<description>
Set the Y sort mode. Enabled Y sort mode means that children of the tilemap will be drawn in the order defined by their Y coordinate.
A tile with a higher Y coordinate will therefore be drawn later, potentially covering up the tile(s) above it if its sprite is higher than its cell size.
</description>
</method>
<method name="world_to_map" qualifiers="const">
<return type="Vector2">
</return>
<argument index="0" name="worldpos" type="Vector2">
</argument>
<description>
Return the tilemap (grid-based) coordinates corresponding to the absolute world position given as an argument.
</description>
</method>
</methods>
<signals>
<signal name="settings_changed">
<description>
Signal indicating that a tilemap setting has changed.
</description>
</signal>
</signals>
<constants>
<constant name="INVALID_CELL" value="-1">
Returned when a cell doesn't exist.
</constant>
<constant name="MODE_SQUARE" value="0">
Orthogonal orientation mode.
</constant>
<constant name="MODE_ISOMETRIC" value="1">
Isometric orientation mode.
</constant>
<constant name="MODE_CUSTOM" value="2">
Custom orientation mode.
</constant>
<constant name="HALF_OFFSET_X" value="0">
Half offset on the X coordinate.
</constant>
<constant name="HALF_OFFSET_Y" value="1">
Half offset on the Y coordinate.
</constant>
<constant name="HALF_OFFSET_DISABLED" value="2">
Half offset disabled.
</constant>
<constant name="TILE_ORIGIN_TOP_LEFT" value="0">
Tile origin at its top-left corner.
</constant>
<constant name="TILE_ORIGIN_CENTER" value="1">
Tile origin at its center.
</constant>
</constants>
</class>
<class name="TileSet" inherits="Resource" category="Core">
<brief_description>
Tile library for tilemaps.
</brief_description>
<description>
A TileSet is a library of tiles for a [TileMap]. It contains a list of tiles, each consisting of a sprite and optional collision shapes.
Tiles are referenced by a unique integer ID.
</description>
<methods>
<method name="clear">
<description>
Clear all tiles.
</description>
</method>
<method name="create_tile">
<argument index="0" name="id" type="int">
</argument>
<description>
Create a new tile which will be referenced by the given ID.
</description>
</method>
<method name="find_tile_by_name" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="name" type="String">
</argument>
<description>
Find the first tile matching the given name.
</description>
</method>
<method name="get_last_unused_tile_id" qualifiers="const">
<return type="int">
</return>
<description>
Return the ID following the last currently used ID, useful when creating a new tile.
</description>
</method>
<method name="get_tiles_ids" qualifiers="const">
<return type="Array">
</return>
<description>
Return an array of all currently used tile IDs.
</description>
</method>
<method name="remove_tile">
<argument index="0" name="id" type="int">
</argument>
<description>
Remove the tile referenced by the given ID.
</description>
</method>
<method name="tile_get_light_occluder" qualifiers="const">
<return type="OccluderPolygon2D">
</return>
<argument index="0" name="id" type="int">
</argument>
<description>
Return the light occluder of the tile.
</description>
</method>
<method name="tile_get_material" qualifiers="const">
<return type="CanvasItemMaterial">
</return>
<argument index="0" name="id" type="int">
</argument>
<description>
Return the material of the tile.
</description>
</method>
<method name="tile_get_name" qualifiers="const">
<return type="String">
</return>
<argument index="0" name="id" type="int">
</argument>
<description>
Return the name of the tile.
</description>
</method>
<method name="tile_get_navigation_polygon" qualifiers="const">
<return type="NavigationPolygon">
</return>
<argument index="0" name="id" type="int">
</argument>
<description>
Return the navigation polygon of the tile.
</description>
</method>
<method name="tile_get_navigation_polygon_offset" qualifiers="const">
<return type="Vector2">
</return>
<argument index="0" name="id" type="int">
</argument>
<description>
Return the offset of the tile's navigation polygon.
</description>
</method>
<method name="tile_get_occluder_offset" qualifiers="const">
<return type="Vector2">
</return>
<argument index="0" name="id" type="int">
</argument>
<description>
Return the offset of the tile's light occluder.
</description>
</method>
<method name="tile_get_region" qualifiers="const">
<return type="Rect2">
</return>
<argument index="0" name="id" type="int">
</argument>
<description>
Return the tile sub-region in the texture.
</description>
</method>
<method name="tile_get_shape" qualifiers="const">
<return type="Shape2D">
</return>
<argument index="0" name="id" type="int">
</argument>
<description>
Return the shape of the tile.
</description>
</method>
<method name="tile_get_shape_offset" qualifiers="const">
<return type="Vector2">
</return>
<argument index="0" name="id" type="int">
</argument>
<description>
Return the shape offset of the tile.
</description>
</method>
<method name="tile_get_shapes" qualifiers="const">
<return type="Array">
</return>
<argument index="0" name="id" type="int">
</argument>
<description>
Return the array of shapes of the tile.
</description>
</method>
<method name="tile_get_texture" qualifiers="const">
<return type="Texture">
</return>
<argument index="0" name="id" type="int">
</argument>
<description>
Return the texture of the tile.
</description>
</method>
<method name="tile_get_texture_offset" qualifiers="const">
<return type="Vector2">
</return>
<argument index="0" name="id" type="int">
</argument>
<description>
Return the texture offset of the tile.
</description>
</method>
<method name="tile_set_light_occluder">
<argument index="0" name="id" type="int">
</argument>
<argument index="1" name="light_occluder" type="OccluderPolygon2D">
</argument>
<description>
Set a light occluder for the tile.
</description>
</method>
<method name="tile_set_material">
<argument index="0" name="id" type="int">
</argument>
<argument index="1" name="material" type="CanvasItemMaterial">
</argument>
<description>
Set the material of the tile.
</description>
</method>
<method name="tile_set_name">
<argument index="0" name="id" type="int">
</argument>
<argument index="1" name="name" type="String">
</argument>
<description>
Set the name of the tile, for descriptive purposes.
</description>
</method>
<method name="tile_set_navigation_polygon">
<argument index="0" name="id" type="int">
</argument>
<argument index="1" name="navigation_polygon" type="NavigationPolygon">
</argument>
<description>
Set a navigation polygon for the tile.
</description>
</method>
<method name="tile_set_navigation_polygon_offset">
<argument index="0" name="id" type="int">
</argument>
<argument index="1" name="navigation_polygon_offset" type="Vector2">
</argument>
<description>
Set an offset for the tile's navigation polygon.
</description>
</method>
<method name="tile_set_occluder_offset">
<argument index="0" name="id" type="int">
</argument>
<argument index="1" name="occluder_offset" type="Vector2">
</argument>
<description>
Set an offset for the tile's light occluder.
</description>
</method>
<method name="tile_set_region">
<argument index="0" name="id" type="int">
</argument>
<argument index="1" name="region" type="Rect2">
</argument>
<description>
Set the tile sub-region in the texture. This is common in texture atlases.
</description>
</method>
<method name="tile_set_shape">
<argument index="0" name="id" type="int">
</argument>
<argument index="1" name="shape" type="Shape2D">
</argument>
<description>
Set a shape for the tile, enabling physics to collide with it.
</description>
</method>
<method name="tile_set_shape_offset">
<argument index="0" name="id" type="int">
</argument>
<argument index="1" name="shape_offset" type="Vector2">
</argument>
<description>
Set the shape offset of the tile.
</description>
</method>
<method name="tile_set_shapes">
<argument index="0" name="id" type="int">
</argument>
<argument index="1" name="shapes" type="Array">
</argument>
<description>
Set an array of shapes for the tile, enabling physics to collide with it.
</description>
</method>
<method name="tile_set_texture">
<argument index="0" name="id" type="int">
</argument>
<argument index="1" name="texture" type="Texture">
</argument>
<description>
Set the texture of the tile.
</description>
</method>
<method name="tile_set_texture_offset">
<argument index="0" name="id" type="int">
</argument>
<argument index="1" name="texture_offset" type="Vector2">
</argument>
<description>
Set the texture offset of the tile.
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="Timer" inherits="Node" category="Core">
<brief_description>
</brief_description>
<description>
Timer node. This is a simple node that will emit a timeout callback when the timer runs out. It can optionally be set to loop.
</description>
<methods>
<method name="get_time_left" qualifiers="const">
<return type="float">
</return>
<description>
Return the time left for timeout in seconds if the timer is active, 0 otherwise.
</description>
</method>
<method name="get_timer_process_mode" qualifiers="const">
<return type="int">
</return>
<description>
Return the timer's processing mode.
</description>
</method>
<method name="get_wait_time" qualifiers="const">
<return type="float">
</return>
<description>
Return the wait time in seconds.
</description>
</method>
<method name="has_autostart" qualifiers="const">
<return type="bool">
</return>
<description>
Return true if set to automatically start when entering the scene.
</description>
</method>
<method name="is_one_shot" qualifiers="const">
<return type="bool">
</return>
<description>
Return true if configured as one-shot.
</description>
</method>
<method name="set_autostart">
<argument index="0" name="enable" type="bool">
</argument>
<description>
Set to automatically start when entering the scene.
</description>
</method>
<method name="set_one_shot">
<argument index="0" name="enable" type="bool">
</argument>
<description>
Set as one-shot. If enabled, the timer will stop after timeout, otherwise it will automatically restart.
</description>
</method>
<method name="set_timer_process_mode">
<argument index="0" name="mode" type="int">
</argument>
<description>
Set the timer's processing mode (fixed or idle, use TIMER_PROCESS_* constants as argument).
</description>
</method>
<method name="set_wait_time">
<argument index="0" name="time_sec" type="float">
</argument>
<description>
Set wait time in seconds. When the time is over, it will emit the timeout signal.
</description>
</method>
<method name="start">
<description>
Start the timer.
</description>
</method>
<method name="stop">
<description>
Stop (cancel) the timer.
</description>
</method>
</methods>
<signals>
<signal name="timeout">
<description>
Emitted when the time runs out.
</description>
</signal>
</signals>
<constants>
<constant name="TIMER_PROCESS_FIXED" value="0">
Update the timer at fixed intervals (framerate processing).
</constant>
<constant name="TIMER_PROCESS_IDLE" value="1">
Update the timer during the idle time at each frame.
</constant>
</constants>
</class>
<class name="ToolButton" inherits="Button" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
</methods>
<constants>
</constants>
<theme_items>
<theme_item name="disabled" type="StyleBox">
</theme_item>
<theme_item name="focus" type="StyleBox">
</theme_item>
<theme_item name="font" type="Font">
</theme_item>
<theme_item name="font_color" type="Color">
</theme_item>
<theme_item name="font_color_disabled" type="Color">
</theme_item>
<theme_item name="font_color_hover" type="Color">
</theme_item>
<theme_item name="font_color_pressed" type="Color">
</theme_item>
<theme_item name="hover" type="StyleBox">
</theme_item>
<theme_item name="hseparation" type="int">
</theme_item>
<theme_item name="normal" type="StyleBox">
</theme_item>
<theme_item name="pressed" type="StyleBox">
</theme_item>
</theme_items>
</class>
<class name="TouchScreenButton" inherits="Node2D" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
<method name="get_action" qualifiers="const">
<return type="String">
</return>
<description>
</description>
</method>
<method name="get_bitmask" qualifiers="const">
<return type="Object">
</return>
<description>
</description>
</method>
<method name="get_texture" qualifiers="const">
<return type="Object">
</return>
<description>
</description>
</method>
<method name="get_texture_pressed" qualifiers="const">
<return type="Object">
</return>
<description>
</description>
</method>
<method name="get_visibility_mode" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="is_passby_press_enabled" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="is_pressed" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="set_action">
<argument index="0" name="action" type="String">
</argument>
<description>
</description>
</method>
<method name="set_bitmask">
<argument index="0" name="bitmask" type="Object">
</argument>
<description>
</description>
</method>
<method name="set_passby_press">
<argument index="0" name="enabled" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_texture">
<argument index="0" name="texture" type="Object">
</argument>
<description>
</description>
</method>
<method name="set_texture_pressed">
<argument index="0" name="texture_pressed" type="Object">
</argument>
<description>
</description>
</method>
<method name="set_visibility_mode">
<argument index="0" name="mode" type="int">
</argument>
<description>
</description>
</method>
</methods>
<signals>
<signal name="pressed">
<description>
</description>
</signal>
<signal name="released">
<description>
</description>
</signal>
</signals>
<constants>
</constants>
</class>
<class name="Transform" category="Built-In Types">
<brief_description>
3D Transformation.
</brief_description>
<description>
Transform is used to store transformations, including translations. It consists of a Matrix3 "basis" and Vector3 "origin". Transform is used to represent transformations of any object in space. It is similar to a 4x3 matrix.
</description>
<methods>
<method name="Transform">
<return type="Transform">
</return>
<argument index="0" name="x_axis" type="Vector3">
</argument>
<argument index="1" name="y_axis" type="Vector3">
</argument>
<argument index="2" name="z_axis" type="Vector3">
</argument>
<argument index="3" name="origin" type="Vector3">
</argument>
<description>
Construct the Transform from four Vector3. Each axis creates the basis.
</description>
</method>
<method name="Transform">
<return type="Transform">
</return>
<argument index="0" name="basis" type="Matrix3">
</argument>
<argument index="1" name="origin" type="Vector3">
</argument>
<description>
Construct the Transform from a Matrix3 and Vector3.
</description>
</method>
<method name="Transform">
<return type="Transform">
</return>
<argument index="0" name="from" type="Matrix32">
</argument>
<description>
Construct the Transform from a Matrix32.
</description>
</method>
<method name="Transform">
<return type="Transform">
</return>
<argument index="0" name="from" type="Quat">
</argument>
<description>
Construct the Transform from a Quat. The origin will be Vector3(0, 0, 0)
</description>
</method>
<method name="Transform">
<return type="Transform">
</return>
<argument index="0" name="from" type="Matrix3">
</argument>
<description>
Construct the Transform from a Matrix3. The origin will be Vector3(0, 0, 0)
</description>
</method>
<method name="affine_inverse">
<return type="Transform">
</return>
<description>
Returns the inverse of the transfrom, even if the transform has scale or the axis vectors are not orthogonal.
</description>
</method>
<method name="inverse">
<return type="Transform">
</return>
<description>
Returns the inverse of the transform.
</description>
</method>
<method name="looking_at">
<return type="Transform">
</return>
<argument index="0" name="target" type="Vector3">
</argument>
<argument index="1" name="up" type="Vector3">
</argument>
<description>
Rotate the transform around the up vector to face the target.
</description>
</method>
<method name="orthonormalized">
<return type="Transform">
</return>
<description>
Returns a transfrom with the basis orthogonal (90 degrees), and normalized axis vectors.
</description>
</method>
<method name="rotated">
<return type="Transform">
</return>
<argument index="0" name="axis" type="Vector3">
</argument>
<argument index="1" name="phi" type="float">
</argument>
<description>
Rotate the transform locally.
</description>
</method>
<method name="scaled">
<return type="Transform">
</return>
<argument index="0" name="scale" type="Vector3">
</argument>
<description>
Scale the transform locally.
</description>
</method>
<method name="translated">
<return type="Transform">
</return>
<argument index="0" name="ofs" type="Vector3">
</argument>
<description>
Translate the transform locally.
</description>
</method>
<method name="xform">
<return type="var">
</return>
<argument index="0" name="v" type="var">
</argument>
<description>
Transforms vector "v" by this transform.
</description>
</method>
<method name="xform_inv">
<return type="var">
</return>
<argument index="0" name="v" type="var">
</argument>
<description>
Inverse-transforms vector "v" by this transform.
</description>
</method>
</methods>
<members>
<member name="basis" type="Matrix3">
The basis contains 3 [Vector3]. X axis, Y axis, and Z axis.
</member>
<member name="origin" type="Vector3">
The origin of the transform. Which is the translation offset.
</member>
</members>
<constants>
</constants>
</class>
<class name="Translation" inherits="Resource" category="Core">
<brief_description>
Language Translation.
</brief_description>
<description>
Translations are resources that can be loaded/unloaded on demand. They map a string to another string.
</description>
<methods>
<method name="add_message">
<argument index="0" name="src_message" type="String">
</argument>
<argument index="1" name="xlated_message" type="String">
</argument>
<description>
Add a message for translation.
</description>
</method>
<method name="erase_message">
<argument index="0" name="src_message" type="String">
</argument>
<description>
Erase a message.
</description>
</method>
<method name="get_locale" qualifiers="const">
<return type="String">
</return>
<description>
Return the locale of the translation.
</description>
</method>
<method name="get_message" qualifiers="const">
<return type="String">
</return>
<argument index="0" name="src_message" type="String">
</argument>
<description>
Return a message for translation.
</description>
</method>
<method name="get_message_count" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_message_list" qualifiers="const">
<return type="StringArray">
</return>
<description>
Return all the messages (keys).
</description>
</method>
<method name="set_locale">
<argument index="0" name="locale" type="String">
</argument>
<description>
Set the locale of the translation.
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="TranslationServer" inherits="Object" category="Core">
<brief_description>
Server that manages all translations. Translations can be set to it and removed from it.
</brief_description>
<description>
</description>
<methods>
<method name="add_translation">
<argument index="0" name="translation" type="Translation">
</argument>
<description>
</description>
</method>
<method name="clear">
<description>
</description>
</method>
<method name="get_locale" qualifiers="const">
<return type="String">
</return>
<description>
</description>
</method>
<method name="remove_translation">
<argument index="0" name="translation" type="Translation">
</argument>
<description>
</description>
</method>
<method name="set_locale">
<argument index="0" name="locale" type="String">
</argument>
<description>
</description>
</method>
<method name="translate" qualifiers="const">
<return type="String">
</return>
<argument index="0" name="message" type="String">
</argument>
<description>
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="Tree" inherits="Control" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
<method name="are_column_titles_visible" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="clear">
<description>
</description>
</method>
<method name="create_item">
<return type="TreeItem">
</return>
<argument index="0" name="parent" type="TreeItem" default="NULL">
</argument>
<description>
</description>
</method>
<method name="ensure_cursor_is_visible">
<description>
</description>
</method>
<method name="get_column_title" qualifiers="const">
<return type="String">
</return>
<argument index="0" name="column" type="int">
</argument>
<description>
</description>
</method>
<method name="get_column_width" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="column" type="int">
</argument>
<description>
</description>
</method>
<method name="get_columns" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_custom_popup_rect" qualifiers="const">
<return type="Rect2">
</return>
<description>
</description>
</method>
<method name="get_edited" qualifiers="const">
<return type="TreeItem">
</return>
<description>
</description>
</method>
<method name="get_edited_column" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_item_area_rect" qualifiers="const">
<return type="Rect2">
</return>
<argument index="0" name="item" type="TreeItem">
</argument>
<argument index="1" name="column" type="int" default="-1">
</argument>
<description>
</description>
</method>
<method name="get_next_selected">
<return type="TreeItem">
</return>
<argument index="0" name="from" type="TreeItem">
</argument>
<description>
</description>
</method>
<method name="get_pressed_button" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_root">
<return type="TreeItem">
</return>
<description>
</description>
</method>
<method name="get_scroll" qualifiers="const">
<return type="Vector2">
</return>
<description>
</description>
</method>
<method name="get_selected" qualifiers="const">
<return type="TreeItem">
</return>
<description>
</description>
</method>
<method name="get_selected_column" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="is_folding_hidden" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="set_column_expand">
<argument index="0" name="column" type="int">
</argument>
<argument index="1" name="expand" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_column_min_width">
<argument index="0" name="column" type="int">
</argument>
<argument index="1" name="min_width" type="int">
</argument>
<description>
</description>
</method>
<method name="set_column_title">
<argument index="0" name="column" type="int">
</argument>
<argument index="1" name="title" type="String">
</argument>
<description>
</description>
</method>
<method name="set_column_titles_visible">
<argument index="0" name="visible" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_columns">
<argument index="0" name="amount" type="int">
</argument>
<description>
</description>
</method>
<method name="set_hide_folding">
<argument index="0" name="hide" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_hide_root">
<argument index="0" name="enable" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_select_mode">
<argument index="0" name="mode" type="int">
</argument>
<description>
</description>
</method>
</methods>
<signals>
<signal name="button_pressed">
<argument index="0" name="item" type="Object">
</argument>
<argument index="1" name="column" type="int">
</argument>
<argument index="2" name="id" type="int">
</argument>
<description>
</description>
</signal>
<signal name="cell_selected">
<description>
</description>
</signal>
<signal name="custom_popup_edited">
<argument index="0" name="arrow_clicked" type="bool">
</argument>
<description>
</description>
</signal>
<signal name="item_activated">
<description>
</description>
</signal>
<signal name="item_collapsed">
<argument index="0" name="item" type="Object">
</argument>
<description>
</description>
</signal>
<signal name="item_edited">
<description>
</description>
</signal>
<signal name="item_selected">
<description>
</description>
</signal>
<signal name="multi_selected">
<argument index="0" name="item" type="Object">
</argument>
<argument index="1" name="column" type="int">
</argument>
<argument index="2" name="selected" type="bool">
</argument>
<description>
</description>
</signal>
</signals>
<constants>
<constant name="SELECT_SINGLE" value="0">
</constant>
<constant name="SELECT_ROW" value="1">
</constant>
<constant name="SELECT_MULTI" value="2">
</constant>
</constants>
<theme_items>
<theme_item name="arrow" type="Texture">
</theme_item>
<theme_item name="arrow_collapsed" type="Texture">
</theme_item>
<theme_item name="bg" type="StyleBox">
</theme_item>
<theme_item name="bg_focus" type="StyleBox">
</theme_item>
<theme_item name="button_margin" type="int">
</theme_item>
<theme_item name="button_pressed" type="StyleBox">
</theme_item>
<theme_item name="checked" type="Texture">
</theme_item>
<theme_item name="cursor" type="StyleBox">
</theme_item>
<theme_item name="cursor_color" type="Color">
</theme_item>
<theme_item name="cursor_unfocused" type="StyleBox">
</theme_item>
<theme_item name="font" type="Font">
</theme_item>
<theme_item name="font_color" type="Color">
</theme_item>
<theme_item name="font_color_selected" type="Color">
</theme_item>
<theme_item name="guide_color" type="Color">
</theme_item>
<theme_item name="guide_width" type="int">
</theme_item>
<theme_item name="hseparation" type="int">
</theme_item>
<theme_item name="item_margin" type="int">
</theme_item>
<theme_item name="select_arrow" type="Texture">
</theme_item>
<theme_item name="selected" type="StyleBox">
</theme_item>
<theme_item name="selected_focus" type="StyleBox">
</theme_item>
<theme_item name="selection_color" type="Color">
</theme_item>
<theme_item name="title_button_color" type="Color">
</theme_item>
<theme_item name="title_button_font" type="Font">
</theme_item>
<theme_item name="title_button_hover" type="StyleBox">
</theme_item>
<theme_item name="title_button_normal" type="StyleBox">
</theme_item>
<theme_item name="title_button_pressed" type="StyleBox">
</theme_item>
<theme_item name="unchecked" type="Texture">
</theme_item>
<theme_item name="updown" type="Texture">
</theme_item>
<theme_item name="vseparation" type="int">
</theme_item>
</theme_items>
</class>
<class name="TreeItem" inherits="Object" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
<method name="add_button">
<argument index="0" name="column" type="int">
</argument>
<argument index="1" name="button" type="Texture">
</argument>
<argument index="2" name="button_idx" type="int" default="-1">
</argument>
<argument index="3" name="disabled" type="bool" default="false">
</argument>
<description>
</description>
</method>
<method name="clear_custom_bg_color">
<argument index="0" name="column" type="int">
</argument>
<description>
</description>
</method>
<method name="clear_custom_color">
<argument index="0" name="column" type="int">
</argument>
<description>
</description>
</method>
<method name="deselect">
<argument index="0" name="column" type="int">
</argument>
<description>
</description>
</method>
<method name="erase_button">
<argument index="0" name="column" type="int">
</argument>
<argument index="1" name="button_idx" type="int">
</argument>
<description>
</description>
</method>
<method name="get_button" qualifiers="const">
<return type="Texture">
</return>
<argument index="0" name="column" type="int">
</argument>
<argument index="1" name="button_idx" type="int">
</argument>
<description>
</description>
</method>
<method name="get_button_count" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="column" type="int">
</argument>
<description>
</description>
</method>
<method name="get_cell_mode" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="column" type="int">
</argument>
<description>
</description>
</method>
<method name="get_children">
<return type="TreeItem">
</return>
<description>
</description>
</method>
<method name="get_custom_bg_color" qualifiers="const">
<return type="Color">
</return>
<argument index="0" name="column" type="int">
</argument>
<description>
</description>
</method>
<method name="get_icon" qualifiers="const">
<return type="Texture">
</return>
<argument index="0" name="column" type="int">
</argument>
<description>
</description>
</method>
<method name="get_icon_max_width" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="column" type="int">
</argument>
<description>
</description>
</method>
<method name="get_icon_region" qualifiers="const">
<return type="Rect2">
</return>
<argument index="0" name="column" type="int">
</argument>
<description>
</description>
</method>
<method name="get_metadata" qualifiers="const">
<argument index="0" name="column" type="int">
</argument>
<description>
</description>
</method>
<method name="get_next">
<return type="TreeItem">
</return>
<description>
</description>
</method>
<method name="get_next_visible">
<return type="TreeItem">
</return>
<description>
</description>
</method>
<method name="get_parent">
<return type="TreeItem">
</return>
<description>
</description>
</method>
<method name="get_prev">
<return type="TreeItem">
</return>
<description>
</description>
</method>
<method name="get_prev_visible">
<return type="TreeItem">
</return>
<description>
</description>
</method>
<method name="get_range" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="column" type="int">
</argument>
<description>
</description>
</method>
<method name="get_range_config">
<return type="Dictionary">
</return>
<argument index="0" name="column" type="int">
</argument>
<description>
</description>
</method>
<method name="get_text" qualifiers="const">
<return type="String">
</return>
<argument index="0" name="column" type="int">
</argument>
<description>
</description>
</method>
<method name="get_tooltip" qualifiers="const">
<return type="String">
</return>
<argument index="0" name="column" type="int">
</argument>
<description>
</description>
</method>
<method name="is_button_disabled" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="column" type="int">
</argument>
<argument index="1" name="button_idx" type="int">
</argument>
<description>
</description>
</method>
<method name="is_checked" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="column" type="int">
</argument>
<description>
</description>
</method>
<method name="is_collapsed">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="is_editable">
<return type="bool">
</return>
<argument index="0" name="column" type="int">
</argument>
<description>
</description>
</method>
<method name="is_selectable" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="column" type="int">
</argument>
<description>
</description>
</method>
<method name="is_selected">
<return type="bool">
</return>
<argument index="0" name="column" type="int">
</argument>
<description>
</description>
</method>
<method name="move_to_bottom">
<description>
</description>
</method>
<method name="move_to_top">
<description>
</description>
</method>
<method name="remove_child">
<return type="TreeItem">
</return>
<argument index="0" name="child" type="Object">
</argument>
<description>
</description>
</method>
<method name="select">
<argument index="0" name="column" type="int">
</argument>
<description>
</description>
</method>
<method name="set_cell_mode">
<argument index="0" name="column" type="int">
</argument>
<argument index="1" name="mode" type="int">
</argument>
<description>
</description>
</method>
<method name="set_checked">
<argument index="0" name="column" type="int">
</argument>
<argument index="1" name="checked" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_collapsed">
<argument index="0" name="enable" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_custom_bg_color">
<argument index="0" name="column" type="int">
</argument>
<argument index="1" name="color" type="Color">
</argument>
<description>
</description>
</method>
<method name="set_custom_color">
<argument index="0" name="column" type="int">
</argument>
<argument index="1" name="color" type="Color">
</argument>
<description>
</description>
</method>
<method name="set_custom_draw">
<argument index="0" name="column" type="int">
</argument>
<argument index="1" name="object" type="Object">
</argument>
<argument index="2" name="callback" type="String">
</argument>
<description>
</description>
</method>
<method name="set_editable">
<argument index="0" name="column" type="int">
</argument>
<argument index="1" name="enabled" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_icon">
<argument index="0" name="column" type="int">
</argument>
<argument index="1" name="texture" type="Texture">
</argument>
<description>
</description>
</method>
<method name="set_icon_max_width">
<argument index="0" name="column" type="int">
</argument>
<argument index="1" name="width" type="int">
</argument>
<description>
</description>
</method>
<method name="set_icon_region">
<argument index="0" name="column" type="int">
</argument>
<argument index="1" name="region" type="Rect2">
</argument>
<description>
</description>
</method>
<method name="set_metadata">
<argument index="0" name="column" type="int">
</argument>
<argument index="1" name="meta" type="var">
</argument>
<description>
</description>
</method>
<method name="set_range">
<argument index="0" name="column" type="int">
</argument>
<argument index="1" name="value" type="float">
</argument>
<description>
</description>
</method>
<method name="set_range_config">
<argument index="0" name="column" type="int">
</argument>
<argument index="1" name="min" type="float">
</argument>
<argument index="2" name="max" type="float">
</argument>
<argument index="3" name="step" type="float">
</argument>
<argument index="4" name="expr" type="bool" default="false">
</argument>
<description>
</description>
</method>
<method name="set_selectable">
<argument index="0" name="column" type="int">
</argument>
<argument index="1" name="selectable" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_text">
<argument index="0" name="column" type="int">
</argument>
<argument index="1" name="text" type="String">
</argument>
<description>
</description>
</method>
<method name="set_tooltip">
<argument index="0" name="column" type="int">
</argument>
<argument index="1" name="tooltip" type="String">
</argument>
<description>
</description>
</method>
</methods>
<constants>
<constant name="CELL_MODE_STRING" value="0">
</constant>
<constant name="CELL_MODE_CHECK" value="1">
</constant>
<constant name="CELL_MODE_RANGE" value="2">
</constant>
<constant name="CELL_MODE_ICON" value="3">
</constant>
<constant name="CELL_MODE_CUSTOM" value="4">
</constant>
</constants>
</class>
<class name="Tween" inherits="Node" category="Core">
<brief_description>
Node useful for animations with unknown start and end points.
</brief_description>
<description>
Node useful for animations with unknown start and end points, procedural animations, making one node follow another, and other simple behavior.
Because it is easy to get it wrong, here is a quick usage example:
[codeblock]
var tween = get_node("Tween")
tween.interpolate_property(get_node("Node2D_to_move"), "transform/pos", Vector2(0,0), Vector2(100,100), Tween.TRANS_LINEAR, Tween.EASE_IN_OUT)
tween.start()
[/codeblock]
Some of the methods of this class require a property name. You can get the property name by hovering over the property in the inspector of the editor.
Many of the methods accept [code]trans_type[/code] and [code]ease_type[/code]. The first accepts an TRANS_* constant, and refers to the way the timing of the animation is handled (you might want to see [code]http://easings.net/[/code] for some examples). The second accepts an EASE_* constant, and controls the where [code]trans_type[/code] is applied to the interpolation (in the begining, the end, or both). If you don't know which transision and easing to pick, you can try different TRANS_* constants with EASE_IN_OUT, and use the one that looks best.
</description>
<methods>
<method name="follow_method">
<return type="bool">
</return>
<argument index="0" name="object" type="Object">
</argument>
<argument index="1" name="method" type="String">
</argument>
<argument index="2" name="initial_val" type="var">
</argument>
<argument index="3" name="target" type="Object">
</argument>
<argument index="4" name="target_method" type="String">
</argument>
<argument index="5" name="times_in_sec" type="float">
</argument>
<argument index="6" name="trans_type" type="int">
</argument>
<argument index="7" name="ease_type" type="int">
</argument>
<argument index="8" name="delay" type="float" default="0">
</argument>
<description>
Follow [code]method[/code] of [code]object[/code] and apply the returned value on [code]target_method[/code] of [code]target[/code], beginning from [code]initial_val[/code] for [code]times_in_sec[/code] seconds, [code]delay[/code] later. Methods are animated by calling them with consequitive values.
[code]trans_type[/code] accepts TRANS_* constants, and is the way the animation is interpolated, while [code]ease_type[/code] accepts EASE_* constants, and controls the place of the interpolation (the begining, the end, or both). You can read more about them in the class description.
</description>
</method>
<method name="follow_property">
<return type="bool">
</return>
<argument index="0" name="object" type="Object">
</argument>
<argument index="1" name="property" type="String">
</argument>
<argument index="2" name="initial_val" type="var">
</argument>
<argument index="3" name="target" type="Object">
</argument>
<argument index="4" name="target_property" type="String">
</argument>
<argument index="5" name="times_in_sec" type="float">
</argument>
<argument index="6" name="trans_type" type="int">
</argument>
<argument index="7" name="ease_type" type="int">
</argument>
<argument index="8" name="delay" type="float" default="0">
</argument>
<description>
Follow [code]property[/code] of [code]object[/code] and apply it on [code]target_property[/code] of [code]target[/code], beginning from [code]initial_val[/code] for [code]times_in_sec[/code] seconds, [code]delay[/code] seconds later. Note that [code]target:target_property[/code] would equal [code]object:property[/code] at the end of the tween.
[code]trans_type[/code] accepts TRANS_* constants, and is the way the animation is interpolated, while [code]ease_type[/code] accepts EASE_* constants, and controls the place of the interpolation (the begining, the end, or both). You can read more about them in the class description.
</description>
</method>
<method name="get_runtime" qualifiers="const">
<return type="float">
</return>
<description>
Returns the time needed for all tweens to end in seconds, measured from the start. Thus, if you have two tweens, one ending 10 seconds after the start and the other - 20 seconds, it would return 20 seconds, as by that time all tweens would have finished.
</description>
</method>
<method name="get_speed" qualifiers="const">
<return type="float">
</return>
<description>
Returns the speed that has been set from editor GUI or [method set_repeat].
</description>
</method>
<method name="get_tween_process_mode" qualifiers="const">
<return type="int">
</return>
<description>
Returns the process mode that has been set from editor GUI or [method set_tween_process_mode]
</description>
</method>
<method name="interpolate_callback">
<return type="bool">
</return>
<argument index="0" name="object" type="Object">
</argument>
<argument index="1" name="times_in_sec" type="float">
</argument>
<argument index="2" name="callback" type="String">
</argument>
<argument index="3" name="arg1" type="var" default="NULL">
</argument>
<argument index="4" name="arg2" type="var" default="NULL">
</argument>
<argument index="5" name="arg3" type="var" default="NULL">
</argument>
<argument index="6" name="arg4" type="var" default="NULL">
</argument>
<argument index="7" name="arg5" type="var" default="NULL">
</argument>
<description>
Call [code]callback[/code] of [code]object[/code] after [code]times_in_sec[/code]. [code]arg1[/code]-[code]arg5[/code] are arguments to be passed to the callback.
</description>
</method>
<method name="interpolate_deferred_callback">
<return type="bool">
</return>
<argument index="0" name="object" type="Object">
</argument>
<argument index="1" name="times_in_sec" type="float">
</argument>
<argument index="2" name="callback" type="String">
</argument>
<argument index="3" name="arg1" type="var" default="NULL">
</argument>
<argument index="4" name="arg2" type="var" default="NULL">
</argument>
<argument index="5" name="arg3" type="var" default="NULL">
</argument>
<argument index="6" name="arg4" type="var" default="NULL">
</argument>
<argument index="7" name="arg5" type="var" default="NULL">
</argument>
<description>
Call [code]callback[/code] of [code]object[/code] after [code]times_in_sec[/code] on the main thread (similar to [methog Object.call_deferred). [code]arg1[/code]-[code]arg5[/code] are arguments to be passed to the callback.
</description>
</method>
<method name="interpolate_method">
<return type="bool">
</return>
<argument index="0" name="object" type="Object">
</argument>
<argument index="1" name="method" type="String">
</argument>
<argument index="2" name="initial_val" type="var">
</argument>
<argument index="3" name="final_val" type="var">
</argument>
<argument index="4" name="times_in_sec" type="float">
</argument>
<argument index="5" name="trans_type" type="int">
</argument>
<argument index="6" name="ease_type" type="int">
</argument>
<argument index="7" name="delay" type="float" default="0">
</argument>
<description>
Animate [code]method[/code] of [code]object[/code] from [code]initial_val[/code] to [code]final_val[/code] for [code]times_in_sec[/code] seconds, [code]delay[/code] seconds later. Methods are animated by calling them with consecuitive values.
[code]trans_type[/code] accepts TRANS_* constants, and is the way the animation is interpolated, while [code]ease_type[/code] accepts EASE_* constants, and controls the place of the interpolation (the begining, the end, or both). You can read more about them in the class description.
</description>
</method>
<method name="interpolate_property">
<return type="bool">
</return>
<argument index="0" name="object" type="Object">
</argument>
<argument index="1" name="property" type="String">
</argument>
<argument index="2" name="initial_val" type="var">
</argument>
<argument index="3" name="final_val" type="var">
</argument>
<argument index="4" name="times_in_sec" type="float">
</argument>
<argument index="5" name="trans_type" type="int">
</argument>
<argument index="6" name="ease_type" type="int">
</argument>
<argument index="7" name="delay" type="float" default="0">
</argument>
<description>
Animate [code]property[/code] of [code]object[/code] from [code]initial_val[/code] to [code]final_val[/code] for [code]times_in_sec[/code] seconds, [code]delay[/code] seconds later.
[code]trans_type[/code] accepts TRANS_* constants, and is the way the animation is interpolated, while [code]ease_type[/code] accepts EASE_* constants, and controls the place of the interpolation (the begining, the end, or both). You can read more about them in the class description.
</description>
</method>
<method name="is_active" qualifiers="const">
<return type="bool">
</return>
<description>
Returns true if any tweens are currently running, and false otherwise. Note that this method doesn't consider tweens that have ended.
</description>
</method>
<method name="is_repeat" qualifiers="const">
<return type="bool">
</return>
<description>
Returns true if repeat has been set from editor GUI or [method set_repeat].
</description>
</method>
<method name="remove">
<return type="bool">
</return>
<argument index="0" name="object" type="Object">
</argument>
<argument index="1" name="key" type="String">
</argument>
<description>
Stop animating and completely remove a tween, given its object and property/method pair.
</description>
</method>
<method name="remove_all">
<return type="bool">
</return>
<description>
Stop animating and completely remove all tweens.
</description>
</method>
<method name="reset">
<return type="bool">
</return>
<argument index="0" name="object" type="Object">
</argument>
<argument index="1" name="key" type="String">
</argument>
<description>
Resets a tween to the initial value (the one given, not the one before the tween), given its object and property/method pair.
</description>
</method>
<method name="reset_all">
<return type="bool">
</return>
<description>
Resets all tweens to their initial values (the ones given, not those before the tween).
</description>
</method>
<method name="resume">
<return type="bool">
</return>
<argument index="0" name="object" type="Object">
</argument>
<argument index="1" name="key" type="String">
</argument>
<description>
Continue animating a stopped tween, given its object and property/method pair.
</description>
</method>
<method name="resume_all">
<return type="bool">
</return>
<description>
Continue animating all stopped tweens.
</description>
</method>
<method name="seek">
<return type="bool">
</return>
<argument index="0" name="time" type="float">
</argument>
<description>
Seek the animation to the given [code]time[/code] in seconds.
</description>
</method>
<method name="set_active">
<argument index="0" name="active" type="bool">
</argument>
<description>
Activate/deactivate the tween. You can use this for pausing animations, though [method stop_all] and [method resume_all] might be more fit for this.
</description>
</method>
<method name="set_repeat">
<argument index="0" name="repeat" type="bool">
</argument>
<description>
Make the tween repeat after all tweens have finished.
</description>
</method>
<method name="set_speed">
<argument index="0" name="speed" type="float">
</argument>
<description>
Set the speed multiplier of the tween. Set it to 1 for normal speed, 2 for two times nromal speed, and 0.5 for half of the normal speed. Setting it to 0 would pause the animation, but you might consider using [method set_active] or [method stop_all] and [method resume_all] for this.
</description>
</method>
<method name="set_tween_process_mode">
<argument index="0" name="mode" type="int">
</argument>
<description>
Set whether the Tween uses [code]_process[/code] or [code]_fixed_process[/code] (accepts TWEEN_PROCESS_IDLE and TWEEN_PROCESS_FIXED constants, respectively).
</description>
</method>
<method name="start">
<return type="bool">
</return>
<description>
Start the tween node. You can define tweens both before and after this.
</description>
</method>
<method name="stop">
<return type="bool">
</return>
<argument index="0" name="object" type="Object">
</argument>
<argument index="1" name="key" type="String">
</argument>
<description>
Stop animating a tween, given its object and property/method pair.
</description>
</method>
<method name="stop_all">
<return type="bool">
</return>
<description>
Stop animating all tweens.
</description>
</method>
<method name="targeting_method">
<return type="bool">
</return>
<argument index="0" name="object" type="Object">
</argument>
<argument index="1" name="method" type="String">
</argument>
<argument index="2" name="initial" type="Object">
</argument>
<argument index="3" name="initial_method" type="String">
</argument>
<argument index="4" name="final_val" type="var">
</argument>
<argument index="5" name="times_in_sec" type="float">
</argument>
<argument index="6" name="trans_type" type="int">
</argument>
<argument index="7" name="ease_type" type="int">
</argument>
<argument index="8" name="delay" type="float" default="0">
</argument>
<description>
Animate [code]method[/code] of [code]object[/code] from the value returned by [code]initial.initial_method[/code] to [code]final_val[/code] for [code]times_in_sec[/code] seconds, [code]delay[/code] seconds later. Methods are animated by calling them with consecuitive values.
[code]trans_type[/code] accepts TRANS_* constants, and is the way the animation is interpolated, while [code]ease_type[/code] accepts EASE_* constants, and controls the place of the interpolation (the begining, the end, or both). You can read more about them in the class description.
</description>
</method>
<method name="targeting_property">
<return type="bool">
</return>
<argument index="0" name="object" type="Object">
</argument>
<argument index="1" name="property" type="String">
</argument>
<argument index="2" name="initial" type="Object">
</argument>
<argument index="3" name="initial_val" type="String">
</argument>
<argument index="4" name="final_val" type="var">
</argument>
<argument index="5" name="times_in_sec" type="float">
</argument>
<argument index="6" name="trans_type" type="int">
</argument>
<argument index="7" name="ease_type" type="int">
</argument>
<argument index="8" name="delay" type="float" default="0">
</argument>
<description>
Animate [code]property[/code] of [code]object[/code] from the current value of the [code]initial_val[/code] property of [code]initial[/code] to [code]final_val[/code] for [code]times_in_sec[/code] seconds, [code]delay[/code] seconds later.
[code]trans_type[/code] accepts TRANS_* constants, and is the way the animation is interpolated, while [code]ease_type[/code] accepts EASE_* constants, and controls the place of the interpolation (the begining, the end, or both). You can read more about them in the class description.
</description>
</method>
<method name="tell" qualifiers="const">
<return type="float">
</return>
<description>
Returns the current time of the tween.
</description>
</method>
</methods>
<signals>
<signal name="tween_complete">
<argument index="0" name="object" type="Object">
</argument>
<argument index="1" name="key" type="String">
</argument>
<description>
This signal is emitted when a tween ends.
</description>
</signal>
<signal name="tween_start">
<argument index="0" name="object" type="Object">
</argument>
<argument index="1" name="key" type="String">
</argument>
<description>
This signal is emitted when a tween starts.
</description>
</signal>
<signal name="tween_step">
<argument index="0" name="object" type="Object">
</argument>
<argument index="1" name="key" type="String">
</argument>
<argument index="2" name="elapsed" type="float">
</argument>
<argument index="3" name="value" type="Object">
</argument>
<description>
This signal is emitted each step of the tweening.
</description>
</signal>
</signals>
<constants>
<constant name="TWEEN_PROCESS_FIXED" value="0">
The [Tween] should use [code]_fixed_process[/code] for timekeeping when this is enabled.
</constant>
<constant name="TWEEN_PROCESS_IDLE" value="1">
The [Tween] should use [code]_process[/code] for timekeeping when this is enabled (default).
</constant>
<constant name="TRANS_LINEAR" value="0">
Means that the animation is interpolated linearly.
</constant>
<constant name="TRANS_SINE" value="1">
Means that the animation is interpolated using a sine wave.
</constant>
<constant name="TRANS_QUINT" value="2">
Means that the animation is interpolated with a quinary (to the power of 5) function.
</constant>
<constant name="TRANS_QUART" value="3">
Means that the animation is interpolated with a quartic (to the power of 4) function.
</constant>
<constant name="TRANS_QUAD" value="4">
Means that the animation is interpolated with a quadratic (to the power of 2) function.
</constant>
<constant name="TRANS_EXPO" value="5">
Means that the animation is interpolated with a exponential (some number to the power of x) function.
</constant>
<constant name="TRANS_ELASTIC" value="6">
Means that the animation is interpolated with elasticity, wiggling around the edges.
</constant>
<constant name="TRANS_CUBIC" value="7">
Means that the animation is interpolated with a cubic (to the power of 3) function.
</constant>
<constant name="TRANS_CIRC" value="8">
Means that the animation is interpolated with a function using square roots.
</constant>
<constant name="TRANS_BOUNCE" value="9">
Means that the animation is interpolated by bouncing at, but never surpassing, the end.
</constant>
<constant name="TRANS_BACK" value="10">
Means that the animation is interpolated backing out at edges.
</constant>
<constant name="EASE_IN" value="0">
Signifies that the interpolation should be focused in the beginning.
</constant>
<constant name="EASE_OUT" value="1">
Signifies that the interpolation should be focused in the end.
</constant>
<constant name="EASE_IN_OUT" value="2">
Signifies that the interpolation should be focused in both ends.
</constant>
<constant name="EASE_OUT_IN" value="3">
Signifies that the interpolation should be focused in both ends, but they should be switched (a bit hard to explain, try it for yourself to be sure).
</constant>
</constants>
</class>
<class name="UndoRedo" inherits="Object" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
<method name="add_do_method">
<argument index="0" name="object" type="Object">
</argument>
<argument index="1" name="method" type="String">
</argument>
<argument index="2" name="arg0" type="var" default="NULL">
</argument>
<argument index="3" name="arg1" type="var" default="NULL">
</argument>
<argument index="4" name="arg2" type="var" default="NULL">
</argument>
<argument index="5" name="arg3" type="var" default="NULL">
</argument>
<argument index="6" name="arg4" type="var" default="NULL">
</argument>
<description>
</description>
</method>
<method name="add_do_property">
<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>
</description>
</method>
<method name="add_do_reference">
<argument index="0" name="object" type="Object">
</argument>
<description>
</description>
</method>
<method name="add_undo_method">
<argument index="0" name="object" type="Object">
</argument>
<argument index="1" name="method" type="String">
</argument>
<argument index="2" name="arg0" type="var" default="NULL">
</argument>
<argument index="3" name="arg1" type="var" default="NULL">
</argument>
<argument index="4" name="arg2" type="var" default="NULL">
</argument>
<argument index="5" name="arg3" type="var" default="NULL">
</argument>
<argument index="6" name="arg4" type="var" default="NULL">
</argument>
<description>
</description>
</method>
<method name="add_undo_property">
<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>
</description>
</method>
<method name="add_undo_reference">
<argument index="0" name="object" type="Object">
</argument>
<description>
</description>
</method>
<method name="clear_history">
<description>
</description>
</method>
<method name="commit_action">
<description>
</description>
</method>
<method name="create_action">
<argument index="0" name="name" type="String">
</argument>
<argument index="1" name="mergeable" type="bool" default="false">
</argument>
<description>
</description>
</method>
<method name="get_current_action_name" qualifiers="const">
<return type="String">
</return>
<description>
</description>
</method>
<method name="get_version" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="VBoxContainer" inherits="BoxContainer" category="Core">
<brief_description>
Vertical box container.
</brief_description>
<description>
Vertical box container. See [BoxContainer].
</description>
<methods>
</methods>
<constants>
</constants>
<theme_items>
<theme_item name="separation" type="int">
</theme_item>
</theme_items>
</class>
<class name="VButtonArray" inherits="ButtonArray" category="Core">
<brief_description>
Vertical button array.
</brief_description>
<description>
Vertical button array. See [ButtonArray].
</description>
<methods>
</methods>
<constants>
</constants>
<theme_items>
<theme_item name="button_separator" type="int">
</theme_item>
<theme_item name="focus" type="StyleBox">
</theme_item>
<theme_item name="font" type="Font">
</theme_item>
<theme_item name="font_color" type="Color">
</theme_item>
<theme_item name="font_color_selected" type="Color">
</theme_item>
<theme_item name="font_selected" type="Font">
</theme_item>
<theme_item name="hover" type="StyleBox">
</theme_item>
<theme_item name="icon_separator" type="int">
</theme_item>
<theme_item name="normal" type="StyleBox">
</theme_item>
<theme_item name="selected" type="StyleBox">
</theme_item>
</theme_items>
</class>
<class name="VScrollBar" inherits="ScrollBar" category="Core">
<brief_description>
Vertical version of [ScrollBar], which goes from left (min) to right (max).
</brief_description>
<description>
</description>
<methods>
</methods>
<constants>
</constants>
<theme_items>
<theme_item name="decrement" type="Texture">
</theme_item>
<theme_item name="decrement_hilite" type="Texture">
</theme_item>
<theme_item name="grabber" type="StyleBox">
</theme_item>
<theme_item name="grabber_hilite" type="StyleBox">
</theme_item>
<theme_item name="increment" type="Texture">
</theme_item>
<theme_item name="increment_hilite" type="Texture">
</theme_item>
<theme_item name="scroll" type="StyleBox">
</theme_item>
<theme_item name="scroll_focus" type="StyleBox">
</theme_item>
</theme_items>
</class>
<class name="VSeparator" inherits="Separator" category="Core">
<brief_description>
Vertical version of [Separator].
</brief_description>
<description>
Vertical version of [Separator]. It is used to separate objects horizontally, though (but it looks vertical!).
</description>
<methods>
</methods>
<constants>
</constants>
<theme_items>
<theme_item name="separation" type="int">
</theme_item>
<theme_item name="separator" type="StyleBox">
</theme_item>
</theme_items>
</class>
<class name="VSlider" inherits="Slider" category="Core">
<brief_description>
Vertical slider.
</brief_description>
<description>
Vertical slider. See [Slider]. This one goes from left (min) to right (max).
</description>
<methods>
</methods>
<constants>
</constants>
<theme_items>
<theme_item name="grabber" type="Texture">
</theme_item>
<theme_item name="grabber_hilite" type="Texture">
</theme_item>
<theme_item name="grabber_hilite" type="StyleBox">
</theme_item>
<theme_item name="slider" type="StyleBox">
</theme_item>
<theme_item name="tick" type="Texture">
</theme_item>
</theme_items>
</class>
<class name="VSplitContainer" inherits="SplitContainer" category="Core">
<brief_description>
Vertical split container.
</brief_description>
<description>
Vertical split container. See [SplitContainer]. This goes from left to right.
</description>
<methods>
</methods>
<constants>
</constants>
<theme_items>
<theme_item name="autohide" type="int">
</theme_item>
<theme_item name="bg" type="StyleBox">
</theme_item>
<theme_item name="grabber" type="Texture">
</theme_item>
<theme_item name="separation" type="int">
</theme_item>
</theme_items>
</class>
<class name="Vector2" category="Built-In Types">
<brief_description>
Vector used for 2D Math.
</brief_description>
<description>
2-element structure that can be used to represent positions in 2d-space, or any other pair of numeric values.
</description>
<methods>
<method name="Vector2">
<return type="Vector2">
</return>
<argument index="0" name="x" type="float">
</argument>
<argument index="1" name="y" type="float">
</argument>
<description>
Constructs a new Vector2 from the given x and y.
</description>
</method>
<method name="angle">
<return type="float">
</return>
<description>
Returns the result of atan2 when called with the Vector's x and y as parameters (Math::atan2(x,y)).
Be aware that it therefore returns an angle oriented clockwise with regard to the (0, 1) unit vector, and not an angle oriented counter-clockwise with regard to the (1, 0) unit vector (which would be the typical trigonometric representation of the angle when calling Math::atan2(y,x)).
</description>
</method>
<method name="angle_to">
<return type="float">
</return>
<argument index="0" name="to" type="Vector2">
</argument>
<description>
Returns the angle in radians between the two vectors.
</description>
</method>
<method name="angle_to_point">
<return type="float">
</return>
<argument index="0" name="to" type="Vector2">
</argument>
<description>
Returns the angle in radians between the line connecting the two points and the x coordinate.
</description>
</method>
<method name="cubic_interpolate">
<return type="Vector2">
</return>
<argument index="0" name="b" type="Vector2">
</argument>
<argument index="1" name="pre_a" type="Vector2">
</argument>
<argument index="2" name="post_b" type="Vector2">
</argument>
<argument index="3" name="t" type="float">
</argument>
<description>
Cubicly interpolates between this Vector and "b", using "pre_a" and "post_b" as handles, and returning the result at position "t".
</description>
</method>
<method name="distance_squared_to">
<return type="float">
</return>
<argument index="0" name="to" type="Vector2">
</argument>
<description>
Returns the squared distance to vector "b". Prefer this function over "distance_to" if you need to sort vectors or need the squared distance for some formula.
</description>
</method>
<method name="distance_to">
<return type="float">
</return>
<argument index="0" name="to" type="Vector2">
</argument>
<description>
Returns the distance to vector "b".
</description>
</method>
<method name="dot">
<return type="float">
</return>
<argument index="0" name="with" type="Vector2">
</argument>
<description>
Returns the dot product with vector "b".
</description>
</method>
<method name="floor">
<return type="Vector2">
</return>
<description>
Remove the fractional part of x and y.
</description>
</method>
<method name="floorf">
<return type="Vector2">
</return>
<description>
Remove the fractional part of x and y.
</description>
</method>
<method name="get_aspect">
<return type="float">
</return>
<description>
Returns the ratio of X to Y.
</description>
</method>
<method name="length">
<return type="float">
</return>
<description>
Returns the length of the vector.
</description>
</method>
<method name="length_squared">
<return type="float">
</return>
<description>
Returns the squared length of the vector. Prefer this function over "length" if you need to sort vectors or need the squared length for some formula.
</description>
</method>
<method name="linear_interpolate">
<return type="Vector2">
</return>
<argument index="0" name="b" type="Vector2">
</argument>
<argument index="1" name="t" type="float">
</argument>
<description>
Returns the result of the linear interpolation between this vector and "b", by amount "t".
</description>
</method>
<method name="normalized">
<return type="Vector2">
</return>
<description>
Returns a normalized vector to unit length.
</description>
</method>
<method name="reflect">
<return type="Vector2">
</return>
<argument index="0" name="vec" type="Vector2">
</argument>
<description>
Like "slide", but reflects the Vector instead of continuing along the wall.
</description>
</method>
<method name="rotated">
<return type="Vector2">
</return>
<argument index="0" name="phi" type="float">
</argument>
<description>
Rotates the vector by "phi" radians.
</description>
</method>
<method name="slide">
<return type="Vector2">
</return>
<argument index="0" name="vec" type="Vector2">
</argument>
<description>
Slides the vector by the other vector.
</description>
</method>
<method name="snapped">
<return type="Vector2">
</return>
<argument index="0" name="by" type="Vector2">
</argument>
<description>
Snaps the vector to a grid with the given size.
</description>
</method>
<method name="tangent">
<return type="Vector2">
</return>
<description>
Returns a perpendicular vector.
</description>
</method>
</methods>
<members>
<member name="height" type="float">
Height of the vector (Same as Y).
</member>
<member name="width" type="float">
Width of the vector (Same as X).
</member>
<member name="x" type="float">
X component of the vector.
</member>
<member name="y" type="float">
Y component of the vector.
</member>
</members>
<constants>
</constants>
</class>
<class name="Vector2Array" category="Built-In Types">
<brief_description>
An Array of Vector2.
</brief_description>
<description>
An Array specifically designed to hold Vector2.
</description>
<methods>
<method name="Vector2Array">
<return type="Vector2Array">
</return>
<argument index="0" name="from" type="Array">
</argument>
<description>
Construct a new [Vector2Array]. Optionally, you can pass in an Array that will be converted.
</description>
</method>
<method name="push_back">
<argument index="0" name="vector2" type="Vector2">
</argument>
<description>
Insert a [Vector2] at the end.
</description>
</method>
<method name="resize">
<argument index="0" name="idx" type="int">
</argument>
<description>
Set the size of the Vector2Array. If larger than the current size it will reserve some space beforehand, and if it is smaller it will cut off the array.
</description>
</method>
<method name="set">
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="vector2" type="Vector2">
</argument>
<description>
Change the [Vector2] at the given index.
</description>
</method>
<method name="size">
<return type="int">
</return>
<description>
Return the size of the array.
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="Vector3" category="Built-In Types">
<brief_description>
Vector class, which performs basic 3D vector math operations.
</brief_description>
<description>
Vector3 is one of the core classes of the engine, and includes several built-in helper functions to perform basic vector math operations.
</description>
<methods>
<method name="Vector3">
<return type="Vector3">
</return>
<argument index="0" name="x" type="float">
</argument>
<argument index="1" name="y" type="float">
</argument>
<argument index="2" name="z" type="float">
</argument>
<description>
Returns a Vector3 with the given components.
</description>
</method>
<method name="abs">
<return type="Vector3">
</return>
<description>
Returns a new vector with all components in absolute values (e.g. positive).
</description>
</method>
<method name="ceil">
<return type="Vector3">
</return>
<description>
Returns a new vector with all components rounded up.
</description>
</method>
<method name="cross">
<return type="Vector3">
</return>
<argument index="0" name="b" type="Vector3">
</argument>
<description>
Return the cross product with b.
</description>
</method>
<method name="cubic_interpolate">
<return type="Vector3">
</return>
<argument index="0" name="b" type="Vector3">
</argument>
<argument index="1" name="pre_a" type="Vector3">
</argument>
<argument index="2" name="post_b" type="Vector3">
</argument>
<argument index="3" name="t" type="float">
</argument>
<description>
Perform a cubic interpolation between vectors pre_a, a, b, post_b (a is current), by the given amount (t).
</description>
</method>
<method name="distance_squared_to">
<return type="float">
</return>
<argument index="0" name="b" type="Vector3">
</argument>
<description>
Return the squared distance (distance minus the last square root) to b. Prefer this function over distance_to if you need to sort vectors or need the squared distance for some formula.
</description>
</method>
<method name="distance_to">
<return type="float">
</return>
<argument index="0" name="b" type="Vector3">
</argument>
<description>
Return the distance to b.
</description>
</method>
<method name="dot">
<return type="float">
</return>
<argument index="0" name="b" type="Vector3">
</argument>
<description>
Return the dot product with b.
</description>
</method>
<method name="floor">
<return type="Vector3">
</return>
<description>
Returns a new vector with all components rounded down.
</description>
</method>
<method name="inverse">
<return type="Vector3">
</return>
<description>
Returns the inverse of the vector. This is the same as Vector3( 1.0 / v.x, 1.0 / v.y, 1.0 / v.z )
</description>
</method>
<method name="length">
<return type="float">
</return>
<description>
Return the length of the vector.
</description>
</method>
<method name="length_squared">
<return type="float">
</return>
<description>
Return the length of the vector, squared. Prefer this function over "length" if you need to sort vectors or need the squared length for some formula.
</description>
</method>
<method name="linear_interpolate">
<return type="Vector3">
</return>
<argument index="0" name="b" type="Vector3">
</argument>
<argument index="1" name="t" type="float">
</argument>
<description>
Linearly interpolates the vector to a given one (b), by the given amount (t).
</description>
</method>
<method name="max_axis">
<return type="int">
</return>
<description>
Returns AXIS_X, AXIS_Y or AXIS_Z depending on which axis is the largest.
</description>
</method>
<method name="min_axis">
<return type="int">
</return>
<description>
Returns AXIS_X, AXIS_Y or AXIS_Z depending on which axis is the smallest.
</description>
</method>
<method name="normalized">
<return type="Vector3">
</return>
<description>
Return a copy of the normalized vector to unit length. This is the same as v / v.length().
</description>
</method>
<method name="reflect">
<return type="Vector3">
</return>
<argument index="0" name="by" type="Vector3">
</argument>
<description>
Like "slide", but reflects the Vector instead of continuing along the wall.
</description>
</method>
<method name="rotated">
<return type="Vector3">
</return>
<argument index="0" name="axis" type="Vector3">
</argument>
<argument index="1" name="phi" type="float">
</argument>
<description>
Rotates the vector around some axis by phi radians.
</description>
</method>
<method name="slide">
<return type="Vector3">
</return>
<argument index="0" name="by" type="Vector3">
</argument>
<description>
Slides the vector along a wall.
</description>
</method>
<method name="snapped">
<return type="Vector3">
</return>
<argument index="0" name="by" type="float">
</argument>
<description>
Return a copy of the vector, snapped to the lowest neared multiple.
</description>
</method>
</methods>
<members>
<member name="x" type="float">
X component of the vector.
</member>
<member name="y" type="float">
Y component of the vector.
</member>
<member name="z" type="float">
Z component of the vector.
</member>
</members>
<constants>
<constant name="AXIS_X" value="0">
Enumerated value for the X axis. Returned by functions like max_axis or min_axis.
</constant>
<constant name="AXIS_Y" value="1">
Enumerated value for the Y axis.
</constant>
<constant name="AXIS_Z" value="2">
Enumerated value for the Z axis.
</constant>
</constants>
</class>
<class name="Vector3Array" category="Built-In Types">
<brief_description>
An Array of Vector3.
</brief_description>
<description>
An Array specifically designed to hold Vector3.
</description>
<methods>
<method name="Vector3Array">
<return type="Vector3Array">
</return>
<argument index="0" name="from" type="Array">
</argument>
<description>
Construct a new Vector3Array. Optionally, you can pass in an Array that will be converted.
</description>
</method>
<method name="push_back">
<argument index="0" name="vector3" type="Vector3">
</argument>
<description>
Insert a Vector3 at the end.
</description>
</method>
<method name="resize">
<argument index="0" name="idx" type="int">
</argument>
<description>
Set the size of the Vector3Array. If larger than the current size it will reserve some space beforehand, and if it is smaller it will cut off the array.
</description>
</method>
<method name="set">
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="vector3" type="Vector3">
</argument>
<description>
Change the [Vector3] at the given index.
</description>
</method>
<method name="size">
<return type="int">
</return>
<description>
Return the size of the array.
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="VehicleBody" inherits="PhysicsBody" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
<method name="get_brake" qualifiers="const">
<return type="float">
</return>
<description>
</description>
</method>
<method name="get_engine_force" qualifiers="const">
<return type="float">
</return>
<description>
</description>
</method>
<method name="get_friction" qualifiers="const">
<return type="float">
</return>
<description>
</description>
</method>
<method name="get_mass" qualifiers="const">
<return type="float">
</return>
<description>
</description>
</method>
<method name="get_steering" qualifiers="const">
<return type="float">
</return>
<description>
</description>
</method>
<method name="set_brake">
<argument index="0" name="brake" type="float">
</argument>
<description>
</description>
</method>
<method name="set_engine_force">
<argument index="0" name="engine_force" type="float">
</argument>
<description>
</description>
</method>
<method name="set_friction">
<argument index="0" name="friction" type="float">
</argument>
<description>
</description>
</method>
<method name="set_mass">
<argument index="0" name="mass" type="float">
</argument>
<description>
</description>
</method>
<method name="set_steering">
<argument index="0" name="steering" type="float">
</argument>
<description>
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="VehicleWheel" inherits="Spatial" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
<method name="get_damping_compression" qualifiers="const">
<return type="float">
</return>
<description>
</description>
</method>
<method name="get_damping_relaxation" qualifiers="const">
<return type="float">
</return>
<description>
</description>
</method>
<method name="get_friction_slip" qualifiers="const">
<return type="float">
</return>
<description>
</description>
</method>
<method name="get_radius" qualifiers="const">
<return type="float">
</return>
<description>
</description>
</method>
<method name="get_suspension_max_force" qualifiers="const">
<return type="float">
</return>
<description>
</description>
</method>
<method name="get_suspension_rest_length" qualifiers="const">
<return type="float">
</return>
<description>
</description>
</method>
<method name="get_suspension_stiffness" qualifiers="const">
<return type="float">
</return>
<description>
</description>
</method>
<method name="get_suspension_travel" qualifiers="const">
<return type="float">
</return>
<description>
</description>
</method>
<method name="is_used_as_steering" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="is_used_as_traction" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="set_damping_compression">
<argument index="0" name="length" type="float">
</argument>
<description>
</description>
</method>
<method name="set_damping_relaxation">
<argument index="0" name="length" type="float">
</argument>
<description>
</description>
</method>
<method name="set_friction_slip">
<argument index="0" name="length" type="float">
</argument>
<description>
</description>
</method>
<method name="set_radius">
<argument index="0" name="length" type="float">
</argument>
<description>
</description>
</method>
<method name="set_suspension_max_force">
<argument index="0" name="length" type="float">
</argument>
<description>
</description>
</method>
<method name="set_suspension_rest_length">
<argument index="0" name="length" type="float">
</argument>
<description>
</description>
</method>
<method name="set_suspension_stiffness">
<argument index="0" name="length" type="float">
</argument>
<description>
</description>
</method>
<method name="set_suspension_travel">
<argument index="0" name="length" type="float">
</argument>
<description>
</description>
</method>
<method name="set_use_as_steering">
<argument index="0" name="enable" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_use_as_traction">
<argument index="0" name="enable" type="bool">
</argument>
<description>
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="VideoPlayer" inherits="Control" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
<method name="get_audio_track" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_buffering_msec" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_stream" qualifiers="const">
<return type="VideoStream">
</return>
<description>
</description>
</method>
<method name="get_stream_name" qualifiers="const">
<return type="String">
</return>
<description>
</description>
</method>
<method name="get_stream_pos" qualifiers="const">
<return type="float">
</return>
<description>
</description>
</method>
<method name="get_video_texture">
<return type="Texture">
</return>
<description>
</description>
</method>
<method name="get_volume" qualifiers="const">
<return type="float">
</return>
<description>
</description>
</method>
<method name="get_volume_db" qualifiers="const">
<return type="float">
</return>
<description>
</description>
</method>
<method name="has_autoplay" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="has_expand" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="is_paused" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="is_playing" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="play">
<description>
</description>
</method>
<method name="set_audio_track">
<argument index="0" name="track" type="int">
</argument>
<description>
</description>
</method>
<method name="set_autoplay">
<argument index="0" name="enabled" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_buffering_msec">
<argument index="0" name="msec" type="int">
</argument>
<description>
</description>
</method>
<method name="set_expand">
<argument index="0" name="enable" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_paused">
<argument index="0" name="paused" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_stream">
<argument index="0" name="stream" type="VideoStream">
</argument>
<description>
</description>
</method>
<method name="set_volume">
<argument index="0" name="volume" type="float">
</argument>
<description>
</description>
</method>
<method name="set_volume_db">
<argument index="0" name="db" type="float">
</argument>
<description>
</description>
</method>
<method name="stop">
<description>
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="VideoStream" inherits="Resource" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
</methods>
<constants>
</constants>
</class>
<class name="VideoStreamTheora" inherits="VideoStream" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
</methods>
<constants>
</constants>
</class>
<class name="Viewport" inherits="Node" category="Core">
<brief_description>
Creates a sub-view into the screen.
</brief_description>
<description>
A Viewport creates a different view into the screen, or a sub-view inside another viewport. Children 2D Nodes will display on it, and children Camera 3D nodes will render on it too.
Optionally, a viewport can have its own 2D or 3D world, so they don't share what they draw with other viewports.
If a viewport is a child of a [Control], it will automatically take up its same rect and position, otherwise they must be set manually.
Viewports can also choose to be audio listeners, so they generate positional audio depending on a 2D or 3D camera child of it.
Also, viewports can be assigned to different screens in case the devices have multiple screens.
Finally, viewports can also behave as render targets, in which case they will not be visible unless the associated texture is used to draw.
</description>
<methods>
<method name="find_world" qualifiers="const">
<return type="World">
</return>
<description>
Return the 3D world of the viewport, or if no such present, the one of the parent viewport.
</description>
</method>
<method name="find_world_2d" qualifiers="const">
<return type="World2D">
</return>
<description>
Return the 2D world of the viewport.
</description>
</method>
<method name="get_camera" qualifiers="const">
<return type="Camera">
</return>
<description>
Return the active 3D camera.
</description>
</method>
<method name="get_canvas_transform" qualifiers="const">
<return type="Matrix32">
</return>
<description>
Get the canvas transform of the viewport.
</description>
</method>
<method name="get_final_transform" qualifiers="const">
<return type="Matrix32">
</return>
<description>
Get the total transform of the viewport.
</description>
</method>
<method name="get_global_canvas_transform" qualifiers="const">
<return type="Matrix32">
</return>
<description>
Get the global canvas transform of the viewport.
</description>
</method>
<method name="get_mouse_pos" qualifiers="const">
<return type="Vector2">
</return>
<description>
Get the mouse position, relative to the viewport.
</description>
</method>
<method name="get_physics_object_picking">
<return type="bool">
</return>
<description>
Get whether picking for all physics objects inside the viewport is enabled.
</description>
</method>
<method name="get_rect" qualifiers="const">
<return type="Rect2">
</return>
<description>
Return the viewport rect. If the viewport is child of a control, it will use the same rect as the parent. Otherwise, if the rect is empty, the viewport will use all the allowed space.
</description>
</method>
<method name="get_render_target_clear_on_new_frame" qualifiers="const">
<return type="bool">
</return>
<description>
Return whether automatic clearing of the render target on each frame is enabled.
</description>
</method>
<method name="get_render_target_filter" qualifiers="const">
<return type="bool">
</return>
<description>
Get whether the rendered texture has filters enabled.
</description>
</method>
<method name="get_render_target_gen_mipmaps" qualifiers="const">
<return type="bool">
</return>
<description>
Get whether the rendered texture will have mipmaps generated.
</description>
</method>
<method name="get_render_target_texture" qualifiers="const">
<return type="RenderTargetTexture">
</return>
<description>
Get the render target's texture, for use with various objects that you want to texture with the viewport.
</description>
</method>
<method name="get_render_target_update_mode" qualifiers="const">
<return type="int">
</return>
<description>
Get when the render target would be updated, will be one of the [code]RENDER_TARGET_UPDATE_*[/code] constants.
</description>
</method>
<method name="get_render_target_vflip" qualifiers="const">
<return type="bool">
</return>
<description>
Set whether the render target is flipped on the Y axis.
</description>
</method>
<method name="get_screen_capture" qualifiers="const">
<return type="Image">
</return>
<description>
Return the captured screenshot after [method queue_screen_capture]. You might need to check more than one frame untill the right image is returned.
</description>
</method>
<method name="get_size_override" qualifiers="const">
<return type="Vector2">
</return>
<description>
Get the size override set with [method set_size_override].
</description>
</method>
<method name="get_viewport" qualifiers="const">
<return type="RID">
</return>
<description>
Get the viewport RID from the visual server.
</description>
</method>
<method name="get_visible_rect" qualifiers="const">
<return type="Rect2">
</return>
<description>
Return the final, visible rect in global screen coordinates.
</description>
</method>
<method name="get_world" qualifiers="const">
<return type="World">
</return>
<description>
Return the 3D world of the viewport.
</description>
</method>
<method name="gui_has_modal_stack" qualifiers="const">
<return type="bool">
</return>
<description>
Returs whether there are shown modals on-screen.
</description>
</method>
<method name="has_transparent_background" qualifiers="const">
<return type="bool">
</return>
<description>
Return whether the viewport lets whatever is behind it to show.
</description>
</method>
<method name="input">
<argument index="0" name="local_event" type="InputEvent">
</argument>
<description>
</description>
</method>
<method name="is_audio_listener" qualifiers="const">
<return type="bool">
</return>
<description>
Returns whether the viewport sends sounds to the speakers.
</description>
</method>
<method name="is_audio_listener_2d" qualifiers="const">
<return type="bool">
</return>
<description>
Returns whether the viewport sends soundsfrom 2D emitters to the speakers.
</description>
</method>
<method name="is_input_disabled" qualifiers="const">
<return type="bool">
</return>
<description>
Return whether input to the viewport is disabled.
</description>
</method>
<method name="is_set_as_render_target" qualifiers="const">
<return type="bool">
</return>
<description>
Return whether the viewport is set as a render target by [method set_as_render_target].
</description>
</method>
<method name="is_size_override_enabled" qualifiers="const">
<return type="bool">
</return>
<description>
Get the enabled status of the size override set with [method set_size_override].
</description>
</method>
<method name="is_size_override_stretch_enabled" qualifiers="const">
<return type="bool">
</return>
<description>
Get the enabled status of the size strech override set with [method set_size_override_stretch].
</description>
</method>
<method name="is_using_own_world" qualifiers="const">
<return type="bool">
</return>
<description>
Return whether the viewport is using a world separate from the parent viewport's world.
</description>
</method>
<method name="queue_screen_capture">
<description>
Queue a multithreaded screenshot, you can retrive it at a later frame via [method get_screen_capture].
</description>
</method>
<method name="render_target_clear">
<description>
Clear the render target manually.
</description>
</method>
<method name="set_as_audio_listener">
<argument index="0" name="enable" type="bool">
</argument>
<description>
Makes the viewport send sounds to the speakers.
</description>
</method>
<method name="set_as_audio_listener_2d">
<argument index="0" name="enable" type="bool">
</argument>
<description>
Makes the viewport send sounds from 2D emitters to the speakers.
</description>
</method>
<method name="set_as_render_target">
<argument index="0" name="enable" type="bool">
</argument>
<description>
Set the viewport's render target mode.
</description>
</method>
<method name="set_canvas_transform">
<argument index="0" name="xform" type="Matrix32">
</argument>
<description>
Set the canvas transform of the viewport, useful for changing the on-screen positions of all child [CanvasItem]s. This is relative to the global canvas transform of the viewport.
</description>
</method>
<method name="set_disable_input">
<argument index="0" name="disable" type="bool">
</argument>
<description>
Set whether input to the viewport is disabled.
</description>
</method>
<method name="set_global_canvas_transform">
<argument index="0" name="xform" type="Matrix32">
</argument>
<description>
Set the global canvas transform of the viewport. The canvas transform is relative to this.
</description>
</method>
<method name="set_physics_object_picking">
<argument index="0" name="enable" type="bool">
</argument>
<description>
Enable/disable picking for all physics objects inside the viewport.
</description>
</method>
<method name="set_rect">
<argument index="0" name="rect" type="Rect2">
</argument>
<description>
Set the viewport rect. If the viewport is child of a control, it will use the same rect as the parent.
</description>
</method>
<method name="set_render_target_clear_on_new_frame">
<argument index="0" name="enable" type="bool">
</argument>
<description>
Enable/disable automatic clearing of the render target on each frame. You might find it better to disable this if you are using the viewport for rarely updated textures. To clear manually, check [method render_target_clear]
</description>
</method>
<method name="set_render_target_filter">
<argument index="0" name="enable" type="bool">
</argument>
<description>
Set whether the rendered texture should have filters enabled. Disable if you want the texture's pixels be visible.
</description>
</method>
<method name="set_render_target_gen_mipmaps">
<argument index="0" name="enable" type="bool">
</argument>
<description>
Set whether the rendered texture should have mipmaps generated. Mipmaps allow the texture to have better antialiasing from far away.
</description>
</method>
<method name="set_render_target_to_screen_rect">
<argument index="0" name="rect" type="Rect2">
</argument>
<description>
Map a part of the screen to the render target directly.
</description>
</method>
<method name="set_render_target_update_mode">
<argument index="0" name="mode" type="int">
</argument>
<description>
Set when the render target should be updated, has to be one of the [code]RENDER_TARGET_UPDATE_*[/code] constants.
</description>
</method>
<method name="set_render_target_vflip">
<argument index="0" name="enable" type="bool">
</argument>
<description>
Set whether the render target should be flipped on the Y axis.
</description>
</method>
<method name="set_size_override">
<argument index="0" name="enable" type="bool">
</argument>
<argument index="1" name="size" type="Vector2" default="Vector2(-1,-1)">
</argument>
<argument index="2" name="margin" type="Vector2" default="Vector2(0,0)">
</argument>
<description>
Set the size of the viewport. If the enable parameter is true, it would use the override, otherwise it would use the default size. If the size parameter is equal to [code](-1, -1)[/code], it won't update the size.
</description>
</method>
<method name="set_size_override_stretch">
<argument index="0" name="enabled" type="bool">
</argument>
<description>
Set whether the size override affects stretch as well.
</description>
</method>
<method name="set_transparent_background">
<argument index="0" name="enable" type="bool">
</argument>
<description>
If this viewport is a child of another viewport, keep the previously drawn background visible.
</description>
</method>
<method name="set_use_own_world">
<argument index="0" name="enable" type="bool">
</argument>
<description>
Make the viewport use a world separate from the parent viewport's world.
</description>
</method>
<method name="set_world">
<argument index="0" name="world" type="World">
</argument>
<description>
Change the 3D world of the viewport.
</description>
</method>
<method name="unhandled_input">
<argument index="0" name="local_event" type="InputEvent">
</argument>
<description>
</description>
</method>
<method name="update_worlds">
<description>
Force update of the 2D and 3D worlds.
</description>
</method>
<method name="warp_mouse">
<argument index="0" name="to_pos" type="Vector2">
</argument>
<description>
Wrap the mouse to a position, relative to the viewport.
</description>
</method>
</methods>
<signals>
<signal name="size_changed">
<description>
Emitted when the size of the viewport is changed, whether by [method set_size_override], resize of window, or some other means.
</description>
</signal>
</signals>
<constants>
<constant name="RENDER_TARGET_UPDATE_DISABLED" value="0">
Do not update the render target.
</constant>
<constant name="RENDER_TARGET_UPDATE_ONCE" value="1">
Update the render target once, then switch to [code]RENDER_TARGET_UPDATE_DISABLED[/code]
</constant>
<constant name="RENDER_TARGET_UPDATE_WHEN_VISIBLE" value="2">
Update the render target only when it is visible. This is the default value.
</constant>
<constant name="RENDER_TARGET_UPDATE_ALWAYS" value="3">
Update the render target always.
</constant>
</constants>
</class>
<class name="ViewportSprite" inherits="Node2D" category="Core">
<brief_description>
Displays a viewport as a sprite.
</brief_description>
<description>
Used to display a [Viewport] node at some position in the world, without having to mess with [RenderTargetTexture]s.
</description>
<methods>
<method name="get_modulate" qualifiers="const">
<return type="Color">
</return>
<description>
Get color modulation for the texture. All texture pixels are multiplied by this color.
</description>
</method>
<method name="get_offset" qualifiers="const">
<return type="Vector2">
</return>
<description>
get the offset to the origin of the texture.
</description>
</method>
<method name="get_viewport_path" qualifiers="const">
<return type="NodePath">
</return>
<description>
Return the path to the shown [Viewport] node.
</description>
</method>
<method name="is_centered" qualifiers="const">
<return type="bool">
</return>
<description>
Return whether the viewport's texture is centered on the origin.
</description>
</method>
<method name="set_centered">
<argument index="0" name="centered" type="bool">
</argument>
<description>
Set whether the viewport's texture should be centered on the origin.
</description>
</method>
<method name="set_modulate">
<argument index="0" name="modulate" type="Color">
</argument>
<description>
Set color modulation for the texture. All texture pixels are multiplied by this color. Color may contain rgb values above 1 to achieve a highlight effect.
</description>
</method>
<method name="set_offset">
<argument index="0" name="offset" type="Vector2">
</argument>
<description>
Set the offset to the origin of the texture.
</description>
</method>
<method name="set_viewport_path">
<argument index="0" name="path" type="NodePath">
</argument>
<description>
Set the path to the shown [Viewport] node.
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="VisibilityEnabler" inherits="VisibilityNotifier" category="Core">
<brief_description>
Enable certain nodes only when visible.
</brief_description>
<description>
The VisibilityEnabler will disable [RigidBody] and [AnimationPlayer] nodes when they are not visible. It will only affect other nodes within the same scene as the VisibilityEnabler itself.
</description>
<methods>
<method name="is_enabler_enabled" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="enabler" type="int">
</argument>
<description>
Returns whether the specified enabler was set to true or not.
</description>
</method>
<method name="set_enabler">
<argument index="0" name="enabler" type="int">
</argument>
<argument index="1" name="enabled" type="bool">
</argument>
<description>
Set an enabler to true for all nodes of its type to be disabled when the VisibilityEnabler is not in view. See the constants for enablers and what they affect.
</description>
</method>
</methods>
<constants>
<constant name="ENABLER_FREEZE_BODIES" value="1">
This enabler will freeze [RigidBody] nodes.
</constant>
<constant name="ENABLER_PAUSE_ANIMATIONS" value="0">
This enabler will pause [AnimationPlayer] nodes.
</constant>
<constant name="ENABLER_MAX" value="2">
</constant>
</constants>
</class>
<class name="VisibilityEnabler2D" inherits="VisibilityNotifier2D" category="Core">
<brief_description>
Enable certain nodes only when visible.
</brief_description>
<description>
The VisibilityEnabler2D will disable [RigidBody2D], [AnimationPlayer], and other nodes when they are not visible. It will only affect other nodes within the same scene as the VisibilityEnabler2D itself.
</description>
<methods>
<method name="is_enabler_enabled" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="enabler" type="int">
</argument>
<description>
Returns whether the specified enabler was set to true or not.
</description>
</method>
<method name="set_enabler">
<argument index="0" name="enabler" type="int">
</argument>
<argument index="1" name="enabled" type="bool">
</argument>
<description>
Set an enabler to true for all nodes of its type to be disabled when the VisibilityEnabler2D is not in view. See the constants for enablers and what they affect.
</description>
</method>
</methods>
<constants>
<constant name="ENABLER_FREEZE_BODIES" value="1">
This enabler will freeze [RigidBody2D] nodes.
</constant>
<constant name="ENABLER_PAUSE_ANIMATIONS" value="0">
This enabler will pause [AnimationPlayer] nodes.
</constant>
<constant name="ENABLER_PAUSE_PARTICLES" value="2">
This enabler will stop [Particles2D] nodes.
</constant>
<constant name="ENABLER_PARENT_PROCESS" value="3">
This enabler will stop the parent's _process function.
</constant>
<constant name="ENABLER_PARENT_FIXED_PROCESS" value="4">
This enabler will stop the parent's _fixed_process function.
</constant>
<constant name="ENABLER_MAX" value="5">
</constant>
</constants>
</class>
<class name="VisibilityNotifier" inherits="Spatial" category="Core">
<brief_description>
Detect when the node is visible on screen.
</brief_description>
<description>
The VisibilityNotifier is used to notify when its bounding box enters the screen, is visible on the screen, or when it exits the screen.
</description>
<methods>
<method name="get_aabb" qualifiers="const">
<return type="AABB">
</return>
<description>
Return the visibility bounding box of the VisibilityNotifier.
</description>
</method>
<method name="is_on_screen" qualifiers="const">
<return type="bool">
</return>
<description>
Return true if any part of the bounding box is on the screen.
</description>
</method>
<method name="set_aabb">
<argument index="0" name="rect" type="AABB">
</argument>
<description>
Set the visibility bounding box of the VisibilityNotifier.
</description>
</method>
</methods>
<signals>
<signal name="enter_camera">
<argument index="0" name="camera" type="Object">
</argument>
<description>
Emitted when the VisibilityNotifier enters a [Camera]'s view.
</description>
</signal>
<signal name="enter_screen">
<description>
Emitted when the VisibilityNotifier enters the screen.
</description>
</signal>
<signal name="exit_camera">
<argument index="0" name="camera" type="Object">
</argument>
<description>
Emitted when the VisibilityNotifier exits a [Camera]'s view.
</description>
</signal>
<signal name="exit_screen">
<description>
Emitted when the VisibilityNotifier exits the screen.
</description>
</signal>
</signals>
<constants>
</constants>
</class>
<class name="VisibilityNotifier2D" inherits="Node2D" category="Core">
<brief_description>
Detect when the node is visible on screen.
</brief_description>
<description>
The VisibilityNotifier2D is used to notify when its bounding rectangle enters the screen, is visible on the screen, or when it exits the screen.
</description>
<methods>
<method name="get_rect" qualifiers="const">
<return type="Rect2">
</return>
<description>
Return the visibility bounding rectangle of the VisibilityNotifier2D.
</description>
</method>
<method name="is_on_screen" qualifiers="const">
<return type="bool">
</return>
<description>
Return true if any part of the bounding rectangle is on the screen.
</description>
</method>
<method name="set_rect">
<argument index="0" name="rect" type="Rect2">
</argument>
<description>
Set the visibility bounding rectangle of the VisibilityNotifier2D.
</description>
</method>
</methods>
<signals>
<signal name="enter_screen">
<description>
Emitted when the VisibilityNotifier2D enters the screen.
</description>
</signal>
<signal name="enter_viewport">
<argument index="0" name="viewport" type="Object">
</argument>
<description>
Emitted when the VisibilityNotifier2D enters a [Viewport].
</description>
</signal>
<signal name="exit_screen">
<description>
Emitted when the VisibilityNotifier2D exits the screen.
</description>
</signal>
<signal name="exit_viewport">
<argument index="0" name="viewport" type="Object">
</argument>
<description>
Emitted when the VisibilityNotifier2D exits a [Viewport].
</description>
</signal>
</signals>
<constants>
</constants>
</class>
<class name="VisualInstance" inherits="Spatial" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
<method name="get_layer_mask" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="set_base">
<argument index="0" name="base" type="RID">
</argument>
<description>
</description>
</method>
<method name="set_layer_mask">
<argument index="0" name="mask" type="int">
</argument>
<description>
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="VisualServer" inherits="Object" category="Core">
<brief_description>
Server for anything visible.
</brief_description>
<description>
Server for anything visible. The visual server is the API backend for everything visible. The whole scene system mounts on it to display.
The visual server is completely opaque, the internals are entirely implementation specific and cannot be accessed.
</description>
<methods>
<method name="black_bars_set_images">
<argument index="0" name="left" type="RID">
</argument>
<argument index="1" name="top" type="RID">
</argument>
<argument index="2" name="right" type="RID">
</argument>
<argument index="3" name="bottom" type="RID">
</argument>
<description>
</description>
</method>
<method name="black_bars_set_margins">
<argument index="0" name="left" type="int">
</argument>
<argument index="1" name="top" type="int">
</argument>
<argument index="2" name="right" type="int">
</argument>
<argument index="3" name="bottom" type="int">
</argument>
<description>
</description>
</method>
<method name="camera_create">
<return type="RID">
</return>
<description>
</description>
</method>
<method name="camera_set_orthogonal">
<argument index="0" name="arg0" type="RID">
</argument>
<argument index="1" name="arg1" type="float">
</argument>
<argument index="2" name="arg2" type="float">
</argument>
<argument index="3" name="arg3" type="float">
</argument>
<description>
</description>
</method>
<method name="camera_set_perspective">
<argument index="0" name="arg0" type="RID">
</argument>
<argument index="1" name="arg1" type="float">
</argument>
<argument index="2" name="arg2" type="float">
</argument>
<argument index="3" name="arg3" type="float">
</argument>
<description>
</description>
</method>
<method name="camera_set_transform">
<argument index="0" name="arg0" type="RID">
</argument>
<argument index="1" name="arg1" type="Transform">
</argument>
<description>
</description>
</method>
<method name="canvas_create">
<return type="RID">
</return>
<description>
</description>
</method>
<method name="canvas_item_add_circle">
<argument index="0" name="arg0" type="RID">
</argument>
<argument index="1" name="arg1" type="Vector2">
</argument>
<argument index="2" name="arg2" type="float">
</argument>
<argument index="3" name="arg3" type="Color">
</argument>
<description>
</description>
</method>
<method name="canvas_item_add_line">
<argument index="0" name="arg0" type="RID">
</argument>
<argument index="1" name="arg1" type="Vector2">
</argument>
<argument index="2" name="arg2" type="Vector2">
</argument>
<argument index="3" name="arg3" type="Color">
</argument>
<argument index="4" name="arg4" type="float" default="1">
</argument>
<description>
</description>
</method>
<method name="canvas_item_add_rect">
<argument index="0" name="arg0" type="RID">
</argument>
<argument index="1" name="arg1" type="Rect2">
</argument>
<argument index="2" name="arg2" type="Color">
</argument>
<description>
</description>
</method>
<method name="canvas_item_add_style_box">
<argument index="0" name="arg0" type="RID">
</argument>
<argument index="1" name="arg1" type="Rect2">
</argument>
<argument index="2" name="arg2" type="RID">
</argument>
<argument index="3" name="arg3" type="RealArray">
</argument>
<argument index="4" name="arg4" type="Color" default="Color(1,1,1,1)">
</argument>
<description>
</description>
</method>
<method name="canvas_item_add_texture_rect">
<argument index="0" name="arg0" type="RID">
</argument>
<argument index="1" name="arg1" type="Rect2">
</argument>
<argument index="2" name="arg2" type="RID">
</argument>
<argument index="3" name="arg3" type="bool">
</argument>
<argument index="4" name="arg4" type="Color" default="Color(1,1,1,1)">
</argument>
<argument index="5" name="arg5" type="bool" default="false">
</argument>
<description>
</description>
</method>
<method name="canvas_item_add_texture_rect_region">
<argument index="0" name="arg0" type="RID">
</argument>
<argument index="1" name="arg1" type="Rect2">
</argument>
<argument index="2" name="arg2" type="RID">
</argument>
<argument index="3" name="arg3" type="Rect2">
</argument>
<argument index="4" name="arg4" type="Color" default="Color(1,1,1,1)">
</argument>
<argument index="5" name="arg5" type="bool" default="false">
</argument>
<description>
</description>
</method>
<method name="canvas_item_clear">
<argument index="0" name="arg0" type="RID">
</argument>
<description>
</description>
</method>
<method name="canvas_item_create">
<return type="RID">
</return>
<description>
</description>
</method>
<method name="canvas_item_get_opacity" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="arg0" type="RID">
</argument>
<argument index="1" name="arg1" type="float">
</argument>
<description>
</description>
</method>
<method name="canvas_item_get_parent" qualifiers="const">
<return type="RID">
</return>
<argument index="0" name="arg0" type="RID">
</argument>
<description>
</description>
</method>
<method name="canvas_item_get_self_opacity" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="arg0" type="RID">
</argument>
<argument index="1" name="arg1" type="float">
</argument>
<description>
</description>
</method>
<method name="canvas_item_raise">
<argument index="0" name="arg0" type="RID">
</argument>
<description>
</description>
</method>
<method name="canvas_item_set_clip">
<argument index="0" name="arg0" type="RID">
</argument>
<argument index="1" name="arg1" type="bool">
</argument>
<description>
</description>
</method>
<method name="canvas_item_set_custom_rect">
<argument index="0" name="arg0" type="RID">
</argument>
<argument index="1" name="arg1" type="bool">
</argument>
<argument index="2" name="arg2" type="Rect2">
</argument>
<description>
</description>
</method>
<method name="canvas_item_set_opacity">
<argument index="0" name="arg0" type="RID">
</argument>
<argument index="1" name="arg1" type="float">
</argument>
<description>
</description>
</method>
<method name="canvas_item_set_parent">
<argument index="0" name="arg0" type="RID">
</argument>
<argument index="1" name="arg1" type="RID">
</argument>
<description>
</description>
</method>
<method name="canvas_item_set_self_opacity">
<argument index="0" name="arg0" type="RID">
</argument>
<argument index="1" name="arg1" type="float">
</argument>
<description>
</description>
</method>
<method name="canvas_item_set_transform">
<argument index="0" name="arg0" type="RID">
</argument>
<argument index="1" name="arg1" type="Matrix32">
</argument>
<description>
</description>
</method>
<method name="canvas_item_set_z">
<argument index="0" name="arg0" type="RID">
</argument>
<argument index="1" name="arg1" type="int">
</argument>
<description>
</description>
</method>
<method name="cursor_set_pos">
<argument index="0" name="arg0" type="Vector2">
</argument>
<argument index="1" name="arg1" type="int">
</argument>
<description>
</description>
</method>
<method name="cursor_set_rotation">
<argument index="0" name="arg0" type="float">
</argument>
<argument index="1" name="arg1" type="int">
</argument>
<description>
</description>
</method>
<method name="cursor_set_texture">
<argument index="0" name="arg0" type="RID">
</argument>
<argument index="1" name="arg1" type="Vector2">
</argument>
<argument index="2" name="arg2" type="int">
</argument>
<description>
</description>
</method>
<method name="cursor_set_visible">
<argument index="0" name="arg0" type="bool">
</argument>
<argument index="1" name="arg1" type="int">
</argument>
<description>
</description>
</method>
<method name="draw">
<description>
</description>
</method>
<method name="free_rid">
<argument index="0" name="arg0" type="RID">
</argument>
<description>
</description>
</method>
<method name="get_render_info">
<return type="int">
</return>
<argument index="0" name="arg0" type="int">
</argument>
<description>
</description>
</method>
<method name="get_test_cube">
<return type="RID">
</return>
<description>
</description>
</method>
<method name="instance_attach_object_instance_ID">
<argument index="0" name="arg0" type="RID">
</argument>
<argument index="1" name="arg1" type="int">
</argument>
<description>
</description>
</method>
<method name="instance_attach_skeleton">
<argument index="0" name="arg0" type="RID">
</argument>
<argument index="1" name="arg1" type="RID">
</argument>
<description>
</description>
</method>
<method name="instance_create">
<return type="RID">
</return>
<description>
</description>
</method>
<method name="instance_geometry_get_material_param" qualifiers="const">
<return type="RID">
</return>
<argument index="0" name="arg0" type="RID">
</argument>
<description>
</description>
</method>
<method name="instance_geometry_override_material_param" qualifiers="const">
<return type="RID">
</return>
<argument index="0" name="arg0" type="RID">
</argument>
<description>
</description>
</method>
<method name="instance_get_base" qualifiers="const">
<return type="RID">
</return>
<argument index="0" name="arg0" type="RID">
</argument>
<description>
</description>
</method>
<method name="instance_get_base_aabb" qualifiers="const">
<return type="RID">
</return>
<argument index="0" name="arg0" type="RID">
</argument>
<description>
</description>
</method>
<method name="instance_get_object_instance_ID" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="arg0" type="RID">
</argument>
<description>
</description>
</method>
<method name="instance_get_room" qualifiers="const">
<return type="RID">
</return>
<argument index="0" name="arg0" type="RID">
</argument>
<description>
</description>
</method>
<method name="instance_get_skeleton" qualifiers="const">
<return type="RID">
</return>
<argument index="0" name="arg0" type="RID">
</argument>
<description>
</description>
</method>
<method name="instance_get_transform" qualifiers="const">
<return type="Transform">
</return>
<argument index="0" name="arg0" type="RID">
</argument>
<description>
</description>
</method>
<method name="instance_is_exterior" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="arg0" type="RID">
</argument>
<description>
</description>
</method>
<method name="instance_set_exterior">
<argument index="0" name="arg0" type="RID">
</argument>
<argument index="1" name="arg1" type="bool">
</argument>
<description>
</description>
</method>
<method name="instance_set_room">
<argument index="0" name="arg0" type="RID">
</argument>
<argument index="1" name="arg1" type="RID">
</argument>
<description>
</description>
</method>
<method name="instance_set_transform">
<argument index="0" name="arg0" type="RID">
</argument>
<argument index="1" name="arg1" type="Transform">
</argument>
<description>
</description>
</method>
<method name="instances_cull_aabb" qualifiers="const">
<return type="Array">
</return>
<argument index="0" name="arg0" type="AABB">
</argument>
<argument index="1" name="arg1" type="RID">
</argument>
<description>
</description>
</method>
<method name="instances_cull_convex" qualifiers="const">
<return type="Array">
</return>
<argument index="0" name="arg0" type="Array">
</argument>
<argument index="1" name="arg1" type="RID">
</argument>
<description>
</description>
</method>
<method name="instances_cull_ray" qualifiers="const">
<return type="Array">
</return>
<argument index="0" name="arg0" type="Vector3">
</argument>
<argument index="1" name="arg1" type="Vector3">
</argument>
<argument index="2" name="arg2" type="RID">
</argument>
<description>
</description>
</method>
<method name="light_create">
<return type="RID">
</return>
<argument index="0" name="arg0" type="int">
</argument>
<description>
</description>
</method>
<method name="light_get_color" qualifiers="const">
<return type="Color">
</return>
<argument index="0" name="arg0" type="RID">
</argument>
<argument index="1" name="arg1" type="int">
</argument>
<description>
</description>
</method>
<method name="light_get_projector" qualifiers="const">
<return type="RID">
</return>
<argument index="0" name="arg0" type="RID">
</argument>
<description>
</description>
</method>
<method name="light_get_type" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="arg0" type="RID">
</argument>
<description>
</description>
</method>
<method name="light_get_var" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="arg0" type="RID">
</argument>
<argument index="1" name="arg1" type="int">
</argument>
<description>
</description>
</method>
<method name="light_has_shadow" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="arg0" type="RID">
</argument>
<description>
</description>
</method>
<method name="light_is_volumetric" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="arg0" type="RID">
</argument>
<description>
</description>
</method>
<method name="light_set_color">
<argument index="0" name="arg0" type="RID">
</argument>
<argument index="1" name="arg1" type="int">
</argument>
<argument index="2" name="arg2" type="Color">
</argument>
<description>
</description>
</method>
<method name="light_set_projector">
<argument index="0" name="arg0" type="RID">
</argument>
<argument index="1" name="arg1" type="RID">
</argument>
<description>
</description>
</method>
<method name="light_set_shadow">
<argument index="0" name="arg0" type="RID">
</argument>
<argument index="1" name="arg1" type="bool">
</argument>
<description>
</description>
</method>
<method name="light_set_var">
<argument index="0" name="arg0" type="RID">
</argument>
<argument index="1" name="arg1" type="int">
</argument>
<argument index="2" name="arg2" type="float">
</argument>
<description>
</description>
</method>
<method name="light_set_volumetric">
<argument index="0" name="arg0" type="RID">
</argument>
<argument index="1" name="arg1" type="bool">
</argument>
<description>
</description>
</method>
<method name="make_sphere_mesh">
<return type="RID">
</return>
<argument index="0" name="arg0" type="int">
</argument>
<argument index="1" name="arg1" type="int">
</argument>
<argument index="2" name="arg2" type="float">
</argument>
<description>
</description>
</method>
<method name="material_create">
<return type="RID">
</return>
<description>
</description>
</method>
<method name="material_get_blend_mode" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="arg0" type="RID">
</argument>
<description>
</description>
</method>
<method name="material_get_flag" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="arg0" type="RID">
</argument>
<argument index="1" name="arg1" type="int">
</argument>
<description>
</description>
</method>
<method name="material_get_line_width" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="arg0" type="RID">
</argument>
<description>
</description>
</method>
<method name="material_get_param" qualifiers="const">
<argument index="0" name="arg0" type="RID">
</argument>
<argument index="1" name="arg1" type="String">
</argument>
<description>
</description>
</method>
<method name="material_get_shader" qualifiers="const">
<return type="RID">
</return>
<argument index="0" name="arg0" type="RID">
</argument>
<description>
</description>
</method>
<method name="material_set_blend_mode">
<argument index="0" name="arg0" type="RID">
</argument>
<argument index="1" name="arg1" type="int">
</argument>
<description>
</description>
</method>
<method name="material_set_flag">
<argument index="0" name="arg0" type="RID">
</argument>
<argument index="1" name="arg1" type="int">
</argument>
<argument index="2" name="arg2" type="bool">
</argument>
<description>
</description>
</method>
<method name="material_set_line_width">
<argument index="0" name="arg0" type="RID">
</argument>
<argument index="1" name="arg1" type="float">
</argument>
<description>
</description>
</method>
<method name="material_set_param">
<argument index="0" name="arg0" type="RID">
</argument>
<argument index="1" name="arg1" type="String">
</argument>
<argument index="2" name="arg2" type="var">
</argument>
<description>
</description>
</method>
<method name="material_set_shader">
<argument index="0" name="shader" type="RID">
</argument>
<argument index="1" name="arg1" type="RID">
</argument>
<description>
</description>
</method>
<method name="mesh_add_surface">
<argument index="0" name="arg0" type="RID">
</argument>
<argument index="1" name="arg1" type="int">
</argument>
<argument index="2" name="arg2" type="Array">
</argument>
<argument index="3" name="arg3" type="Array">
</argument>
<argument index="4" name="arg4" type="bool" default="-1">
</argument>
<description>
</description>
</method>
<method name="mesh_add_surface_from_planes">
<argument index="0" name="arg0" type="RID">
</argument>
<argument index="1" name="arg1" type="Array">
</argument>
<description>
</description>
</method>
<method name="mesh_create">
<return type="RID">
</return>
<description>
</description>
</method>
<method name="mesh_get_surface_count" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="arg0" type="RID">
</argument>
<description>
</description>
</method>
<method name="mesh_remove_surface">
<argument index="0" name="arg0" type="RID">
</argument>
<argument index="1" name="arg1" type="int">
</argument>
<description>
</description>
</method>
<method name="mesh_surface_get_array_index_len" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="arg0" type="RID">
</argument>
<argument index="1" name="arg1" type="int">
</argument>
<description>
</description>
</method>
<method name="mesh_surface_get_array_len" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="arg0" type="RID">
</argument>
<argument index="1" name="arg1" type="int">
</argument>
<description>
</description>
</method>
<method name="mesh_surface_get_format" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="arg0" type="RID">
</argument>
<argument index="1" name="arg1" type="int">
</argument>
<description>
</description>
</method>
<method name="mesh_surface_get_material" qualifiers="const">
<return type="RID">
</return>
<argument index="0" name="arg0" type="RID">
</argument>
<argument index="1" name="arg1" type="int">
</argument>
<description>
</description>
</method>
<method name="mesh_surface_get_primitive_type" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="arg0" type="RID">
</argument>
<argument index="1" name="arg1" type="int">
</argument>
<description>
</description>
</method>
<method name="mesh_surface_set_material">
<argument index="0" name="arg0" type="RID">
</argument>
<argument index="1" name="arg1" type="int">
</argument>
<argument index="2" name="arg2" type="RID">
</argument>
<argument index="3" name="arg3" type="bool" default="false">
</argument>
<description>
</description>
</method>
<method name="multimesh_create">
<return type="RID">
</return>
<description>
</description>
</method>
<method name="multimesh_get_aabb" qualifiers="const">
<return type="AABB">
</return>
<argument index="0" name="arg0" type="RID">
</argument>
<argument index="1" name="arg1" type="AABB">
</argument>
<description>
</description>
</method>
<method name="multimesh_get_mesh" qualifiers="const">
<return type="RID">
</return>
<argument index="0" name="arg0" type="RID">
</argument>
<description>
</description>
</method>
<method name="multimesh_instance_get_color" qualifiers="const">
<return type="Color">
</return>
<argument index="0" name="arg0" type="RID">
</argument>
<argument index="1" name="arg1" type="int">
</argument>
<description>
</description>
</method>
<method name="multimesh_instance_get_transform" qualifiers="const">
<return type="Transform">
</return>
<argument index="0" name="arg0" type="RID">
</argument>
<argument index="1" name="arg1" type="int">
</argument>
<description>
</description>
</method>
<method name="multimesh_instance_set_color">
<argument index="0" name="arg0" type="RID">
</argument>
<argument index="1" name="arg1" type="int">
</argument>
<argument index="2" name="arg2" type="Color">
</argument>
<description>
</description>
</method>
<method name="multimesh_instance_set_transform">
<argument index="0" name="arg0" type="RID">
</argument>
<argument index="1" name="arg1" type="int">
</argument>
<argument index="2" name="arg2" type="Transform">
</argument>
<description>
</description>
</method>
<method name="multimesh_set_aabb">
<argument index="0" name="arg0" type="RID">
</argument>
<argument index="1" name="arg1" type="AABB">
</argument>
<description>
</description>
</method>
<method name="multimesh_set_mesh">
<argument index="0" name="arg0" type="RID">
</argument>
<argument index="1" name="arg1" type="RID">
</argument>
<description>
</description>
</method>
<method name="particles_create">
<return type="RID">
</return>
<description>
</description>
</method>
<method name="particles_get_amount" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="arg0" type="RID">
</argument>
<description>
</description>
</method>
<method name="particles_get_attractor_pos" qualifiers="const">
<return type="Vector3">
</return>
<argument index="0" name="arg0" type="RID">
</argument>
<argument index="1" name="arg1" type="int">
</argument>
<description>
</description>
</method>
<method name="particles_get_attractor_strength" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="arg0" type="RID">
</argument>
<argument index="1" name="arg1" type="int">
</argument>
<description>
</description>
</method>
<method name="particles_get_attractors" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="arg0" type="RID">
</argument>
<description>
</description>
</method>
<method name="particles_get_color_phase_color" qualifiers="const">
<return type="Color">
</return>
<argument index="0" name="arg0" type="RID">
</argument>
<argument index="1" name="arg1" type="int">
</argument>
<description>
</description>
</method>
<method name="particles_get_color_phase_pos" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="arg0" type="RID">
</argument>
<argument index="1" name="arg1" type="int">
</argument>
<description>
</description>
</method>
<method name="particles_get_color_phases" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="arg0" type="RID">
</argument>
<description>
</description>
</method>
<method name="particles_get_randomness" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="arg0" type="RID">
</argument>
<argument index="1" name="arg1" type="int">
</argument>
<description>
</description>
</method>
<method name="particles_get_variable" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="arg0" type="RID">
</argument>
<argument index="1" name="arg1" type="int">
</argument>
<description>
</description>
</method>
<method name="particles_get_visibility_aabb" qualifiers="const">
<return type="AABB">
</return>
<argument index="0" name="arg0" type="RID">
</argument>
<description>
</description>
</method>
<method name="particles_has_height_from_velocity" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="arg0" type="RID">
</argument>
<description>
</description>
</method>
<method name="particles_is_emitting" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="arg0" type="RID">
</argument>
<description>
</description>
</method>
<method name="particles_set_amount">
<argument index="0" name="arg0" type="RID">
</argument>
<argument index="1" name="arg1" type="int">
</argument>
<description>
</description>
</method>
<method name="particles_set_attractor_pos">
<argument index="0" name="arg0" type="RID">
</argument>
<argument index="1" name="arg1" type="int">
</argument>
<argument index="2" name="arg2" type="Vector3">
</argument>
<description>
</description>
</method>
<method name="particles_set_attractor_strength">
<argument index="0" name="arg0" type="RID">
</argument>
<argument index="1" name="arg1" type="int">
</argument>
<argument index="2" name="arg2" type="float">
</argument>
<description>
</description>
</method>
<method name="particles_set_attractors">
<argument index="0" name="arg0" type="RID">
</argument>
<argument index="1" name="arg1" type="int">
</argument>
<description>
</description>
</method>
<method name="particles_set_color_phase_color">
<argument index="0" name="arg0" type="RID">
</argument>
<argument index="1" name="arg1" type="int">
</argument>
<argument index="2" name="arg2" type="Color">
</argument>
<description>
</description>
</method>
<method name="particles_set_color_phase_pos">
<argument index="0" name="arg0" type="RID">
</argument>
<argument index="1" name="arg1" type="int">
</argument>
<argument index="2" name="arg2" type="float">
</argument>
<description>
</description>
</method>
<method name="particles_set_color_phases">
<argument index="0" name="arg0" type="RID">
</argument>
<argument index="1" name="arg1" type="int">
</argument>
<description>
</description>
</method>
<method name="particles_set_emitting">
<argument index="0" name="arg0" type="RID">
</argument>
<argument index="1" name="arg1" type="bool">
</argument>
<description>
</description>
</method>
<method name="particles_set_height_from_velocity">
<argument index="0" name="arg0" type="RID">
</argument>
<argument index="1" name="arg1" type="bool">
</argument>
<description>
</description>
</method>
<method name="particles_set_material">
<argument index="0" name="arg0" type="RID">
</argument>
<argument index="1" name="arg1" type="RID">
</argument>
<argument index="2" name="arg2" type="bool" default="false">
</argument>
<description>
</description>
</method>
<method name="particles_set_randomness">
<argument index="0" name="arg0" type="RID">
</argument>
<argument index="1" name="arg1" type="int">
</argument>
<argument index="2" name="arg2" type="float">
</argument>
<description>
</description>
</method>
<method name="particles_set_variable">
<argument index="0" name="arg0" type="RID">
</argument>
<argument index="1" name="arg1" type="int">
</argument>
<argument index="2" name="arg2" type="float">
</argument>
<description>
</description>
</method>
<method name="particles_set_visibility_aabb">
<argument index="0" name="arg0" type="RID">
</argument>
<argument index="1" name="arg1" type="AABB">
</argument>
<description>
</description>
</method>
<method name="portal_create">
<return type="RID">
</return>
<description>
</description>
</method>
<method name="portal_get_disable_distance" qualifiers="const">
<return type="float">
</return>
<argument index="0" name="arg0" type="RID">
</argument>
<description>
</description>
</method>
<method name="portal_get_disabled_color" qualifiers="const">
<return type="Color">
</return>
<argument index="0" name="arg0" type="RID">
</argument>
<description>
</description>
</method>
<method name="portal_get_shape" qualifiers="const">
<return type="Vector2Array">
</return>
<argument index="0" name="arg0" type="RID">
</argument>
<description>
</description>
</method>
<method name="portal_is_enabled" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="arg0" type="RID">
</argument>
<description>
</description>
</method>
<method name="portal_set_disable_distance">
<argument index="0" name="arg0" type="RID">
</argument>
<argument index="1" name="arg1" type="float">
</argument>
<description>
</description>
</method>
<method name="portal_set_disabled_color">
<argument index="0" name="arg0" type="RID">
</argument>
<argument index="1" name="arg1" type="Color">
</argument>
<description>
</description>
</method>
<method name="portal_set_enabled">
<argument index="0" name="arg0" type="RID">
</argument>
<argument index="1" name="arg1" type="bool">
</argument>
<description>
</description>
</method>
<method name="portal_set_shape">
<argument index="0" name="arg0" type="RID">
</argument>
<argument index="1" name="arg1" type="Vector2Array">
</argument>
<description>
</description>
</method>
<method name="room_create">
<return type="RID">
</return>
<description>
</description>
</method>
<method name="room_get_bounds" qualifiers="const">
<return type="Dictionary">
</return>
<argument index="0" name="arg0" type="RID">
</argument>
<description>
</description>
</method>
<method name="room_set_bounds">
<argument index="0" name="arg0" type="RID">
</argument>
<argument index="1" name="arg1" type="Dictionary">
</argument>
<description>
</description>
</method>
<method name="scenario_create">
<return type="RID">
</return>
<description>
</description>
</method>
<method name="scenario_set_debug">
<argument index="0" name="arg0" type="RID">
</argument>
<argument index="1" name="arg1" type="int">
</argument>
<description>
</description>
</method>
<method name="set_default_clear_color">
<argument index="0" name="arg0" type="Color">
</argument>
<description>
</description>
</method>
<method name="shader_create">
<return type="RID">
</return>
<argument index="0" name="mode" type="int" default="0">
</argument>
<description>
</description>
</method>
<method name="shader_set_mode">
<argument index="0" name="shader" type="RID">
</argument>
<argument index="1" name="mode" type="int">
</argument>
<description>
</description>
</method>
<method name="skeleton_bone_get_transform">
<return type="Transform">
</return>
<argument index="0" name="arg0" type="RID">
</argument>
<argument index="1" name="arg1" type="int">
</argument>
<description>
</description>
</method>
<method name="skeleton_bone_set_transform">
<argument index="0" name="arg0" type="RID">
</argument>
<argument index="1" name="arg1" type="int">
</argument>
<argument index="2" name="arg2" type="Transform">
</argument>
<description>
</description>
</method>
<method name="skeleton_create">
<return type="RID">
</return>
<description>
</description>
</method>
<method name="skeleton_get_bone_count" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="arg0" type="RID">
</argument>
<description>
</description>
</method>
<method name="skeleton_resize">
<argument index="0" name="arg0" type="RID">
</argument>
<argument index="1" name="arg1" type="int">
</argument>
<description>
</description>
</method>
<method name="sync">
<description>
</description>
</method>
<method name="texture_create">
<return type="RID">
</return>
<description>
</description>
</method>
<method name="texture_create_from_image">
<return type="RID">
</return>
<argument index="0" name="arg0" type="Image">
</argument>
<argument index="1" name="arg1" type="int" default="7">
</argument>
<description>
</description>
</method>
<method name="texture_get_flags" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="arg0" type="RID">
</argument>
<description>
</description>
</method>
<method name="texture_get_height" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="arg0" type="RID">
</argument>
<description>
</description>
</method>
<method name="texture_get_width" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="arg0" type="RID">
</argument>
<description>
</description>
</method>
<method name="texture_set_flags">
<argument index="0" name="arg0" type="RID">
</argument>
<argument index="1" name="arg1" type="int">
</argument>
<description>
</description>
</method>
<method name="texture_set_shrink_all_x2_on_set_data">
<argument index="0" name="shrink" type="bool">
</argument>
<description>
</description>
</method>
<method name="viewport_attach_camera">
<argument index="0" name="arg0" type="RID">
</argument>
<argument index="1" name="arg1" type="RID" default="RID()">
</argument>
<description>
</description>
</method>
<method name="viewport_attach_canvas">
<argument index="0" name="arg0" type="RID">
</argument>
<argument index="1" name="arg1" type="RID">
</argument>
<description>
</description>
</method>
<method name="viewport_create">
<return type="RID">
</return>
<description>
</description>
</method>
<method name="viewport_get_attached_camera" qualifiers="const">
<return type="RID">
</return>
<argument index="0" name="arg0" type="RID">
</argument>
<description>
</description>
</method>
<method name="viewport_get_rect" qualifiers="const">
<return type="Rect2">
</return>
<argument index="0" name="arg0" type="RID">
</argument>
<description>
</description>
</method>
<method name="viewport_get_scenario" qualifiers="const">
<return type="RID">
</return>
<argument index="0" name="arg0" type="RID">
</argument>
<description>
</description>
</method>
<method name="viewport_remove_canvas">
<argument index="0" name="arg0" type="RID">
</argument>
<argument index="1" name="arg1" type="RID">
</argument>
<description>
</description>
</method>
<method name="viewport_set_canvas_transform">
<argument index="0" name="arg0" type="RID">
</argument>
<argument index="1" name="arg1" type="RID">
</argument>
<argument index="2" name="arg2" type="Matrix32">
</argument>
<description>
</description>
</method>
<method name="viewport_set_global_canvas_transform">
<argument index="0" name="arg0" type="RID">
</argument>
<argument index="1" name="arg1" type="Matrix32">
</argument>
<description>
</description>
</method>
<method name="viewport_set_rect">
<argument index="0" name="arg0" type="RID">
</argument>
<argument index="1" name="arg1" type="Rect2">
</argument>
<description>
</description>
</method>
</methods>
<constants>
<constant name="NO_INDEX_ARRAY" value="-1">
</constant>
<constant name="CUSTOM_ARRAY_SIZE" value="8">
</constant>
<constant name="ARRAY_WEIGHTS_SIZE" value="4">
</constant>
<constant name="MAX_PARTICLE_COLOR_PHASES" value="4">
</constant>
<constant name="MAX_PARTICLE_ATTRACTORS" value="4">
</constant>
<constant name="MAX_CURSORS" value="8">
</constant>
<constant name="TEXTURE_FLAG_MIPMAPS" value="1">
</constant>
<constant name="TEXTURE_FLAG_REPEAT" value="2">
</constant>
<constant name="TEXTURE_FLAG_FILTER" value="4">
</constant>
<constant name="TEXTURE_FLAG_CUBEMAP" value="2048">
</constant>
<constant name="TEXTURE_FLAGS_DEFAULT" value="7">
</constant>
<constant name="CUBEMAP_LEFT" value="0">
</constant>
<constant name="CUBEMAP_RIGHT" value="1">
</constant>
<constant name="CUBEMAP_BOTTOM" value="2">
</constant>
<constant name="CUBEMAP_TOP" value="3">
</constant>
<constant name="CUBEMAP_FRONT" value="4">
</constant>
<constant name="CUBEMAP_BACK" value="5">
</constant>
<constant name="SHADER_MATERIAL" value="0">
</constant>
<constant name="SHADER_POST_PROCESS" value="2">
</constant>
<constant name="MATERIAL_FLAG_VISIBLE" value="0">
</constant>
<constant name="MATERIAL_FLAG_DOUBLE_SIDED" value="1">
</constant>
<constant name="MATERIAL_FLAG_INVERT_FACES" value="2">
</constant>
<constant name="MATERIAL_FLAG_UNSHADED" value="3">
</constant>
<constant name="MATERIAL_FLAG_ONTOP" value="4">
</constant>
<constant name="MATERIAL_FLAG_MAX" value="7">
</constant>
<constant name="MATERIAL_BLEND_MODE_MIX" value="0">
</constant>
<constant name="MATERIAL_BLEND_MODE_ADD" value="1">
</constant>
<constant name="MATERIAL_BLEND_MODE_SUB" value="2">
</constant>
<constant name="MATERIAL_BLEND_MODE_MUL" value="3">
</constant>
<constant name="FIXED_MATERIAL_PARAM_DIFFUSE" value="0">
</constant>
<constant name="FIXED_MATERIAL_PARAM_DETAIL" value="1">
</constant>
<constant name="FIXED_MATERIAL_PARAM_SPECULAR" value="2">
</constant>
<constant name="FIXED_MATERIAL_PARAM_EMISSION" value="3">
</constant>
<constant name="FIXED_MATERIAL_PARAM_SPECULAR_EXP" value="4">
</constant>
<constant name="FIXED_MATERIAL_PARAM_GLOW" value="5">
</constant>
<constant name="FIXED_MATERIAL_PARAM_NORMAL" value="6">
</constant>
<constant name="FIXED_MATERIAL_PARAM_SHADE_PARAM" value="7">
</constant>
<constant name="FIXED_MATERIAL_PARAM_MAX" value="8">
</constant>
<constant name="FIXED_MATERIAL_TEXCOORD_SPHERE" value="3">
</constant>
<constant name="FIXED_MATERIAL_TEXCOORD_UV" value="0">
</constant>
<constant name="FIXED_MATERIAL_TEXCOORD_UV_TRANSFORM" value="1">
</constant>
<constant name="FIXED_MATERIAL_TEXCOORD_UV2" value="2">
</constant>
<constant name="ARRAY_VERTEX" value="0">
</constant>
<constant name="ARRAY_NORMAL" value="1">
</constant>
<constant name="ARRAY_TANGENT" value="2">
</constant>
<constant name="ARRAY_COLOR" value="3">
</constant>
<constant name="ARRAY_TEX_UV" value="4">
</constant>
<constant name="ARRAY_BONES" value="6">
</constant>
<constant name="ARRAY_WEIGHTS" value="7">
</constant>
<constant name="ARRAY_INDEX" value="8">
</constant>
<constant name="ARRAY_MAX" value="9">
</constant>
<constant name="ARRAY_FORMAT_VERTEX" value="1">
</constant>
<constant name="ARRAY_FORMAT_NORMAL" value="2">
</constant>
<constant name="ARRAY_FORMAT_TANGENT" value="4">
</constant>
<constant name="ARRAY_FORMAT_COLOR" value="8">
</constant>
<constant name="ARRAY_FORMAT_TEX_UV" value="16">
</constant>
<constant name="ARRAY_FORMAT_BONES" value="64">
</constant>
<constant name="ARRAY_FORMAT_WEIGHTS" value="128">
</constant>
<constant name="ARRAY_FORMAT_INDEX" value="256">
</constant>
<constant name="PRIMITIVE_POINTS" value="0">
</constant>
<constant name="PRIMITIVE_LINES" value="1">
</constant>
<constant name="PRIMITIVE_LINE_STRIP" value="2">
</constant>
<constant name="PRIMITIVE_LINE_LOOP" value="3">
</constant>
<constant name="PRIMITIVE_TRIANGLES" value="4">
</constant>
<constant name="PRIMITIVE_TRIANGLE_STRIP" value="5">
</constant>
<constant name="PRIMITIVE_TRIANGLE_FAN" value="6">
</constant>
<constant name="PRIMITIVE_MAX" value="7">
</constant>
<constant name="PARTICLE_LIFETIME" value="0">
</constant>
<constant name="PARTICLE_SPREAD" value="1">
</constant>
<constant name="PARTICLE_GRAVITY" value="2">
</constant>
<constant name="PARTICLE_LINEAR_VELOCITY" value="3">
</constant>
<constant name="PARTICLE_ANGULAR_VELOCITY" value="4">
</constant>
<constant name="PARTICLE_LINEAR_ACCELERATION" value="5">
</constant>
<constant name="PARTICLE_RADIAL_ACCELERATION" value="6">
</constant>
<constant name="PARTICLE_TANGENTIAL_ACCELERATION" value="7">
</constant>
<constant name="PARTICLE_INITIAL_SIZE" value="9">
</constant>
<constant name="PARTICLE_FINAL_SIZE" value="10">
</constant>
<constant name="PARTICLE_INITIAL_ANGLE" value="11">
</constant>
<constant name="PARTICLE_HEIGHT" value="12">
</constant>
<constant name="PARTICLE_HEIGHT_SPEED_SCALE" value="13">
</constant>
<constant name="PARTICLE_VAR_MAX" value="14">
</constant>
<constant name="LIGHT_DIRECTIONAL" value="0">
</constant>
<constant name="LIGHT_OMNI" value="1">
</constant>
<constant name="LIGHT_SPOT" value="2">
</constant>
<constant name="LIGHT_COLOR_DIFFUSE" value="0">
</constant>
<constant name="LIGHT_COLOR_SPECULAR" value="1">
</constant>
<constant name="LIGHT_PARAM_SPOT_ATTENUATION" value="0">
</constant>
<constant name="LIGHT_PARAM_SPOT_ANGLE" value="1">
</constant>
<constant name="LIGHT_PARAM_RADIUS" value="2">
</constant>
<constant name="LIGHT_PARAM_ENERGY" value="3">
</constant>
<constant name="LIGHT_PARAM_ATTENUATION" value="4">
</constant>
<constant name="LIGHT_PARAM_MAX" value="10">
</constant>
<constant name="SCENARIO_DEBUG_DISABLED" value="0">
</constant>
<constant name="SCENARIO_DEBUG_WIREFRAME" value="1">
</constant>
<constant name="SCENARIO_DEBUG_OVERDRAW" value="2">
</constant>
<constant name="INSTANCE_MESH" value="1">
</constant>
<constant name="INSTANCE_MULTIMESH" value="2">
</constant>
<constant name="INSTANCE_PARTICLES" value="4">
</constant>
<constant name="INSTANCE_LIGHT" value="5">
</constant>
<constant name="INSTANCE_ROOM" value="6">
</constant>
<constant name="INSTANCE_PORTAL" value="7">
</constant>
<constant name="INSTANCE_GEOMETRY_MASK" value="30">
</constant>
<constant name="INFO_OBJECTS_IN_FRAME" value="0">
</constant>
<constant name="INFO_VERTICES_IN_FRAME" value="1">
</constant>
<constant name="INFO_MATERIAL_CHANGES_IN_FRAME" value="2">
</constant>
<constant name="INFO_SHADER_CHANGES_IN_FRAME" value="3">
</constant>
<constant name="INFO_SURFACE_CHANGES_IN_FRAME" value="4">
</constant>
<constant name="INFO_DRAW_CALLS_IN_FRAME" value="5">
</constant>
<constant name="INFO_USAGE_VIDEO_MEM_TOTAL" value="6">
</constant>
<constant name="INFO_VIDEO_MEM_USED" value="7">
</constant>
<constant name="INFO_TEXTURE_MEM_USED" value="8">
</constant>
<constant name="INFO_VERTEX_MEM_USED" value="9">
</constant>
</constants>
</class>
<class name="WeakRef" inherits="Reference" category="Core">
<brief_description>
Holds an [Object], but does not contribute to the reference count if the object is a reference.
</brief_description>
<description>
A weakref can hold a [Reference], without contributing to the reference counter. A weakref can be created from an [Object] using [method @GDScript.weakref]. If this object is not a reference, weakref still works, however, it does not have any effect on the object. Weakrefs are useful in cases where multiple classes have variables that refer to eachother. Without weakrefs, using these classes could lead to memory leaks, since both references keep eachother from being released. Making part of the variables a weakref can prevent this cyclic dependency, and allows the references to be released.
</description>
<methods>
<method name="get_ref" qualifiers="const">
<return type="Object">
</return>
<description>
Returns the [Object] this weakref is referring to.
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="WindowDialog" inherits="Popup" category="Core">
<brief_description>
Base class for window dialogs.
</brief_description>
<description>
Windowdialog is the base class for all window-based dialogs. It's a by-default toplevel [Control] that draws a window decoration and allows motion and resizing.
</description>
<methods>
<method name="get_close_button">
<return type="TextureButton">
</return>
<description>
Return the close [TextureButton].
</description>
</method>
<method name="get_title" qualifiers="const">
<return type="String">
</return>
<description>
Return the title of the window.
</description>
</method>
<method name="set_title">
<argument index="0" name="title" type="String">
</argument>
<description>
Set the title of the window.
</description>
</method>
</methods>
<constants>
</constants>
<theme_items>
<theme_item name="close" type="Texture">
</theme_item>
<theme_item name="close_h_ofs" type="int">
</theme_item>
<theme_item name="close_hilite" type="Texture">
</theme_item>
<theme_item name="close_v_ofs" type="int">
</theme_item>
<theme_item name="panel" type="StyleBox">
</theme_item>
<theme_item name="title_color" type="Color">
</theme_item>
<theme_item name="title_font" type="Font">
</theme_item>
<theme_item name="title_height" type="int">
</theme_item>
<theme_item name="titlebar_height" type="int">
</theme_item>
</theme_items>
</class>
<class name="World" inherits="Resource" category="Core">
<brief_description>
Class that has everything pertaining to a world.
</brief_description>
<description>
Class that has everything pertaining to a world. A physics space, a visual scenario and a sound space. Spatial nodes register their resources into the current world.
</description>
<methods>
<method name="get_direct_space_state">
<return type="PhysicsDirectSpaceState">
</return>
<description>
</description>
</method>
<method name="get_environment" qualifiers="const">
<return type="Environment">
</return>
<description>
</description>
</method>
<method name="get_scenario" qualifiers="const">
<return type="RID">
</return>
<description>
</description>
</method>
<method name="get_sound_space" qualifiers="const">
<return type="RID">
</return>
<description>
</description>
</method>
<method name="get_space" qualifiers="const">
<return type="RID">
</return>
<description>
</description>
</method>
<method name="set_environment">
<argument index="0" name="env" type="Environment">
</argument>
<description>
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="World2D" inherits="Resource" category="Core">
<brief_description>
Class that has everything pertaining to a 2D world.
</brief_description>
<description>
Class that has everything pertaining to a 2D world. A physics space, a visual scenario and a sound space. 2D nodes register their resources into the current 2D world.
</description>
<methods>
<method name="get_canvas">
<return type="RID">
</return>
<description>
</description>
</method>
<method name="get_direct_space_state">
<return type="Physics2DDirectSpaceState">
</return>
<description>
</description>
</method>
<method name="get_sound_space">
<return type="RID">
</return>
<description>
</description>
</method>
<method name="get_space">
<return type="RID">
</return>
<description>
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="WorldEnvironment" inherits="Spatial" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
<method name="get_environment" qualifiers="const">
<return type="Environment">
</return>
<description>
</description>
</method>
<method name="set_environment">
<argument index="0" name="env" type="Environment">
</argument>
<description>
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="XMLParser" inherits="Reference" category="Core">
<brief_description>
</brief_description>
<description>
</description>
<methods>
<method name="get_attribute_count" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_attribute_name" qualifiers="const">
<return type="String">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
</description>
</method>
<method name="get_attribute_value" qualifiers="const">
<return type="String">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
</description>
</method>
<method name="get_current_line" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_named_attribute_value" qualifiers="const">
<return type="String">
</return>
<argument index="0" name="name" type="String">
</argument>
<description>
</description>
</method>
<method name="get_named_attribute_value_safe" qualifiers="const">
<return type="String">
</return>
<argument index="0" name="name" type="String">
</argument>
<description>
</description>
</method>
<method name="get_node_data" qualifiers="const">
<return type="String">
</return>
<description>
</description>
</method>
<method name="get_node_name" qualifiers="const">
<return type="String">
</return>
<description>
</description>
</method>
<method name="get_node_offset" qualifiers="const">
<return type="int">
</return>
<description>
</description>
</method>
<method name="get_node_type">
<return type="int">
</return>
<description>
</description>
</method>
<method name="has_attribute" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="name" type="String">
</argument>
<description>
</description>
</method>
<method name="is_empty" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="open">
<return type="int">
</return>
<argument index="0" name="file" type="String">
</argument>
<description>
</description>
</method>
<method name="open_buffer">
<return type="int">
</return>
<argument index="0" name="buffer" type="RawArray">
</argument>
<description>
</description>
</method>
<method name="read">
<return type="int">
</return>
<description>
</description>
</method>
<method name="seek">
<return type="int">
</return>
<argument index="0" name="pos" type="int">
</argument>
<description>
</description>
</method>
<method name="skip_section">
<description>
</description>
</method>
</methods>
<constants>
<constant name="NODE_NONE" value="0">
</constant>
<constant name="NODE_ELEMENT" value="1">
</constant>
<constant name="NODE_ELEMENT_END" value="2">
</constant>
<constant name="NODE_TEXT" value="3">
</constant>
<constant name="NODE_COMMENT" value="4">
</constant>
<constant name="NODE_CDATA" value="5">
</constant>
<constant name="NODE_UNKNOWN" value="6">
</constant>
</constants>
</class>
<class name="YSort" inherits="Node2D" category="Core">
<brief_description>
Sort all child nodes based on their Y positions.
</brief_description>
<description>
Sort all child nodes based on their Y positions. The child node must inherit from [CanvasItem] for it to be sorted. Nodes that have a higher Y position will be drawn later, so they will appear on top of nodes that have a lower Y position.
</description>
<methods>
<method name="is_sort_enabled" qualifiers="const">
<return type="bool">
</return>
<description>
Returns true if the children nodes are being sorted.
</description>
</method>
<method name="set_sort_enabled">
<argument index="0" name="enabled" type="bool">
</argument>
<description>
Set whether the children nodes are sorted or not. (default true)
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="bool" category="Built-In Types">
<brief_description>
Boolean built-in type
</brief_description>
<description>
Boolean built-in type.
</description>
<methods>
<method name="bool">
<return type="bool">
</return>
<argument index="0" name="from" type="int">
</argument>
<description>
Cast an [int] value to a boolean value, this method will return true if called with an integer value different to 0 and false in other case.
</description>
</method>
<method name="bool">
<return type="bool">
</return>
<argument index="0" name="from" type="float">
</argument>
<description>
Cast a [float] value to a boolean value, this method will return true if called with a floating point value different to 0 and false in other case.
</description>
</method>
<method name="bool">
<return type="bool">
</return>
<argument index="0" name="from" type="String">
</argument>
<description>
Cast a [String] value to a boolean value, this method will return true if called with a non empty string and false in other case. Examples: [code]bool('False')[/code] returns true, [code]bool('')[/code]. returns false
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="float" category="Built-In Types">
<brief_description>
Float built-in type
</brief_description>
<description>
Float built-in type.
</description>
<methods>
<method name="float">
<return type="float">
</return>
<argument index="0" name="from" type="bool">
</argument>
<description>
Cast a [bool] value to a floating point value, [code]float(true)[/code] will be equals to 1.0 and [code]float(false)[/code] will be equals to 0.0.
</description>
</method>
<method name="float">
<return type="float">
</return>
<argument index="0" name="from" type="int">
</argument>
<description>
Cast an [int] value to a floating point value, [code]float(1)[/code] will be equals to 1.0.
</description>
</method>
<method name="float">
<return type="float">
</return>
<argument index="0" name="from" type="String">
</argument>
<description>
Cast a [String] value to a floating point value. This method accepts float value strings like [code] '1.23' [/code] and exponential notation strings for its parameter so calling [code] float('1e3') [/code] will return 1000.0 and calling [code] float('1e-3') [/code] will return -0.001.
</description>
</method>
</methods>
<constants>
</constants>
</class>
<class name="int" category="Built-In Types">
<brief_description>
Integer built-in type.
</brief_description>
<description>
Integer built-in type.
</description>
<methods>
<method name="int">
<return type="int">
</return>
<argument index="0" name="from" type="bool">
</argument>
<description>
Cast a [bool] value to an integer value, [code]int(true)[/code] will be equals to 1 and [code]int(false)[/code] will be equals to 0.
</description>
</method>
<method name="int">
<return type="int">
</return>
<argument index="0" name="from" type="float">
</argument>
<description>
Cast a float value to an integer value, this method simply removes the number fractions, so for example [code]int(2.7)[/code] will be equals to 2, [code]int(.1)[/code] will be equals to 0 and [code]int(-2.7)[/code] will be equals to -2.
</description>
</method>
<method name="int">
<return type="int">
</return>
<argument index="0" name="from" type="String">
</argument>
<description>
Cast a [String] value to an integer value, this method is an integer parser from a string, so calling this method with an invalid integer string will return 0, a valid string will be something like [code]'1.7'[/code]. This method will ignore all non-number characters, so calling [code]int('1e3')[/code] will return 13.
</description>
</method>
</methods>
<constants>
</constants>
</class>
</doc>