mirror of
https://github.com/godotengine/godot.git
synced 2026-01-06 10:11:57 +03:00
Validate code tags in documentation for potential params
Adds a check to make_rst to look for matches
between the text inside of the [code][/code] tag
and known param identifiers.
Fixes most of what was revealed.
(cherry picked from commit 391eccca76)
This commit is contained in:
@@ -15,14 +15,14 @@
|
||||
<return type="bool" />
|
||||
<param index="0" name="layer_number" type="int" />
|
||||
<description>
|
||||
Returns whether or not the specified layer of the [member collision_layer] is enabled, given a [code]layer_number[/code] between 1 and 32.
|
||||
Returns whether or not the specified layer of the [member collision_layer] is enabled, given a [param layer_number] between 1 and 32.
|
||||
</description>
|
||||
</method>
|
||||
<method name="get_collision_mask_value" qualifiers="const">
|
||||
<return type="bool" />
|
||||
<param index="0" name="layer_number" type="int" />
|
||||
<description>
|
||||
Returns whether or not the specified layer of the [member collision_mask] is enabled, given a [code]layer_number[/code] between 1 and 32.
|
||||
Returns whether or not the specified layer of the [member collision_mask] is enabled, given a [param layer_number] between 1 and 32.
|
||||
</description>
|
||||
</method>
|
||||
<method name="get_meshes" qualifiers="const">
|
||||
@@ -42,7 +42,7 @@
|
||||
<param index="0" name="layer_number" type="int" />
|
||||
<param index="1" name="value" type="bool" />
|
||||
<description>
|
||||
Based on [code]value[/code], enables or disables the specified layer in the [member collision_layer], given a [code]layer_number[/code] between 1 and 32.
|
||||
Based on [param value], enables or disables the specified layer in the [member collision_layer], given a [param layer_number] between 1 and 32.
|
||||
</description>
|
||||
</method>
|
||||
<method name="set_collision_mask_value">
|
||||
@@ -50,7 +50,7 @@
|
||||
<param index="0" name="layer_number" type="int" />
|
||||
<param index="1" name="value" type="bool" />
|
||||
<description>
|
||||
Based on [code]value[/code], enables or disables the specified layer in the [member collision_mask], given a [code]layer_number[/code] between 1 and 32.
|
||||
Based on [param value], enables or disables the specified layer in the [member collision_mask], given a [param layer_number] between 1 and 32.
|
||||
</description>
|
||||
</method>
|
||||
</methods>
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
<param index="1" name="packet" type="PackedByteArray" />
|
||||
<param index="2" name="flags" type="int" />
|
||||
<description>
|
||||
Queues a [code]packet[/code] to be sent to all peers associated with the host over the specified [code]channel[/code]. See [ENetPacketPeer] [code]FLAG_*[/code] constants for available packet flags.
|
||||
Queues a [param packet] to be sent to all peers associated with the host over the specified [param channel]. See [ENetPacketPeer] [code]FLAG_*[/code] constants for available packet flags.
|
||||
</description>
|
||||
</method>
|
||||
<method name="channel_limit">
|
||||
@@ -50,7 +50,7 @@
|
||||
<param index="2" name="channels" type="int" default="0" />
|
||||
<param index="3" name="data" type="int" default="0" />
|
||||
<description>
|
||||
Initiates a connection to a foreign [code]address[/code] using the specified [code]port[/code] and allocating the requested [code]channels[/code]. Optional [code]data[/code] can be passed during connection in the form of a 32 bit integer.
|
||||
Initiates a connection to a foreign [param address] using the specified [param port] and allocating the requested [param channels]. Optional [param data] can be passed during connection in the form of a 32 bit integer.
|
||||
[b]Note:[/b] You must call either [method create_host] or [method create_host_bound] before calling this method.
|
||||
</description>
|
||||
</method>
|
||||
@@ -61,7 +61,7 @@
|
||||
<param index="2" name="in_bandwidth" type="int" default="0" />
|
||||
<param index="3" name="out_bandwidth" type="int" default="0" />
|
||||
<description>
|
||||
Create an ENetHost that will allow up to [code]max_peers[/code] connected peers, each allocating up to [code]max_channels[/code] channels, optionally limiting bandwidth to [code]in_bandwidth[/code] and [code]out_bandwidth[/code].
|
||||
Create an ENetHost that will allow up to [param max_peers] connected peers, each allocating up to [param max_channels] channels, optionally limiting bandwidth to [param in_bandwidth] and [param out_bandwidth].
|
||||
</description>
|
||||
</method>
|
||||
<method name="create_host_bound">
|
||||
@@ -73,7 +73,7 @@
|
||||
<param index="4" name="in_bandwidth" type="int" default="0" />
|
||||
<param index="5" name="out_bandwidth" type="int" default="0" />
|
||||
<description>
|
||||
Create an ENetHost like [method create_host] which is also bound to the given [code]bind_address[/code] and [code]bind_port[/code].
|
||||
Create an ENetHost like [method create_host] which is also bound to the given [param bind_address] and [param bind_port].
|
||||
</description>
|
||||
</method>
|
||||
<method name="destroy">
|
||||
@@ -87,7 +87,7 @@
|
||||
<param index="0" name="hostname" type="String" />
|
||||
<param index="1" name="client_options" type="TLSOptions" default="null" />
|
||||
<description>
|
||||
Configure this ENetHost to use the custom Godot extension allowing DTLS encryption for ENet clients. Call this before [method connect_to_host] to have ENet connect using DTLS validating the server certificate against [code]hostname[/code]. You can pass the optional [param client_options] parameter to customize the trusted certification authorities, or disable the common name verification. See [method TLSOptions.client] and [method TLSOptions.client_unsafe].
|
||||
Configure this ENetHost to use the custom Godot extension allowing DTLS encryption for ENet clients. Call this before [method connect_to_host] to have ENet connect using DTLS validating the server certificate against [param hostname]. You can pass the optional [param client_options] parameter to customize the trusted certification authorities, or disable the common name verification. See [method TLSOptions.client] and [method TLSOptions.client_unsafe].
|
||||
</description>
|
||||
</method>
|
||||
<method name="dtls_server_setup">
|
||||
|
||||
@@ -17,8 +17,8 @@
|
||||
<param index="0" name="peer_id" type="int" />
|
||||
<param index="1" name="host" type="ENetConnection" />
|
||||
<description>
|
||||
Add a new remote peer with the given [code]peer_id[/code] connected to the given [code]host[/code].
|
||||
[b]Note:[/b] The [code]host[/code] must have exactly one peer in the [constant ENetPacketPeer.STATE_CONNECTED] state.
|
||||
Add a new remote peer with the given [param peer_id] connected to the given [param host].
|
||||
[b]Note:[/b] The [param host] must have exactly one peer in the [constant ENetPacketPeer.STATE_CONNECTED] state.
|
||||
</description>
|
||||
</method>
|
||||
<method name="create_client">
|
||||
@@ -30,14 +30,14 @@
|
||||
<param index="4" name="out_bandwidth" type="int" default="0" />
|
||||
<param index="5" name="local_port" type="int" default="0" />
|
||||
<description>
|
||||
Create client that connects to a server at [code]address[/code] using specified [code]port[/code]. The given address needs to be either a fully qualified domain name (e.g. [code]"www.example.com"[/code]) or an IP address in IPv4 or IPv6 format (e.g. [code]"192.168.1.1"[/code]). The [code]port[/code] is the port the server is listening on. The [code]channel_count[/code] parameter can be used to specify the number of ENet channels allocated for the connection. The [code]in_bandwidth[/code] and [code]out_bandwidth[/code] parameters can be used to limit the incoming and outgoing bandwidth to the given number of bytes per second. The default of 0 means unlimited bandwidth. Note that ENet will strategically drop packets on specific sides of a connection between peers to ensure the peer's bandwidth is not overwhelmed. The bandwidth parameters also determine the window size of a connection which limits the amount of reliable packets that may be in transit at any given time. Returns [constant OK] if a client was created, [constant ERR_ALREADY_IN_USE] if this ENetMultiplayerPeer instance already has an open connection (in which case you need to call [method MultiplayerPeer.close] first) or [constant ERR_CANT_CREATE] if the client could not be created. If [code]local_port[/code] is specified, the client will also listen to the given port; this is useful for some NAT traversal techniques.
|
||||
Create client that connects to a server at [param address] using specified [param port]. The given address needs to be either a fully qualified domain name (e.g. [code]"www.example.com"[/code]) or an IP address in IPv4 or IPv6 format (e.g. [code]"192.168.1.1"[/code]). The [param port] is the port the server is listening on. The [param channel_count] parameter can be used to specify the number of ENet channels allocated for the connection. The [param in_bandwidth] and [param out_bandwidth] parameters can be used to limit the incoming and outgoing bandwidth to the given number of bytes per second. The default of 0 means unlimited bandwidth. Note that ENet will strategically drop packets on specific sides of a connection between peers to ensure the peer's bandwidth is not overwhelmed. The bandwidth parameters also determine the window size of a connection which limits the amount of reliable packets that may be in transit at any given time. Returns [constant OK] if a client was created, [constant ERR_ALREADY_IN_USE] if this ENetMultiplayerPeer instance already has an open connection (in which case you need to call [method MultiplayerPeer.close] first) or [constant ERR_CANT_CREATE] if the client could not be created. If [param local_port] is specified, the client will also listen to the given port; this is useful for some NAT traversal techniques.
|
||||
</description>
|
||||
</method>
|
||||
<method name="create_mesh">
|
||||
<return type="int" enum="Error" />
|
||||
<param index="0" name="unique_id" type="int" />
|
||||
<description>
|
||||
Initialize this [MultiplayerPeer] in mesh mode. The provided [code]unique_id[/code] will be used as the local peer network unique ID once assigned as the [member MultiplayerAPI.multiplayer_peer]. In the mesh configuration you will need to set up each new peer manually using [ENetConnection] before calling [method add_mesh_peer]. While this technique is more advanced, it allows for better control over the connection process (e.g. when dealing with NAT punch-through) and for better distribution of the network load (which would otherwise be more taxing on the server).
|
||||
Initialize this [MultiplayerPeer] in mesh mode. The provided [param unique_id] will be used as the local peer network unique ID once assigned as the [member MultiplayerAPI.multiplayer_peer]. In the mesh configuration you will need to set up each new peer manually using [ENetConnection] before calling [method add_mesh_peer]. While this technique is more advanced, it allows for better control over the connection process (e.g. when dealing with NAT punch-through) and for better distribution of the network load (which would otherwise be more taxing on the server).
|
||||
</description>
|
||||
</method>
|
||||
<method name="create_server">
|
||||
@@ -48,14 +48,14 @@
|
||||
<param index="3" name="in_bandwidth" type="int" default="0" />
|
||||
<param index="4" name="out_bandwidth" type="int" default="0" />
|
||||
<description>
|
||||
Create server that listens to connections via [code]port[/code]. The port needs to be an available, unused port between 0 and 65535. Note that ports below 1024 are privileged and may require elevated permissions depending on the platform. To change the interface the server listens on, use [method set_bind_ip]. The default IP is the wildcard [code]"*"[/code], which listens on all available interfaces. [code]max_clients[/code] is the maximum number of clients that are allowed at once, any number up to 4095 may be used, although the achievable number of simultaneous clients may be far lower and depends on the application. For additional details on the bandwidth parameters, see [method create_client]. Returns [constant OK] if a server was created, [constant ERR_ALREADY_IN_USE] if this ENetMultiplayerPeer instance already has an open connection (in which case you need to call [method MultiplayerPeer.close] first) or [constant ERR_CANT_CREATE] if the server could not be created.
|
||||
Create server that listens to connections via [param port]. The port needs to be an available, unused port between 0 and 65535. Note that ports below 1024 are privileged and may require elevated permissions depending on the platform. To change the interface the server listens on, use [method set_bind_ip]. The default IP is the wildcard [code]"*"[/code], which listens on all available interfaces. [param max_clients] is the maximum number of clients that are allowed at once, any number up to 4095 may be used, although the achievable number of simultaneous clients may be far lower and depends on the application. For additional details on the bandwidth parameters, see [method create_client]. Returns [constant OK] if a server was created, [constant ERR_ALREADY_IN_USE] if this ENetMultiplayerPeer instance already has an open connection (in which case you need to call [method MultiplayerPeer.close] first) or [constant ERR_CANT_CREATE] if the server could not be created.
|
||||
</description>
|
||||
</method>
|
||||
<method name="get_peer" qualifiers="const">
|
||||
<return type="ENetPacketPeer" />
|
||||
<param index="0" name="id" type="int" />
|
||||
<description>
|
||||
Returns the [ENetPacketPeer] associated to the given [code]id[/code].
|
||||
Returns the [ENetPacketPeer] associated to the given [param id].
|
||||
</description>
|
||||
</method>
|
||||
<method name="set_bind_ip">
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
<return type="float" />
|
||||
<param index="0" name="statistic" type="int" enum="ENetPacketPeer.PeerStatistic" />
|
||||
<description>
|
||||
Returns the requested [code]statistic[/code] for this peer. See [enum PeerStatistic].
|
||||
Returns the requested [param statistic] for this peer. See [enum PeerStatistic].
|
||||
</description>
|
||||
</method>
|
||||
<method name="is_active" qualifiers="const">
|
||||
@@ -80,7 +80,7 @@
|
||||
<return type="void" />
|
||||
<param index="0" name="ping_interval" type="int" />
|
||||
<description>
|
||||
Sets the [code]ping_interval[/code] in milliseconds at which pings will be sent to a peer. Pings are used both to monitor the liveness of the connection and also to dynamically adjust the throttle during periods of low traffic so that the throttle has reasonable responsiveness during traffic spikes. The default ping interval is [code]500[/code] milliseconds.
|
||||
Sets the [param ping_interval] in milliseconds at which pings will be sent to a peer. Pings are used both to monitor the liveness of the connection and also to dynamically adjust the throttle during periods of low traffic so that the throttle has reasonable responsiveness during traffic spikes. The default ping interval is [code]500[/code] milliseconds.
|
||||
</description>
|
||||
</method>
|
||||
<method name="reset">
|
||||
@@ -95,7 +95,7 @@
|
||||
<param index="1" name="packet" type="PackedByteArray" />
|
||||
<param index="2" name="flags" type="int" />
|
||||
<description>
|
||||
Queues a [code]packet[/code] to be sent over the specified [code]channel[/code]. See [code]FLAG_*[/code] constants for available packet flags.
|
||||
Queues a [param packet] to be sent over the specified [param channel]. See [code]FLAG_*[/code] constants for available packet flags.
|
||||
</description>
|
||||
</method>
|
||||
<method name="set_timeout">
|
||||
@@ -105,7 +105,7 @@
|
||||
<param index="2" name="timeout_max" type="int" />
|
||||
<description>
|
||||
Sets the timeout parameters for a peer. The timeout parameters control how and when a peer will timeout from a failure to acknowledge reliable traffic. Timeout values are expressed in milliseconds.
|
||||
The [code]timeout_limit[/code] is a factor that, multiplied by a value based on the average round trip time, will determine the timeout limit for a reliable packet. When that limit is reached, the timeout will be doubled, and the peer will be disconnected if that limit has reached [code]timeout_min[/code]. The [code]timeout_max[/code] parameter, on the other hand, defines a fixed timeout for which any packet must be acknowledged or the peer will be dropped.
|
||||
The [param timeout] is a factor that, multiplied by a value based on the average round trip time, will determine the timeout limit for a reliable packet. When that limit is reached, the timeout will be doubled, and the peer will be disconnected if that limit has reached [param timeout_min]. The [param timeout_max] parameter, on the other hand, defines a fixed timeout for which any packet must be acknowledged or the peer will be dropped.
|
||||
</description>
|
||||
</method>
|
||||
<method name="throttle_configure">
|
||||
@@ -115,7 +115,7 @@
|
||||
<param index="2" name="deceleration" type="int" />
|
||||
<description>
|
||||
Configures throttle parameter for a peer.
|
||||
Unreliable packets are dropped by ENet in response to the varying conditions of the Internet connection to the peer. The throttle represents a probability that an unreliable packet should not be dropped and thus sent by ENet to the peer. By measuring fluctuations in round trip times of reliable packets over the specified [code]interval[/code], ENet will either increase the probability by the amount specified in the [code]acceleration[/code] parameter, or decrease it by the amount specified in the [code]deceleration[/code] parameter (both are ratios to [constant PACKET_THROTTLE_SCALE]).
|
||||
Unreliable packets are dropped by ENet in response to the varying conditions of the Internet connection to the peer. The throttle represents a probability that an unreliable packet should not be dropped and thus sent by ENet to the peer. By measuring fluctuations in round trip times of reliable packets over the specified [param interval], ENet will either increase the probability by the amount specified in the [param acceleration] parameter, or decrease it by the amount specified in the [param deceleration] parameter (both are ratios to [constant PACKET_THROTTLE_SCALE]).
|
||||
When the throttle has a value of [constant PACKET_THROTTLE_SCALE], no unreliable packets are dropped by ENet, and so 100% of all unreliable packets will be sent.
|
||||
When the throttle has a value of [code]0[/code], all unreliable packets are dropped by ENet, and so 0% of all unreliable packets will be sent.
|
||||
Intermediate values for the throttle represent intermediate probabilities between 0% and 100% of unreliable packets being sent. The bandwidth limits of the local and foreign hosts are taken into account to determine a sensible limit for the throttle probability above which it should not raise even in the best of conditions.
|
||||
|
||||
@@ -610,7 +610,7 @@
|
||||
<param index="3" name="transfer_channel" type="int" default="0" />
|
||||
<description>
|
||||
Mark the following method for remote procedure calls. See [url=$DOCS_URL/tutorials/networking/high_level_multiplayer.html]High-level multiplayer[/url].
|
||||
The order of [code]mode[/code], [code]sync[/code] and [code]transfer_mode[/code] does not matter and all arguments can be omitted, but [code]transfer_channel[/code] always has to be the last argument. The accepted values for [code]mode[/code] are [code]"any_peer"[/code] or [code]"authority"[/code], for [code]sync[/code] are [code]"call_remote"[/code] or [code]"call_local"[/code] and for [code]transfer_mode[/code] are [code]"unreliable"[/code], [code]"unreliable_ordered"[/code] or [code]"reliable"[/code].
|
||||
The order of [param mode], [param sync] and [param transfer_mode] does not matter and all arguments can be omitted, but [param transfer_channel] always has to be the last argument. The accepted values for [param mode] are [code]"any_peer"[/code] or [code]"authority"[/code], for [param sync] are [code]"call_remote"[/code] or [code]"call_local"[/code] and for [param transfer_mode] are [code]"unreliable"[/code], [code]"unreliable_ordered"[/code] or [code]"reliable"[/code].
|
||||
[codeblock]
|
||||
@rpc
|
||||
func fn(): pass
|
||||
|
||||
@@ -73,14 +73,14 @@
|
||||
<return type="bool" />
|
||||
<param index="0" name="layer_number" type="int" />
|
||||
<description>
|
||||
Returns whether or not the specified layer of the [member collision_layer] is enabled, given a [code]layer_number[/code] between 1 and 32.
|
||||
Returns whether or not the specified layer of the [member collision_layer] is enabled, given a [param layer_number] between 1 and 32.
|
||||
</description>
|
||||
</method>
|
||||
<method name="get_collision_mask_value" qualifiers="const">
|
||||
<return type="bool" />
|
||||
<param index="0" name="layer_number" type="int" />
|
||||
<description>
|
||||
Returns whether or not the specified layer of the [member collision_mask] is enabled, given a [code]layer_number[/code] between 1 and 32.
|
||||
Returns whether or not the specified layer of the [member collision_mask] is enabled, given a [param layer_number] between 1 and 32.
|
||||
</description>
|
||||
</method>
|
||||
<method name="get_meshes" qualifiers="const">
|
||||
@@ -113,7 +113,7 @@
|
||||
<return type="Vector3i[]" />
|
||||
<param index="0" name="item" type="int" />
|
||||
<description>
|
||||
Returns an array of all cells with the given item index specified in [code]item[/code].
|
||||
Returns an array of all cells with the given item index specified in [param item].
|
||||
</description>
|
||||
</method>
|
||||
<method name="local_to_map" qualifiers="const">
|
||||
@@ -161,7 +161,7 @@
|
||||
<param index="0" name="layer_number" type="int" />
|
||||
<param index="1" name="value" type="bool" />
|
||||
<description>
|
||||
Based on [code]value[/code], enables or disables the specified layer in the [member collision_layer], given a [code]layer_number[/code] between 1 and 32.
|
||||
Based on [param value], enables or disables the specified layer in the [member collision_layer], given a [param layer_number] between 1 and 32.
|
||||
</description>
|
||||
</method>
|
||||
<method name="set_collision_mask_value">
|
||||
@@ -169,7 +169,7 @@
|
||||
<param index="0" name="layer_number" type="int" />
|
||||
<param index="1" name="value" type="bool" />
|
||||
<description>
|
||||
Based on [code]value[/code], enables or disables the specified layer in the [member collision_mask], given a [code]layer_number[/code] between 1 and 32.
|
||||
Based on [param value], enables or disables the specified layer in the [member collision_mask], given a [param layer_number] between 1 and 32.
|
||||
</description>
|
||||
</method>
|
||||
<method name="set_navigation_map">
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
<return type="Node" />
|
||||
<param index="0" name="data" type="Variant" default="null" />
|
||||
<description>
|
||||
Requests a custom spawn, with [code]data[/code] passed to [member spawn_function] on all peers. Returns the locally spawned node instance already inside the scene tree, and added as a child of the node pointed by [member spawn_path].
|
||||
Requests a custom spawn, with [param data] passed to [member spawn_function] on all peers. Returns the locally spawned node instance already inside the scene tree, and added as a child of the node pointed by [member spawn_path].
|
||||
[b]Note:[/b] Spawnable scenes are spawned automatically. [method spawn] is only needed for custom spawns.
|
||||
</description>
|
||||
</method>
|
||||
|
||||
@@ -17,14 +17,14 @@
|
||||
<param index="0" name="filter" type="Callable" />
|
||||
<description>
|
||||
Adds a peer visibility filter for this synchronizer.
|
||||
[code]filter[/code] should take a peer ID [int] and return a [bool].
|
||||
[param filter] should take a peer ID [int] and return a [bool].
|
||||
</description>
|
||||
</method>
|
||||
<method name="get_visibility_for" qualifiers="const">
|
||||
<return type="bool" />
|
||||
<param index="0" name="peer" type="int" />
|
||||
<description>
|
||||
Queries the current visibility for peer [code]peer[/code].
|
||||
Queries the current visibility for peer [param peer].
|
||||
</description>
|
||||
</method>
|
||||
<method name="remove_visibility_filter">
|
||||
@@ -39,14 +39,14 @@
|
||||
<param index="0" name="peer" type="int" />
|
||||
<param index="1" name="visible" type="bool" />
|
||||
<description>
|
||||
Sets the visibility of [code]peer[/code] to [code]visible[/code]. If [code]peer[/code] is [code]0[/code], the value of [member public_visibility] will be updated instead.
|
||||
Sets the visibility of [param peer] to [param visible]. If [param peer] is [code]0[/code], the value of [member public_visibility] will be updated instead.
|
||||
</description>
|
||||
</method>
|
||||
<method name="update_visibility">
|
||||
<return type="void" />
|
||||
<param index="0" name="for_peer" type="int" default="0" />
|
||||
<description>
|
||||
Updates the visibility of [code]peer[/code] according to visibility filters. If [code]peer[/code] is [code]0[/code] (the default), all peers' visibilties are updated.
|
||||
Updates the visibility of [param for_peer] according to visibility filters. If [param for_peer] is [code]0[/code] (the default), all peers' visibilties are updated.
|
||||
</description>
|
||||
</method>
|
||||
</methods>
|
||||
@@ -77,7 +77,7 @@
|
||||
<signal name="visibility_changed">
|
||||
<param index="0" name="for_peer" type="int" />
|
||||
<description>
|
||||
Emitted when visibility of [code]for_peer[/code] is updated. See [method update_visibility].
|
||||
Emitted when visibility of [param for_peer] is updated. See [method update_visibility].
|
||||
</description>
|
||||
</signal>
|
||||
</signals>
|
||||
|
||||
@@ -55,7 +55,7 @@
|
||||
<param index="2" name="mode" type="int" enum="MultiplayerPeer.TransferMode" default="2" />
|
||||
<param index="3" name="channel" type="int" default="0" />
|
||||
<description>
|
||||
Sends the given raw [code]bytes[/code] to a specific peer identified by [code]id[/code] (see [method MultiplayerPeer.set_target_peer]). Default ID is [code]0[/code], i.e. broadcast to all peers.
|
||||
Sends the given raw [param bytes] to a specific peer identified by [param id] (see [method MultiplayerPeer.set_target_peer]). Default ID is [code]0[/code], i.e. broadcast to all peers.
|
||||
</description>
|
||||
</method>
|
||||
</methods>
|
||||
@@ -100,7 +100,7 @@
|
||||
<param index="0" name="id" type="int" />
|
||||
<param index="1" name="packet" type="PackedByteArray" />
|
||||
<description>
|
||||
Emitted when this MultiplayerAPI's [member MultiplayerAPI.multiplayer_peer] receives a [code]packet[/code] with custom data (see [method send_bytes]). ID is the peer ID of the peer that sent the packet.
|
||||
Emitted when this MultiplayerAPI's [member MultiplayerAPI.multiplayer_peer] receives a [param packet] with custom data (see [method send_bytes]). ID is the peer ID of the peer that sent the packet.
|
||||
</description>
|
||||
</signal>
|
||||
</signals>
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
<param index="0" name="path" type="NodePath" />
|
||||
<param index="1" name="index" type="int" default="-1" />
|
||||
<description>
|
||||
Adds the property identified by the given [code]path[/code] to the list of the properties being synchronized, optionally passing an [code]index[/code].
|
||||
Adds the property identified by the given [param path] to the list of the properties being synchronized, optionally passing an [param index].
|
||||
</description>
|
||||
</method>
|
||||
<method name="get_properties" qualifiers="const">
|
||||
@@ -26,28 +26,28 @@
|
||||
<return type="bool" />
|
||||
<param index="0" name="path" type="NodePath" />
|
||||
<description>
|
||||
Returns whether the given [code]path[/code] is configured for synchronization.
|
||||
Returns whether the given [param path] is configured for synchronization.
|
||||
</description>
|
||||
</method>
|
||||
<method name="property_get_index" qualifiers="const">
|
||||
<return type="int" />
|
||||
<param index="0" name="path" type="NodePath" />
|
||||
<description>
|
||||
Finds the index of the given [code]path[/code].
|
||||
Finds the index of the given [param path].
|
||||
</description>
|
||||
</method>
|
||||
<method name="property_get_spawn">
|
||||
<return type="bool" />
|
||||
<param index="0" name="path" type="NodePath" />
|
||||
<description>
|
||||
Returns whether the property identified by the given [code]path[/code] is configured to be synchronized on spawn.
|
||||
Returns whether the property identified by the given [param path] is configured to be synchronized on spawn.
|
||||
</description>
|
||||
</method>
|
||||
<method name="property_get_sync">
|
||||
<return type="bool" />
|
||||
<param index="0" name="path" type="NodePath" />
|
||||
<description>
|
||||
Returns whether the property identified by the given [code]path[/code] is configured to be synchronized on process.
|
||||
Returns whether the property identified by the given [param path] is configured to be synchronized on process.
|
||||
</description>
|
||||
</method>
|
||||
<method name="property_set_spawn">
|
||||
@@ -55,7 +55,7 @@
|
||||
<param index="0" name="path" type="NodePath" />
|
||||
<param index="1" name="enabled" type="bool" />
|
||||
<description>
|
||||
Sets whether the property identified by the given [code]path[/code] is configured to be synchronized on spawn.
|
||||
Sets whether the property identified by the given [param path] is configured to be synchronized on spawn.
|
||||
</description>
|
||||
</method>
|
||||
<method name="property_set_sync">
|
||||
@@ -63,14 +63,14 @@
|
||||
<param index="0" name="path" type="NodePath" />
|
||||
<param index="1" name="enabled" type="bool" />
|
||||
<description>
|
||||
Sets whether the property identified by the given [code]path[/code] is configured to be synchronized on process.
|
||||
Sets whether the property identified by the given [param path] is configured to be synchronized on process.
|
||||
</description>
|
||||
</method>
|
||||
<method name="remove_property">
|
||||
<return type="void" />
|
||||
<param index="0" name="path" type="NodePath" />
|
||||
<description>
|
||||
Removes the property identified by the given [code]path[/code] from the configuration.
|
||||
Removes the property identified by the given [param path] from the configuration.
|
||||
</description>
|
||||
</method>
|
||||
</methods>
|
||||
|
||||
@@ -74,11 +74,11 @@
|
||||
<param index="3" name="proto" type="String" default=""UDP"" />
|
||||
<param index="4" name="duration" type="int" default="0" />
|
||||
<description>
|
||||
Adds a mapping to forward the external [code]port[/code] (between 1 and 65535, although recommended to use port 1024 or above) on the default gateway (see [method get_gateway]) to the [code]internal_port[/code] on the local machine for the given protocol [code]proto[/code] (either [code]"TCP"[/code] or [code]"UDP"[/code], with UDP being the default). If a port mapping for the given port and protocol combination already exists on that gateway device, this method tries to overwrite it. If that is not desired, you can retrieve the gateway manually with [method get_gateway] and call [method add_port_mapping] on it, if any. Note that forwarding a well-known port (below 1024) with UPnP may fail depending on the device.
|
||||
Adds a mapping to forward the external [param port] (between 1 and 65535, although recommended to use port 1024 or above) on the default gateway (see [method get_gateway]) to the [param port_internal] on the local machine for the given protocol [param proto] (either [code]"TCP"[/code] or [code]"UDP"[/code], with UDP being the default). If a port mapping for the given port and protocol combination already exists on that gateway device, this method tries to overwrite it. If that is not desired, you can retrieve the gateway manually with [method get_gateway] and call [method add_port_mapping] on it, if any. Note that forwarding a well-known port (below 1024) with UPnP may fail depending on the device.
|
||||
Depending on the gateway device, if a mapping for that port already exists, it will either be updated or it will refuse this command due to that conflict, especially if the existing mapping for that port wasn't created via UPnP or points to a different network address (or device) than this one.
|
||||
If [code]internal_port[/code] is [code]0[/code] (the default), the same port number is used for both the external and the internal port (the [code]port[/code] value).
|
||||
The description ([code]desc[/code]) is shown in some routers management UIs and can be used to point out which application added the mapping.
|
||||
The mapping's lease [code]duration[/code] can be limited by specifying a duration in seconds. The default of [code]0[/code] means no duration, i.e. a permanent lease and notably some devices only support these permanent leases. Note that whether permanent or not, this is only a request and the gateway may still decide at any point to remove the mapping (which usually happens on a reboot of the gateway, when its external IP address changes, or on some models when it detects a port mapping has become inactive, i.e. had no traffic for multiple minutes). If not [code]0[/code] (permanent), the allowed range according to spec is between [code]120[/code] (2 minutes) and [code]86400[/code] seconds (24 hours).
|
||||
If [param port_internal] is [code]0[/code] (the default), the same port number is used for both the external and the internal port (the [param port] value).
|
||||
The description ([param desc]) is shown in some routers management UIs and can be used to point out which application added the mapping.
|
||||
The mapping's lease [param duration] can be limited by specifying a duration in seconds. The default of [code]0[/code] means no duration, i.e. a permanent lease and notably some devices only support these permanent leases. Note that whether permanent or not, this is only a request and the gateway may still decide at any point to remove the mapping (which usually happens on a reboot of the gateway, when its external IP address changes, or on some models when it detects a port mapping has become inactive, i.e. had no traffic for multiple minutes). If not [code]0[/code] (permanent), the allowed range according to spec is between [code]120[/code] (2 minutes) and [code]86400[/code] seconds (24 hours).
|
||||
See [enum UPNPResult] for possible return values.
|
||||
</description>
|
||||
</method>
|
||||
@@ -93,7 +93,7 @@
|
||||
<param index="0" name="port" type="int" />
|
||||
<param index="1" name="proto" type="String" default=""UDP"" />
|
||||
<description>
|
||||
Deletes the port mapping for the given port and protocol combination on the default gateway (see [method get_gateway]) if one exists. [code]port[/code] must be a valid port between 1 and 65535, [code]proto[/code] can be either [code]"TCP"[/code] or [code]"UDP"[/code]. May be refused for mappings pointing to addresses other than this one, for well-known ports (below 1024), or for mappings not added via UPnP. See [enum UPNPResult] for possible return values.
|
||||
Deletes the port mapping for the given port and protocol combination on the default gateway (see [method get_gateway]) if one exists. [param port] must be a valid port between 1 and 65535, [param proto] can be either [code]"TCP"[/code] or [code]"UDP"[/code]. May be refused for mappings pointing to addresses other than this one, for well-known ports (below 1024), or for mappings not added via UPnP. See [enum UPNPResult] for possible return values.
|
||||
</description>
|
||||
</method>
|
||||
<method name="discover">
|
||||
@@ -103,7 +103,7 @@
|
||||
<param index="2" name="device_filter" type="String" default=""InternetGatewayDevice"" />
|
||||
<description>
|
||||
Discovers local [UPNPDevice]s. Clears the list of previously discovered devices.
|
||||
Filters for IGD (InternetGatewayDevice) type devices by default, as those manage port forwarding. [code]timeout[/code] is the time to wait for responses in milliseconds. [code]ttl[/code] is the time-to-live; only touch this if you know what you're doing.
|
||||
Filters for IGD (InternetGatewayDevice) type devices by default, as those manage port forwarding. [param timeout] is the time to wait for responses in milliseconds. [param ttl] is the time-to-live; only touch this if you know what you're doing.
|
||||
See [enum UPNPResult] for possible return values.
|
||||
</description>
|
||||
</method>
|
||||
@@ -111,7 +111,7 @@
|
||||
<return type="UPNPDevice" />
|
||||
<param index="0" name="index" type="int" />
|
||||
<description>
|
||||
Returns the [UPNPDevice] at the given [code]index[/code].
|
||||
Returns the [UPNPDevice] at the given [param index].
|
||||
</description>
|
||||
</method>
|
||||
<method name="get_device_count" qualifiers="const">
|
||||
@@ -136,7 +136,7 @@
|
||||
<return type="void" />
|
||||
<param index="0" name="index" type="int" />
|
||||
<description>
|
||||
Removes the device at [code]index[/code] from the list of discovered devices.
|
||||
Removes the device at [param index] from the list of discovered devices.
|
||||
</description>
|
||||
</method>
|
||||
<method name="set_device">
|
||||
@@ -144,7 +144,7 @@
|
||||
<param index="0" name="index" type="int" />
|
||||
<param index="1" name="device" type="UPNPDevice" />
|
||||
<description>
|
||||
Sets the device at [code]index[/code] from the list of discovered devices to [code]device[/code].
|
||||
Sets the device at [param index] from the list of discovered devices to [param device].
|
||||
</description>
|
||||
</method>
|
||||
</methods>
|
||||
|
||||
@@ -18,8 +18,8 @@
|
||||
<param index="1" name="peer_id" type="int" />
|
||||
<param index="2" name="unreliable_lifetime" type="int" default="1" />
|
||||
<description>
|
||||
Add a new peer to the mesh with the given [code]peer_id[/code]. The [WebRTCPeerConnection] must be in state [constant WebRTCPeerConnection.STATE_NEW].
|
||||
Three channels will be created for reliable, unreliable, and ordered transport. The value of [code]unreliable_lifetime[/code] will be passed to the [code]maxPacketLifetime[/code] option when creating unreliable and ordered channels (see [method WebRTCPeerConnection.create_data_channel]).
|
||||
Add a new peer to the mesh with the given [param peer_id]. The [WebRTCPeerConnection] must be in state [constant WebRTCPeerConnection.STATE_NEW].
|
||||
Three channels will be created for reliable, unreliable, and ordered transport. The value of [param unreliable_lifetime] will be passed to the [code]"maxPacketLifetime"[/code] option when creating unreliable and ordered channels (see [method WebRTCPeerConnection.create_data_channel]).
|
||||
</description>
|
||||
</method>
|
||||
<method name="create_client">
|
||||
@@ -27,8 +27,8 @@
|
||||
<param index="0" name="peer_id" type="int" />
|
||||
<param index="1" name="channels_config" type="Array" default="[]" />
|
||||
<description>
|
||||
Initialize the multiplayer peer as a client with the given [code]peer_id[/code] (must be between 2 and 2147483647). In this mode, you should only call [method add_peer] once and with [code]peer_id[/code] of [code]1[/code]. This mode enables [method MultiplayerPeer.is_server_relay_supported], allowing the upper [MultiplayerAPI] layer to perform peer exchange and packet relaying.
|
||||
You can optionally specify a [code]channels_config[/code] array of [enum MultiplayerPeer.TransferMode] which will be used to create extra channels (WebRTC only supports one transfer mode per channel).
|
||||
Initialize the multiplayer peer as a client with the given [param peer_id] (must be between 2 and 2147483647). In this mode, you should only call [method add_peer] once and with [param peer_id] of [code]1[/code]. This mode enables [method MultiplayerPeer.is_server_relay_supported], allowing the upper [MultiplayerAPI] layer to perform peer exchange and packet relaying.
|
||||
You can optionally specify a [param channels_config] array of [enum MultiplayerPeer.TransferMode] which will be used to create extra channels (WebRTC only supports one transfer mode per channel).
|
||||
</description>
|
||||
</method>
|
||||
<method name="create_mesh">
|
||||
@@ -36,7 +36,7 @@
|
||||
<param index="0" name="peer_id" type="int" />
|
||||
<param index="1" name="channels_config" type="Array" default="[]" />
|
||||
<description>
|
||||
Initialize the multiplayer peer as a mesh (i.e. all peers connect to each other) with the given [code]peer_id[/code] (must be between 1 and 2147483647).
|
||||
Initialize the multiplayer peer as a mesh (i.e. all peers connect to each other) with the given [param peer_id] (must be between 1 and 2147483647).
|
||||
</description>
|
||||
</method>
|
||||
<method name="create_server">
|
||||
@@ -44,14 +44,14 @@
|
||||
<param index="0" name="channels_config" type="Array" default="[]" />
|
||||
<description>
|
||||
Initialize the multiplayer peer as a server (with unique ID of [code]1[/code]). This mode enables [method MultiplayerPeer.is_server_relay_supported], allowing the upper [MultiplayerAPI] layer to perform peer exchange and packet relaying.
|
||||
You can optionally specify a [code]channels_config[/code] array of [enum MultiplayerPeer.TransferMode] which will be used to create extra channels (WebRTC only supports one transfer mode per channel).
|
||||
You can optionally specify a [param channels_config] array of [enum MultiplayerPeer.TransferMode] which will be used to create extra channels (WebRTC only supports one transfer mode per channel).
|
||||
</description>
|
||||
</method>
|
||||
<method name="get_peer">
|
||||
<return type="Dictionary" />
|
||||
<param index="0" name="peer_id" type="int" />
|
||||
<description>
|
||||
Returns a dictionary representation of the peer with given [code]peer_id[/code] with three keys. [code]connection[/code] containing the [WebRTCPeerConnection] to this peer, [code]channels[/code] an array of three [WebRTCDataChannel], and [code]connected[/code] a boolean representing if the peer connection is currently connected (all three channels are open).
|
||||
Returns a dictionary representation of the peer with given [param peer_id] with three keys. [code]"connection"[/code] containing the [WebRTCPeerConnection] to this peer, [code]"channels"[/code] an array of three [WebRTCDataChannel], and [code]"connected"[/code] a boolean representing if the peer connection is currently connected (all three channels are open).
|
||||
</description>
|
||||
</method>
|
||||
<method name="get_peers">
|
||||
@@ -64,14 +64,14 @@
|
||||
<return type="bool" />
|
||||
<param index="0" name="peer_id" type="int" />
|
||||
<description>
|
||||
Returns [code]true[/code] if the given [code]peer_id[/code] is in the peers map (it might not be connected though).
|
||||
Returns [code]true[/code] if the given [param peer_id] is in the peers map (it might not be connected though).
|
||||
</description>
|
||||
</method>
|
||||
<method name="remove_peer">
|
||||
<return type="void" />
|
||||
<param index="0" name="peer_id" type="int" />
|
||||
<description>
|
||||
Remove the peer with given [code]peer_id[/code] from the mesh. If the peer was connected, and [signal MultiplayerPeer.peer_connected] was emitted for it, then [signal MultiplayerPeer.peer_disconnected] will be emitted.
|
||||
Remove the peer with given [param peer_id] from the mesh. If the peer was connected, and [signal MultiplayerPeer.peer_connected] was emitted for it, then [signal MultiplayerPeer.peer_disconnected] will be emitted.
|
||||
</description>
|
||||
</method>
|
||||
</methods>
|
||||
|
||||
@@ -35,9 +35,9 @@
|
||||
<param index="0" name="label" type="String" />
|
||||
<param index="1" name="options" type="Dictionary" default="{}" />
|
||||
<description>
|
||||
Returns a new [WebRTCDataChannel] (or [code]null[/code] on failure) with given [code]label[/code] and optionally configured via the [code]options[/code] dictionary. This method can only be called when the connection is in state [constant STATE_NEW].
|
||||
There are two ways to create a working data channel: either call [method create_data_channel] on only one of the peer and listen to [signal data_channel_received] on the other, or call [method create_data_channel] on both peers, with the same values, and the [code]negotiated[/code] option set to [code]true[/code].
|
||||
Valid [code]options[/code] are:
|
||||
Returns a new [WebRTCDataChannel] (or [code]null[/code] on failure) with given [param label] and optionally configured via the [param options] dictionary. This method can only be called when the connection is in state [constant STATE_NEW].
|
||||
There are two ways to create a working data channel: either call [method create_data_channel] on only one of the peer and listen to [signal data_channel_received] on the other, or call [method create_data_channel] on both peers, with the same values, and the [code]"negotiated"[/code] option set to [code]true[/code].
|
||||
Valid [param options] are:
|
||||
[codeblock]
|
||||
{
|
||||
"negotiated": true, # When set to true (default off), means the channel is negotiated out of band. "id" must be set too. "data_channel_received" will not be called.
|
||||
@@ -83,8 +83,8 @@
|
||||
<return type="int" enum="Error" />
|
||||
<param index="0" name="configuration" type="Dictionary" default="{}" />
|
||||
<description>
|
||||
Re-initialize this peer connection, closing any previously active connection, and going back to state [constant STATE_NEW]. A dictionary of [code]options[/code] can be passed to configure the peer connection.
|
||||
Valid [code]options[/code] are:
|
||||
Re-initialize this peer connection, closing any previously active connection, and going back to state [constant STATE_NEW]. A dictionary of [param configuration] options can be passed to configure the peer connection.
|
||||
Valid [param configuration] options are:
|
||||
[codeblock]
|
||||
{
|
||||
"iceServers": [
|
||||
@@ -111,7 +111,7 @@
|
||||
<return type="void" />
|
||||
<param index="0" name="extension_class" type="StringName" />
|
||||
<description>
|
||||
Sets the [code]extension_class[/code] as the default [WebRTCPeerConnectionExtension] returned when creating a new [WebRTCPeerConnection].
|
||||
Sets the [param extension_class] as the default [WebRTCPeerConnectionExtension] returned when creating a new [WebRTCPeerConnection].
|
||||
</description>
|
||||
</method>
|
||||
<method name="set_local_description">
|
||||
@@ -129,8 +129,8 @@
|
||||
<param index="1" name="sdp" type="String" />
|
||||
<description>
|
||||
Sets the SDP description of the remote peer. This should be called with the values generated by a remote peer and received over the signaling server.
|
||||
If [code]type[/code] is [code]offer[/code] the peer will emit [signal session_description_created] with the appropriate answer.
|
||||
If [code]type[/code] is [code]answer[/code] the peer will start emitting [signal ice_candidate_created].
|
||||
If [param type] is [code]"offer"[/code] the peer will emit [signal session_description_created] with the appropriate answer.
|
||||
If [param type] is [code]"answer"[/code] the peer will start emitting [signal ice_candidate_created].
|
||||
</description>
|
||||
</method>
|
||||
</methods>
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
<return type="WebSocketPeer" />
|
||||
<param index="0" name="peer_id" type="int" />
|
||||
<description>
|
||||
Returns the [WebSocketPeer] associated to the given [code]peer_id[/code].
|
||||
Returns the [WebSocketPeer] associated to the given [param peer_id].
|
||||
</description>
|
||||
</method>
|
||||
<method name="get_peer_address" qualifiers="const">
|
||||
|
||||
@@ -61,7 +61,7 @@
|
||||
<param index="1" name="tls_client_options" type="TLSOptions" default="null" />
|
||||
<description>
|
||||
Connects to the given URL. TLS certificates will be verified against the hostname when connecting using the [code]wss://[/code] protocol. You can pass the optional [param tls_client_options] parameter to customize the trusted certification authorities, or disable the common name verification. See [method TLSOptions.client] and [method TLSOptions.client_unsafe].
|
||||
[b]Note:[/b] To avoid mixed content warnings or errors in Web, you may have to use a [code]url[/code] that starts with [code]wss://[/code] (secure) instead of [code]ws://[/code]. When doing so, make sure to use the fully qualified domain name that matches the one defined in the server's TLS certificate. Do not connect directly via the IP address for [code]wss://[/code] connections, as it won't match with the TLS certificate.
|
||||
[b]Note:[/b] To avoid mixed content warnings or errors in Web, you may have to use a [param url] that starts with [code]wss://[/code] (secure) instead of [code]ws://[/code]. When doing so, make sure to use the fully qualified domain name that matches the one defined in the server's TLS certificate. Do not connect directly via the IP address for [code]wss://[/code] connections, as it won't match with the TLS certificate.
|
||||
</description>
|
||||
</method>
|
||||
<method name="get_close_code" qualifiers="const">
|
||||
|
||||
@@ -97,7 +97,7 @@
|
||||
<return type="int" enum="WebXRInterface.TargetRayMode" />
|
||||
<param index="0" name="input_source_id" type="int" />
|
||||
<description>
|
||||
Returns the target ray mode for the given [code]input_source_id[/code].
|
||||
Returns the target ray mode for the given [param input_source_id].
|
||||
This can help interpret the input coming from that input source. See [url=https://developer.mozilla.org/en-US/docs/Web/API/XRInputSource/targetRayMode]XRInputSource.targetRayMode[/url] for more information.
|
||||
</description>
|
||||
</method>
|
||||
@@ -105,7 +105,7 @@
|
||||
<return type="XRPositionalTracker" />
|
||||
<param index="0" name="input_source_id" type="int" />
|
||||
<description>
|
||||
Gets an [XRPositionalTracker] for the given [code]input_source_id[/code].
|
||||
Gets an [XRPositionalTracker] for the given [param input_source_id].
|
||||
In the context of WebXR, an input source can be an advanced VR controller like the Oculus Touch or Index controllers, or even a tap on the screen, a spoken voice command or a button press on the device itself. When a non-traditional input source is used, interpret the position and orientation of the [XRPositionalTracker] as a ray pointing at the object the user wishes to interact with.
|
||||
Use this method to get information about the input source that triggered one of these signals:
|
||||
- [signal selectstart]
|
||||
@@ -120,14 +120,14 @@
|
||||
<return type="bool" />
|
||||
<param index="0" name="input_source_id" type="int" />
|
||||
<description>
|
||||
Returns [code]true[/code] if there is an active input source with the given [code]input_source_id[/code].
|
||||
Returns [code]true[/code] if there is an active input source with the given [param input_source_id].
|
||||
</description>
|
||||
</method>
|
||||
<method name="is_session_supported">
|
||||
<return type="void" />
|
||||
<param index="0" name="session_mode" type="String" />
|
||||
<description>
|
||||
Checks if the given [code]session_mode[/code] is supported by the user's browser.
|
||||
Checks if the given [param session_mode] is supported by the user's browser.
|
||||
Possible values come from [url=https://developer.mozilla.org/en-US/docs/Web/API/XRSessionMode]WebXR's XRSessionMode[/url], including: [code]"immersive-vr"[/code], [code]"immersive-ar"[/code], and [code]"inline"[/code].
|
||||
This method returns nothing, instead it emits the [signal session_supported] signal with the result.
|
||||
</description>
|
||||
@@ -205,7 +205,7 @@
|
||||
<param index="0" name="message" type="String" />
|
||||
<description>
|
||||
Emitted by [method XRInterface.initialize] if the session fails to start.
|
||||
[code]message[/code] may optionally contain an error message from WebXR, or an empty string if no message is available.
|
||||
[param message] may optionally contain an error message from WebXR, or an empty string if no message is available.
|
||||
</description>
|
||||
</signal>
|
||||
<signal name="session_started">
|
||||
@@ -218,7 +218,7 @@
|
||||
<param index="0" name="session_mode" type="String" />
|
||||
<param index="1" name="supported" type="bool" />
|
||||
<description>
|
||||
Emitted by [method is_session_supported] to indicate if the given [code]session_mode[/code] is supported or not.
|
||||
Emitted by [method is_session_supported] to indicate if the given [param session_mode] is supported or not.
|
||||
</description>
|
||||
</signal>
|
||||
<signal name="squeeze">
|
||||
|
||||
Reference in New Issue
Block a user