Jelajahi Sumber

Fix and improve docs, adds send_bytes

Fabio Alessandrelli 7 tahun lalu
induk
melakukan
0ad07a823c

+ 23 - 3
doc/classes/MultiplayerAPI.xml

@@ -61,10 +61,21 @@
 			</return>
 			</return>
 			<description>
 			<description>
 				Method used for polling the MultiplayerAPI.
 				Method used for polling the MultiplayerAPI.
-				You only need to worry about this if you are using [memeber Node.custom_multplayer] override.
+				You only need to worry about this if you are using [member Node.custom_multplayer] override.
 				SceneTree will poll the default MultiplayerAPI for you.
 				SceneTree will poll the default MultiplayerAPI for you.
 			</description>
 			</description>
 		</method>
 		</method>
+		<method name="send_bytes">
+			<return type="int" enum="Error">
+			</return>
+			<argument index="0" name="bytes" type="PoolByteArray">
+			</argument>
+			<argument index="1" name="id" type="int" default="0">
+			</argument>
+			<description>
+				Sends the given raw [code]bytes[/code] to a specific peer identified by [code]id[/code] (see [method NetworkedMultiplayerPeer.set_target_peer]). Default ID is [code]0[/code], i.e. broadcast to all peers.
+			</description>
+		</method>
 		<method name="set_root_node">
 		<method name="set_root_node">
 			<return type="void">
 			<return type="void">
 			</return>
 			</return>
@@ -78,7 +89,7 @@
 	</methods>
 	</methods>
 	<members>
 	<members>
 		<member name="network_peer" type="NetworkedMultiplayerPeer" setter="set_network_peer" getter="get_network_peer">
 		<member name="network_peer" type="NetworkedMultiplayerPeer" setter="set_network_peer" getter="get_network_peer">
-			The peer object to handle the RPC system (effectively enabling networking when set). Depending on the peer itself, the MultiplayerAPI will become a network server (check with [method is_network_server()]) and will set root node's network mode to master (see NETWORK_MODE_* constants in [Node]), or it will become a regular peer with root node set to slave. All child nodes are set to inherit the network mode by default. Handling of networking-related events (connection, disconnection, new clients) is done by connecting to MultiplayerAPI's signals.
+			The peer object to handle the RPC system (effectively enabling networking when set). Depending on the peer itself, the MultiplayerAPI will become a network server (check with [method is_network_server]) and will set root node's network mode to master (see NETWORK_MODE_* constants in [Node]), or it will become a regular peer with root node set to slave. All child nodes are set to inherit the network mode by default. Handling of networking-related events (connection, disconnection, new clients) is done by connecting to MultiplayerAPI's signals.
 		</member>
 		</member>
 		<member name="refuse_new_network_connections" type="bool" setter="set_refuse_new_network_connections" getter="is_refusing_new_network_connections">
 		<member name="refuse_new_network_connections" type="bool" setter="set_refuse_new_network_connections" getter="is_refusing_new_network_connections">
 			If [code]true[/code] the MultiplayerAPI's [member network_peer] refuses new incoming connections.
 			If [code]true[/code] the MultiplayerAPI's [member network_peer] refuses new incoming connections.
@@ -109,9 +120,18 @@
 				Emitted whenever this MultiplayerAPI's [member network_peer] disconnects from a peer. Clients get notified when other clients disconnect from the same server.
 				Emitted whenever this MultiplayerAPI's [member network_peer] disconnects from a peer. Clients get notified when other clients disconnect from the same server.
 			</description>
 			</description>
 		</signal>
 		</signal>
+		<signal name="network_peer_packet">
+			<argument index="0" name="id" type="int">
+			</argument>
+			<argument index="1" name="packet" type="PoolByteArray">
+			</argument>
+			<description>
+				Emitted whenever this MultiplayerAPI's [member network_peer] receive a [code]packet[/code] with custom data (see [method send_bytes]). ID is the peer ID of the peer that sent the packet.
+			</description>
+		</signal>
 		<signal name="server_disconnected">
 		<signal name="server_disconnected">
 			<description>
 			<description>
-				Emitted whenever this MultiplayerAPI's [member network_peer] disconnected from server. Only emitted on clients.
+				Emitted whenever this MultiplayerAPI's [member network_peer] disconnects from server. Only emitted on clients.
 			</description>
 			</description>
 		</signal>
 		</signal>
 	</signals>
 	</signals>

+ 2 - 1
doc/classes/NetworkedMultiplayerPeer.xml

@@ -46,7 +46,8 @@
 			<argument index="0" name="id" type="int">
 			<argument index="0" name="id" type="int">
 			</argument>
 			</argument>
 			<description>
 			<description>
-				The peer to which packets will be sent. Default value: [code]0[/code].
+				Sets the peer to which packets will be sent.
+				The [code]id[/code] can be one of: [code]TARGET_PEER_BROADCAST[/code] to send to all connected peers, [code]TARGET_PEER_SERVER[/code] to send to the peer acting as server, a valid peer ID to send to that specific peer, a negative peer ID to send to all peers except that one. Default: [code]TARGET_PEER_BROADCAST[/code]
 			</description>
 			</description>
 		</method>
 		</method>
 	</methods>
 	</methods>

+ 6 - 6
doc/classes/Node.xml

@@ -586,7 +586,7 @@
 			<argument index="1" name="method" type="String">
 			<argument index="1" name="method" type="String">
 			</argument>
 			</argument>
 			<description>
 			<description>
-				Sends a [method rpc] to a specific peer identified by [code]peer_id[/code]. Returns an empty [Variant].
+				Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] (see [method NetworkedMultiplayerPeer.set_target_peer]). Returns an empty [Variant].
 			</description>
 			</description>
 		</method>
 		</method>
 		<method name="rpc_unreliable" qualifiers="vararg">
 		<method name="rpc_unreliable" qualifiers="vararg">
@@ -606,7 +606,7 @@
 			<argument index="1" name="method" type="String">
 			<argument index="1" name="method" type="String">
 			</argument>
 			</argument>
 			<description>
 			<description>
-				Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] using an unreliable protocol. Returns an empty [Variant].
+				Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] using an unreliable protocol (see [method NetworkedMultiplayerPeer.set_target_peer]). Returns an empty [Variant].
 			</description>
 			</description>
 		</method>
 		</method>
 		<method name="rset">
 		<method name="rset">
@@ -641,7 +641,7 @@
 			<argument index="2" name="value" type="Variant">
 			<argument index="2" name="value" type="Variant">
 			</argument>
 			</argument>
 			<description>
 			<description>
-				Remotely changes the property's value on a specific peer identified by [code]peer_id[/code].
+				Remotely changes the property's value on a specific peer identified by [code]peer_id[/code] (see [method NetworkedMultiplayerPeer.set_target_peer]).
 			</description>
 			</description>
 		</method>
 		</method>
 		<method name="rset_unreliable">
 		<method name="rset_unreliable">
@@ -665,7 +665,7 @@
 			<argument index="2" name="value" type="Variant">
 			<argument index="2" name="value" type="Variant">
 			</argument>
 			</argument>
 			<description>
 			<description>
-				Remotely changes property's value on a specific peer identified by [code]peer_id[/code] using an unreliable protocol.
+				Remotely changes property's value on a specific peer identified by [code]peer_id[/code] using an unreliable protocol (see [method NetworkedMultiplayerPeer.set_target_peer]).
 			</description>
 			</description>
 		</method>
 		</method>
 		<method name="set_display_folded">
 		<method name="set_display_folded">
@@ -703,7 +703,7 @@
 			<argument index="0" name="enable" type="bool">
 			<argument index="0" name="enable" type="bool">
 			</argument>
 			</argument>
 			<description>
 			<description>
-				Enables or disables internal physics for this node. Internal physics processing happens in isolation from the normal [method]_physics_process[/code] calls and is used by some nodes internally to guarantee proper functioning even if the node is paused or physics processing is disabled for scripting ([method set_physics_process]). Only useful for advanced uses to manipulate built-in nodes behaviour.
+				Enables or disables internal physics for this node. Internal physics processing happens in isolation from the normal [method _physics_process] calls and is used by some nodes internally to guarantee proper functioning even if the node is paused or physics processing is disabled for scripting ([method set_physics_process]). Only useful for advanced uses to manipulate built-in nodes behaviour.
 			</description>
 			</description>
 		</method>
 		</method>
 		<method name="set_process">
 		<method name="set_process">
@@ -730,7 +730,7 @@
 			<argument index="0" name="enable" type="bool">
 			<argument index="0" name="enable" type="bool">
 			</argument>
 			</argument>
 			<description>
 			<description>
-				Enables or disabled internal processing for this node. Internal processing happens in isolation from the normal [method]_process[/code] calls and is used by some nodes internally to guarantee proper functioning even if the node is paused or processing is disabled for scripting ([method set_process]). Only useful for advanced uses to manipulate built-in nodes behaviour.
+				Enables or disabled internal processing for this node. Internal processing happens in isolation from the normal [method _process] calls and is used by some nodes internally to guarantee proper functioning even if the node is paused or processing is disabled for scripting ([method set_process]). Only useful for advanced uses to manipulate built-in nodes behaviour.
 			</description>
 			</description>
 		</method>
 		</method>
 		<method name="set_process_unhandled_input">
 		<method name="set_process_unhandled_input">