diff options
Diffstat (limited to 'doc/classes')
-rw-r--r-- | doc/classes/Control.xml | 1 | ||||
-rw-r--r-- | doc/classes/Engine.xml | 25 | ||||
-rw-r--r-- | doc/classes/HTTPClient.xml | 1 | ||||
-rw-r--r-- | doc/classes/HTTPRequest.xml | 2 | ||||
-rw-r--r-- | doc/classes/MultiplayerAPI.xml | 1 | ||||
-rw-r--r-- | doc/classes/MultiplayerPeer.xml | 1 | ||||
-rw-r--r-- | doc/classes/OS.xml | 2 | ||||
-rw-r--r-- | doc/classes/PacketPeer.xml | 1 | ||||
-rw-r--r-- | doc/classes/PacketPeerDTLS.xml | 1 | ||||
-rw-r--r-- | doc/classes/PacketPeerStream.xml | 1 | ||||
-rw-r--r-- | doc/classes/PacketPeerUDP.xml | 1 | ||||
-rw-r--r-- | doc/classes/Signal.xml | 14 | ||||
-rw-r--r-- | doc/classes/StreamPeer.xml | 1 | ||||
-rw-r--r-- | doc/classes/StreamPeerSSL.xml | 1 | ||||
-rw-r--r-- | doc/classes/StreamPeerTCP.xml | 1 | ||||
-rw-r--r-- | doc/classes/TCPServer.xml | 1 | ||||
-rw-r--r-- | doc/classes/TabContainer.xml | 24 | ||||
-rw-r--r-- | doc/classes/Tabs.xml | 7 | ||||
-rw-r--r-- | doc/classes/Thread.xml | 9 | ||||
-rw-r--r-- | doc/classes/TileSetAtlasSource.xml | 111 | ||||
-rw-r--r-- | doc/classes/Tween.xml | 1 |
21 files changed, 164 insertions, 43 deletions
diff --git a/doc/classes/Control.xml b/doc/classes/Control.xml index 6602764cd4..c9a2de66a8 100644 --- a/doc/classes/Control.xml +++ b/doc/classes/Control.xml @@ -137,6 +137,7 @@ * control is obstructed by another [Control] on top of it, which doesn't have [member mouse_filter] set to [constant MOUSE_FILTER_IGNORE]; * control's parent has [member mouse_filter] set to [constant MOUSE_FILTER_STOP] or has accepted the event; * it happens outside the parent's rectangle and the parent has either [member rect_clip_content] enabled. + [b]Note:[/b] Event position is relative to the control origin. </description> </method> <method name="_has_point" qualifiers="virtual const"> diff --git a/doc/classes/Engine.xml b/doc/classes/Engine.xml index 6e22c58024..f05a216301 100644 --- a/doc/classes/Engine.xml +++ b/doc/classes/Engine.xml @@ -147,6 +147,20 @@ Returns [code]true[/code] if a singleton with given [code]name[/code] exists in global scope. </description> </method> + <method name="is_editor_hint" qualifiers="const"> + <return type="bool" /> + <description> + Returns [code]true[/code] if the script is currently running inside the editor, [code]false[/code] otherwise. This is useful for [code]@tool[/code] scripts to conditionally draw editor helpers, or prevent accidentally running "game" code that would affect the scene state while in the editor: + [codeblock] + if Engine.is_editor_hint(): + draw_gizmos() + else: + simulate_physics() + [/codeblock] + See [url=https://docs.godotengine.org/en/latest/tutorials/plugins/running_code_in_the_editor.html]Running code in the editor[/url] in the documentation for more information. + [b]Note:[/b] To detect whether the script is run from an editor [i]build[/i] (e.g. when pressing [kbd]F5[/kbd]), use [method OS.has_feature] with the [code]"editor"[/code] argument instead. [code]OS.has_feature("editor")[/code] will evaluate to [code]true[/code] both when the code is running in the editor and when running the project from the editor, but it will evaluate to [code]false[/code] when the code is run from an exported project. + </description> + </method> <method name="is_in_physics_frame" qualifiers="const"> <return type="bool" /> <description> @@ -168,17 +182,6 @@ </method> </methods> <members> - <member name="editor_hint" type="bool" setter="set_editor_hint" getter="is_editor_hint" default="true"> - If [code]true[/code], the script is currently running inside the editor. This is useful for [code]@tool[/code] scripts to conditionally draw editor helpers, or prevent accidentally running "game" code that would affect the scene state while in the editor: - [codeblock] - if Engine.editor_hint: - draw_gizmos() - else: - simulate_physics() - [/codeblock] - See [url=https://docs.godotengine.org/en/latest/tutorials/plugins/running_code_in_the_editor.html]Running code in the editor[/url] in the documentation for more information. - [b]Note:[/b] To detect whether the script is run from an editor [i]build[/i] (e.g. when pressing [kbd]F5[/kbd]), use [method OS.has_feature] with the [code]"editor"[/code] argument instead. [code]OS.has_feature("editor")[/code] will evaluate to [code]true[/code] both when the code is running in the editor and when running the project from the editor, but it will evaluate to [code]false[/code] when the code is run from an exported project. - </member> <member name="physics_jitter_fix" type="float" setter="set_physics_jitter_fix" getter="get_physics_jitter_fix" default="0.5"> Controls how much physics ticks are synchronized with real time. For 0 or less, the ticks are synchronized. Such values are recommended for network games, where clock synchronization matters. Higher values cause higher deviation of the in-game clock and real clock but smooth out framerate jitters. The default value of 0.5 should be fine for most; values above 2 could cause the game to react to dropped frames with a noticeable delay and are not recommended. [b]Note:[/b] For best results, when using a custom physics interpolation solution, the physics jitter fix should be disabled by setting [member physics_jitter_fix] to [code]0[/code]. diff --git a/doc/classes/HTTPClient.xml b/doc/classes/HTTPClient.xml index 29aaf3c756..9f33c400f4 100644 --- a/doc/classes/HTTPClient.xml +++ b/doc/classes/HTTPClient.xml @@ -8,6 +8,7 @@ [b]Note:[/b] This client only needs to connect to a host once (see [method connect_to_host]) to send multiple requests. Because of this, methods that take URLs usually take just the part after the host instead of the full URL, as the client is already connected to a host. See [method request] for a full example and to get started. A [HTTPClient] should be reused between multiple requests or to connect to different hosts instead of creating one client per request. Supports SSL and SSL server certificate verification. HTTP status codes in the 2xx range indicate success, 3xx redirection (i.e. "try again, but over here"), 4xx something was wrong with the request, and 5xx something went wrong on the server's side. For more information on HTTP, see https://developer.mozilla.org/en-US/docs/Web/HTTP (or read RFC 2616 to get it straight from the source: https://tools.ietf.org/html/rfc2616). + [b]Note:[/b] When exporting to Android, make sure to enable the [code]INTERNET[/code] permission in the Android export preset before exporting the project or using one-click deploy. Otherwise, network communication of any kind will be blocked by Android. [b]Note:[/b] It's recommended to use transport encryption (SSL/TLS) and to avoid sending sensitive information (such as login credentials) in HTTP GET URL parameters. Consider using HTTP POST requests or HTTP headers for such information instead. [b]Note:[/b] When performing HTTP requests from a project exported to HTML5, keep in mind the remote server may not allow requests from foreign origins due to [url=https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS]CORS[/url]. If you host the server in question, you should modify its backend to allow requests from foreign origins by adding the [code]Access-Control-Allow-Origin: *[/code] HTTP header. [b]Note:[/b] SSL/TLS support is currently limited to TLS 1.0, TLS 1.1, and TLS 1.2. Attempting to connect to a TLS 1.3-only server will return an error. diff --git a/doc/classes/HTTPRequest.xml b/doc/classes/HTTPRequest.xml index 00927b98c5..558e51aefe 100644 --- a/doc/classes/HTTPRequest.xml +++ b/doc/classes/HTTPRequest.xml @@ -7,6 +7,7 @@ A node with the ability to send HTTP requests. Uses [HTTPClient] internally. Can be used to make HTTP requests, i.e. download or upload files or web content via HTTP. [b]Warning:[/b] See the notes and warnings on [HTTPClient] for limitations, especially regarding SSL security. + [b]Note:[/b] When exporting to Android, make sure to enable the [code]INTERNET[/code] permission in the Android export preset before exporting the project or using one-click deploy. Otherwise, network communication of any kind will be blocked by Android. [b]Example of contacting a REST API and printing one of its returned fields:[/b] [codeblocks] [gdscript] @@ -149,7 +150,6 @@ } [/csharp] [/codeblocks] - [b]Gzipped response bodies[/b]: HTTPRequest will automatically handle decompression of response bodies. A [code]Accept-Encoding[/code] header will be automatically added to each of your requests, unless one is already specified. Any response with a [code]Content-Encoding: gzip[/code] header will automatically be decompressed and delivered to you as uncompressed bytes. </description> <tutorials> diff --git a/doc/classes/MultiplayerAPI.xml b/doc/classes/MultiplayerAPI.xml index 0da461dd61..e0da08f5bd 100644 --- a/doc/classes/MultiplayerAPI.xml +++ b/doc/classes/MultiplayerAPI.xml @@ -8,6 +8,7 @@ By default, [SceneTree] has a reference to this class that is used to provide multiplayer capabilities (i.e. RPCs) across the whole scene. It is possible to override the MultiplayerAPI instance used by specific Nodes by setting the [member Node.custom_multiplayer] property, effectively allowing to run both client and server in the same scene. [b]Note:[/b] The high-level multiplayer API protocol is an implementation detail and isn't meant to be used by non-Godot servers. It may change without notice. + [b]Note:[/b] When exporting to Android, make sure to enable the [code]INTERNET[/code] permission in the Android export preset before exporting the project or using one-click deploy. Otherwise, network communication of any kind will be blocked by Android. </description> <tutorials> </tutorials> diff --git a/doc/classes/MultiplayerPeer.xml b/doc/classes/MultiplayerPeer.xml index 411317cdc8..a9c2a941f8 100644 --- a/doc/classes/MultiplayerPeer.xml +++ b/doc/classes/MultiplayerPeer.xml @@ -6,6 +6,7 @@ <description> Manages the connection to multiplayer peers. Assigns unique IDs to each client connected to the server. See also [MultiplayerAPI]. [b]Note:[/b] The high-level multiplayer API protocol is an implementation detail and isn't meant to be used by non-Godot servers. It may change without notice. + [b]Note:[/b] When exporting to Android, make sure to enable the [code]INTERNET[/code] permission in the Android export preset before exporting the project or using one-click deploy. Otherwise, network communication of any kind will be blocked by Android. </description> <tutorials> <link title="High-level multiplayer">https://docs.godotengine.org/en/latest/tutorials/networking/high_level_multiplayer.html</link> diff --git a/doc/classes/OS.xml b/doc/classes/OS.xml index e2ac8568c9..9d0d185c42 100644 --- a/doc/classes/OS.xml +++ b/doc/classes/OS.xml @@ -49,6 +49,7 @@ [/codeblocks] See [method execute] if you wish to run an external command and retrieve the results. [b]Note:[/b] This method is implemented on Android, iOS, Linux, macOS and Windows. + [b]Note:[/b] On macOS, sandboxed applications are limited to run only embedded helper executables, specified during export. </description> </method> <method name="delay_msec" qualifiers="const"> @@ -119,6 +120,7 @@ [/csharp] [/codeblocks] [b]Note:[/b] This method is implemented on Android, iOS, Linux, macOS and Windows. + [b]Note:[/b] On macOS, sandboxed applications are limited to run only embedded helper executables, specified during export. </description> </method> <method name="find_keycode_from_string" qualifiers="const"> diff --git a/doc/classes/PacketPeer.xml b/doc/classes/PacketPeer.xml index fb94209d72..7c02ccc250 100644 --- a/doc/classes/PacketPeer.xml +++ b/doc/classes/PacketPeer.xml @@ -5,6 +5,7 @@ </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. + [b]Note:[/b] When exporting to Android, make sure to enable the [code]INTERNET[/code] permission in the Android export preset before exporting the project or using one-click deploy. Otherwise, network communication of any kind will be blocked by Android. </description> <tutorials> </tutorials> diff --git a/doc/classes/PacketPeerDTLS.xml b/doc/classes/PacketPeerDTLS.xml index b05743fb5a..4d1c83afe7 100644 --- a/doc/classes/PacketPeerDTLS.xml +++ b/doc/classes/PacketPeerDTLS.xml @@ -5,6 +5,7 @@ </brief_description> <description> This class represents a DTLS peer connection. It can be used to connect to a DTLS server, and is returned by [method DTLSServer.take_connection]. + [b]Note:[/b] When exporting to Android, make sure to enable the [code]INTERNET[/code] permission in the Android export preset before exporting the project or using one-click deploy. Otherwise, network communication of any kind will be blocked by Android. [b]Warning:[/b] SSL/TLS certificate revocation and certificate pinning are currently not supported. Revoked certificates are accepted as long as they are otherwise valid. If this is a concern, you may want to use automatically managed certificates with a short validity period. </description> <tutorials> diff --git a/doc/classes/PacketPeerStream.xml b/doc/classes/PacketPeerStream.xml index a92aaf037e..1c5bec297c 100644 --- a/doc/classes/PacketPeerStream.xml +++ b/doc/classes/PacketPeerStream.xml @@ -5,6 +5,7 @@ </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. + [b]Note:[/b] When exporting to Android, make sure to enable the [code]INTERNET[/code] permission in the Android export preset before exporting the project or using one-click deploy. Otherwise, network communication of any kind will be blocked by Android. </description> <tutorials> </tutorials> diff --git a/doc/classes/PacketPeerUDP.xml b/doc/classes/PacketPeerUDP.xml index ecaddc5b9f..9b77859b50 100644 --- a/doc/classes/PacketPeerUDP.xml +++ b/doc/classes/PacketPeerUDP.xml @@ -5,6 +5,7 @@ </brief_description> <description> UDP packet peer. Can be used to send raw UDP packets as well as [Variant]s. + [b]Note:[/b] When exporting to Android, make sure to enable the [code]INTERNET[/code] permission in the Android export preset before exporting the project or using one-click deploy. Otherwise, network communication of any kind will be blocked by Android. </description> <tutorials> </tutorials> diff --git a/doc/classes/Signal.xml b/doc/classes/Signal.xml index b70725123b..f78266a20c 100644 --- a/doc/classes/Signal.xml +++ b/doc/classes/Signal.xml @@ -32,10 +32,16 @@ <method name="connect"> <return type="int" /> <argument index="0" name="callable" type="Callable" /> - <argument index="1" name="binds" type="Array" default="[]" /> - <argument index="2" name="flags" type="int" default="0" /> - <description> - Connects this signal to the specified [Callable], optionally providing binds and connection flags. + <argument index="1" name="flags" type="int" default="0" /> + <description> + Connects this signal to the specified [Callable], optionally providing connection flags. You can provide additional arguments to the connected method call by using [method Callable.bind]. + [codeblock] + for button in $Buttons.get_children(): + button.pressed.connect(on_pressed.bind(button)) + + func on_pressed(button): + print(button.name, " was pressed") + [/codeblock] </description> </method> <method name="disconnect"> diff --git a/doc/classes/StreamPeer.xml b/doc/classes/StreamPeer.xml index 316bd77a16..0622626846 100644 --- a/doc/classes/StreamPeer.xml +++ b/doc/classes/StreamPeer.xml @@ -5,6 +5,7 @@ </brief_description> <description> StreamPeer is an abstraction and base class for stream-based protocols (such as TCP). It provides an API for sending and receiving data through streams as raw data or strings. + [b]Note:[/b] When exporting to Android, make sure to enable the [code]INTERNET[/code] permission in the Android export preset before exporting the project or using one-click deploy. Otherwise, network communication of any kind will be blocked by Android. </description> <tutorials> </tutorials> diff --git a/doc/classes/StreamPeerSSL.xml b/doc/classes/StreamPeerSSL.xml index 034168c2a0..50389f912d 100644 --- a/doc/classes/StreamPeerSSL.xml +++ b/doc/classes/StreamPeerSSL.xml @@ -5,6 +5,7 @@ </brief_description> <description> SSL stream peer. This object can be used to connect to an SSL server or accept a single SSL client connection. + [b]Note:[/b] When exporting to Android, make sure to enable the [code]INTERNET[/code] permission in the Android export preset before exporting the project or using one-click deploy. Otherwise, network communication of any kind will be blocked by Android. </description> <tutorials> <link title="SSL certificates">https://docs.godotengine.org/en/latest/tutorials/networking/ssl_certificates.html</link> diff --git a/doc/classes/StreamPeerTCP.xml b/doc/classes/StreamPeerTCP.xml index bba48e7275..6b700593a2 100644 --- a/doc/classes/StreamPeerTCP.xml +++ b/doc/classes/StreamPeerTCP.xml @@ -5,6 +5,7 @@ </brief_description> <description> TCP stream peer. This object can be used to connect to TCP servers, or also is returned by a TCP server. + [b]Note:[/b] When exporting to Android, make sure to enable the [code]INTERNET[/code] permission in the Android export preset before exporting the project or using one-click deploy. Otherwise, network communication of any kind will be blocked by Android. </description> <tutorials> </tutorials> diff --git a/doc/classes/TCPServer.xml b/doc/classes/TCPServer.xml index 8676e33bb4..4fbaf9412f 100644 --- a/doc/classes/TCPServer.xml +++ b/doc/classes/TCPServer.xml @@ -5,6 +5,7 @@ </brief_description> <description> A TCP server. Listens to connections on a port and returns a [StreamPeerTCP] when it gets an incoming connection. + [b]Note:[/b] When exporting to Android, make sure to enable the [code]INTERNET[/code] permission in the Android export preset before exporting the project or using one-click deploy. Otherwise, network communication of any kind will be blocked by Android. </description> <tutorials> </tutorials> diff --git a/doc/classes/TabContainer.xml b/doc/classes/TabContainer.xml index 77bd7b1a0a..4c50aa4e1f 100644 --- a/doc/classes/TabContainer.xml +++ b/doc/classes/TabContainer.xml @@ -6,8 +6,6 @@ <description> Sets the active tab's [code]visible[/code] property to the value [code]true[/code]. Sets all other children's to [code]false[/code]. Ignores non-[Control] children. - Individual tabs are always visible unless you use [method set_tab_disabled] and [method set_tab_title] to hide it. - To hide only a tab's content, nest the content inside a child [Control], so it receives the [TabContainer]'s visibility setting instead. </description> <tutorials> </tutorials> @@ -50,6 +48,13 @@ Returns [code]true[/code] if the tab at index [code]tab_idx[/code] is disabled. </description> </method> + <method name="get_tab_hidden" qualifiers="const"> + <return type="bool" /> + <argument index="0" name="tab_idx" type="int" /> + <description> + Returns [code]true[/code] if the tab at index [code]tab_idx[/code] is hidden. + </description> + </method> <method name="get_tab_icon" qualifiers="const"> <return type="Texture2D" /> <argument index="0" name="tab_idx" type="int" /> @@ -89,8 +94,15 @@ <argument index="0" name="tab_idx" type="int" /> <argument index="1" name="disabled" type="bool" /> <description> - If [code]disabled[/code] is [code]false[/code], hides the tab at index [code]tab_idx[/code]. - [b]Note:[/b] Its title text will remain, unless also removed with [method set_tab_title]. + If [code]disabled[/code] is [code]true[/code], disables the tab at index [code]tab_idx[/code], making it non-interactable. + </description> + </method> + <method name="set_tab_hidden"> + <return type="void" /> + <argument index="0" name="tab_idx" type="int" /> + <argument index="1" name="hidden" type="bool" /> + <description> + If [code]hidden[/code] is [code]true[/code], hides the tab at index [code]tab_idx[/code], making it disappear from the tab area. </description> </method> <method name="set_tab_icon"> @@ -106,14 +118,14 @@ <argument index="0" name="tab_idx" type="int" /> <argument index="1" name="title" type="String" /> <description> - Sets a title for the tab at index [code]tab_idx[/code]. Tab titles default to the name of the indexed child node, but this can be overridden with [method set_tab_title]. + Sets a title for the tab at index [code]tab_idx[/code]. Tab titles default to the name of the indexed child node. </description> </method> <method name="set_tabs_rearrange_group"> <return type="void" /> <argument index="0" name="group_id" type="int" /> <description> - Defines rearrange group id, choose for each [TabContainer] the same value to enable tab drag between [TabContainer]. Enable drag with [code]set_drag_to_rearrange_enabled(true)[/code]. + Defines rearrange group id, choose for each [TabContainer] the same value to enable tab drag between [TabContainer]. Enable drag with [member drag_to_rearrange_enabled]. </description> </method> </methods> diff --git a/doc/classes/Tabs.xml b/doc/classes/Tabs.xml index f4c89a8b16..3ee3feb365 100644 --- a/doc/classes/Tabs.xml +++ b/doc/classes/Tabs.xml @@ -108,7 +108,7 @@ <return type="String" /> <argument index="0" name="tab_idx" type="int" /> <description> - Returns the title of the tab at index [code]tab_idx[/code]. Tab titles default to the name of the indexed child node, but this can be overridden with [method set_tab_title]. + Returns the title of the tab at index [code]tab_idx[/code]. </description> </method> <method name="get_tabs_rearrange_group" qualifiers="const"> @@ -144,8 +144,7 @@ <argument index="0" name="tab_idx" type="int" /> <argument index="1" name="disabled" type="bool" /> <description> - If [code]disabled[/code] is [code]false[/code], hides the tab at index [code]tab_idx[/code]. - [b]Note:[/b] Its title text will remain unless it is also removed with [method set_tab_title]. + If [code]disabled[/code] is [code]true[/code], disables the tab at index [code]tab_idx[/code], making it non-interactable. </description> </method> <method name="set_tab_icon"> @@ -193,7 +192,7 @@ <return type="void" /> <argument index="0" name="group_id" type="int" /> <description> - Defines the rearrange group ID. Choose for each [Tabs] the same value to dragging tabs between [Tabs]. Enable drag with [code]set_drag_to_rearrange_enabled(true)[/code]. + Defines the rearrange group ID. Choose for each [Tabs] the same value to dragging tabs between [Tabs]. Enable drag with [member drag_to_rearrange_enabled]. </description> </method> </methods> diff --git a/doc/classes/Thread.xml b/doc/classes/Thread.xml index 9c9119c664..ae5c0761b1 100644 --- a/doc/classes/Thread.xml +++ b/doc/classes/Thread.xml @@ -27,12 +27,11 @@ </method> <method name="start"> <return type="int" enum="Error" /> - <argument index="0" name="instance" type="Object" /> - <argument index="1" name="method" type="StringName" /> - <argument index="2" name="userdata" type="Variant" default="null" /> - <argument index="3" name="priority" type="int" enum="Thread.Priority" default="1" /> + <argument index="0" name="callable" type="Callable" /> + <argument index="1" name="userdata" type="Variant" default="null" /> + <argument index="2" name="priority" type="int" enum="Thread.Priority" default="1" /> <description> - Starts a new [Thread] that runs [code]method[/code] on object [code]instance[/code] with [code]userdata[/code] passed as an argument. Even if no userdata is passed, [code]method[/code] must accept one argument and it will be null. The [code]priority[/code] of the [Thread] can be changed by passing a value from the [enum Priority] enum. + Starts a new [Thread] that calls [code]callable[/code] with [code]userdata[/code] passed as an argument. Even if no userdata is passed, [code]method[/code] must accept one argument and it will be null. The [code]priority[/code] of the [Thread] can be changed by passing a value from the [enum Priority] enum. Returns [constant OK] on success, or [constant ERR_CANT_CREATE] on failure. </description> </method> diff --git a/doc/classes/TileSetAtlasSource.xml b/doc/classes/TileSetAtlasSource.xml index 75f7d19b31..d12ac840f4 100644 --- a/doc/classes/TileSetAtlasSource.xml +++ b/doc/classes/TileSetAtlasSource.xml @@ -15,16 +15,6 @@ <tutorials> </tutorials> <methods> - <method name="can_move_tile_in_atlas" qualifiers="const"> - <return type="bool" /> - <argument index="0" name="atlas_coords" type="Vector2i" /> - <argument index="1" name="new_atlas_coords" type="Vector2i" default="Vector2i(-1, -1)" /> - <argument index="2" name="new_size" type="Vector2i" default="Vector2i(-1, -1)" /> - <description> - Returns true if the tile at the [code]atlas_coords[/code] coordinates can be moved to the [code]new_atlas_coords[/code] coordinates with the [code]new_size[/code] size. This functions returns false if a tile is already present in the given area, or if this area is outside the atlas boundaries. - If [code]new_atlas_coords[/code] is [code]Vector2i(-1, -1)[/code], keeps the tile's coordinates. If [code]new_size[/code] is [code]Vector2i(-1, -1)[/code], keeps the tile's size. - </description> - </method> <method name="clear_tiles_outside_texture"> <return type="void" /> <description> @@ -61,6 +51,49 @@ Returns the alternative ID a following call to [method create_alternative_tile] would return. </description> </method> + <method name="get_tile_animation_columns" qualifiers="const"> + <return type="int" /> + <argument index="0" name="atlas_coords" type="Vector2i" /> + <description> + Returns how many columns the tile at [code]atlas_coords[/code] has in its animation layout. + </description> + </method> + <method name="get_tile_animation_frame_duration" qualifiers="const"> + <return type="float" /> + <argument index="0" name="atlas_coords" type="Vector2i" /> + <argument index="1" name="frame_index" type="int" /> + <description> + Returns the animation frame duration of frame [code]frame_index[/code] for the tile at coordinates [code]atlas_coords[/code]. + </description> + </method> + <method name="get_tile_animation_frames_count" qualifiers="const"> + <return type="int" /> + <argument index="0" name="atlas_coords" type="Vector2i" /> + <description> + Returns how many animation frames has the tile at coordinates [code]atlas_coords[/code]. + </description> + </method> + <method name="get_tile_animation_separation" qualifiers="const"> + <return type="Vector2i" /> + <argument index="0" name="atlas_coords" type="Vector2i" /> + <description> + Returns the separation (as in the atlas grid) between each frame of an animated tile at coordinates [code]atlas_coords[/code]. + </description> + </method> + <method name="get_tile_animation_speed" qualifiers="const"> + <return type="float" /> + <argument index="0" name="atlas_coords" type="Vector2i" /> + <description> + Returns the animation speed of the tile at coordinates [code]atlas_coords[/code]. + </description> + </method> + <method name="get_tile_animation_total_duration" qualifiers="const"> + <return type="float" /> + <argument index="0" name="atlas_coords" type="Vector2i" /> + <description> + Returns the sum of the sum of the frame durations of the tile at coordinates [code]atlas_coords[/code]. This value needs to be divided by the animation speed to get the actual animation loop duration. + </description> + </method> <method name="get_tile_at_coords" qualifiers="const"> <return type="Vector2i" /> <argument index="0" name="atlas_coords" type="Vector2i" /> @@ -86,8 +119,21 @@ <method name="get_tile_texture_region" qualifiers="const"> <return type="Rect2i" /> <argument index="0" name="atlas_coords" type="Vector2i" /> + <argument index="1" name="frame" type="int" default="0" /> + <description> + Returns a tile's texture region in the atlas texture. For animated tiles, a [code]frame[/code] argument might be provided for the different frames of the animation. + </description> + </method> + <method name="has_room_for_tile" qualifiers="const"> + <return type="bool" /> + <argument index="0" name="atlas_coords" type="Vector2i" /> + <argument index="1" name="size" type="Vector2i" /> + <argument index="2" name="animation_columns" type="int" /> + <argument index="3" name="animation_separation" type="Vector2i" /> + <argument index="4" name="frames_count" type="int" /> + <argument index="5" name="ignored_tile" type="Vector2i" default="Vector2i(-1, -1)" /> <description> - Returns a tile's texture region in the atlas texture. + Returns whether there is enough room in an atlas to create/modify a tile with the given properties. If [code]ignored_tile[/code] is provided, act as is the given tile was not present in the atlas. This may be used when you want to modify a tile's properties. </description> </method> <method name="has_tiles_outside_texture"> @@ -104,7 +150,7 @@ <description> Move the tile and its alternatives at the [code]atlas_coords[/code] coordinates to the [code]new_atlas_coords[/code] coordinates with the [code]new_size[/code] size. This functions will fail if a tile is already present in the given area. If [code]new_atlas_coords[/code] is [code]Vector2i(-1, -1)[/code], keeps the tile's coordinates. If [code]new_size[/code] is [code]Vector2i(-1, -1)[/code], keeps the tile's size. - To avoid an error, first check if a move is possible using [method can_move_tile_in_atlas]. + To avoid an error, first check if a move is possible using [method has_room_for_tile]. </description> </method> <method name="remove_alternative_tile"> @@ -133,6 +179,47 @@ Calling this function with [code]alternative_id[/code] equals to 0 will fail, as the base tile alternative cannot be moved. </description> </method> + <method name="set_tile_animation_columns"> + <return type="void" /> + <argument index="0" name="atlas_coords" type="Vector2i" /> + <argument index="1" name="frame_columns" type="int" /> + <description> + Sets the number of columns in the animation layout of the tile at coordinates [code]atlas_coords[/code]. If set to 0, then the different frames of the animation are laid out as a single horizontal line in the atlas. + </description> + </method> + <method name="set_tile_animation_frame_duration"> + <return type="void" /> + <argument index="0" name="atlas_coords" type="Vector2i" /> + <argument index="1" name="frame_index" type="int" /> + <argument index="2" name="duration" type="float" /> + <description> + Sets the animation frame duration of frame [code]frame_index[/code] for the tile at coordinates [code]atlas_coords[/code]. + </description> + </method> + <method name="set_tile_animation_frames_count"> + <return type="void" /> + <argument index="0" name="atlas_coords" type="Vector2i" /> + <argument index="1" name="frames_count" type="int" /> + <description> + Sets how many animation frames the tile at coordinates [code]atlas_coords[/code] has. + </description> + </method> + <method name="set_tile_animation_separation"> + <return type="void" /> + <argument index="0" name="atlas_coords" type="Vector2i" /> + <argument index="1" name="separation" type="Vector2i" /> + <description> + Sets the margin (in grid tiles) between each tile in the animation layout of the tile at coordinates [code]atlas_coords[/code] has. + </description> + </method> + <method name="set_tile_animation_speed"> + <return type="void" /> + <argument index="0" name="atlas_coords" type="Vector2i" /> + <argument index="1" name="speed" type="float" /> + <description> + Sets the animation speed of the tile at coordinates [code]atlas_coords[/code] has. + </description> + </method> </methods> <members> <member name="margins" type="Vector2i" setter="set_margins" getter="get_margins" default="Vector2i(0, 0)"> diff --git a/doc/classes/Tween.xml b/doc/classes/Tween.xml index ede6e2fdd5..f94018c96b 100644 --- a/doc/classes/Tween.xml +++ b/doc/classes/Tween.xml @@ -86,6 +86,7 @@ [code]initial_value[/code] is the starting value of the interpolation. [code]delta_value[/code] is the change of the value in the interpolation, i.e. it's equal to [code]final_value - initial_value[/code]. [code]duration[/code] is the total time of the interpolation. + [b]Note:[/b] If [code]duration[/code] is equal to [code]0[/code], the method will always return the final value, regardless of [code]elapsed_time[/code] provided. </description> </method> <method name="is_running"> |