summaryrefslogtreecommitdiff
path: root/doc/classes/MultiplayerPeerExtension.xml
blob: f837171e2f8494dc2e611138bf8af06dbf6706fc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
<?xml version="1.0" encoding="UTF-8" ?>
<class name="MultiplayerPeerExtension" inherits="MultiplayerPeer" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
	<brief_description>
		Class that can be inherited to implement custom multiplayer API networking layers via GDExtension.
	</brief_description>
	<description>
		This class is designed to be inherited from a GDExtension plugin to implement custom networking layers for the multiplayer API (such as WebRTC). All the methods below [b]must[/b] be implemented to have a working custom multiplayer implementation. See also [MultiplayerAPI].
	</description>
	<tutorials>
	</tutorials>
	<methods>
		<method name="_get_available_packet_count" qualifiers="virtual const">
			<return type="int" />
			<description>
				Called when the available packet count is internally requested by the [MultiplayerAPI].
			</description>
		</method>
		<method name="_get_connection_status" qualifiers="virtual const">
			<return type="int" />
			<description>
				Called when the connection status is requested on the [MultiplayerPeer] (see [method MultiplayerPeer.get_connection_status]).
			</description>
		</method>
		<method name="_get_max_packet_size" qualifiers="virtual const">
			<return type="int" />
			<description>
				Called when the maximum allowed packet size (in bytes) is requested by the [MultiplayerAPI].
			</description>
		</method>
		<method name="_get_packet" qualifiers="virtual">
			<return type="int" />
			<argument index="0" name="r_buffer" type="const uint8_t **" />
			<argument index="1" name="r_buffer_size" type="int32_t*" />
			<description>
				Called when a packet needs to be received by the [MultiplayerAPI], with [code]p_buffer_size[/code] being the size of the binary [code]p_buffer[/code] in bytes.
			</description>
		</method>
		<method name="_get_packet_peer" qualifiers="virtual const">
			<return type="int" />
			<description>
				Called when the ID of the [MultiplayerPeer] who sent the most recent packet is requested (see [method MultiplayerPeer.get_packet_peer]).
			</description>
		</method>
		<method name="_get_packet_script" qualifiers="virtual">
			<return type="PackedByteArray" />
			<description>
				Called when a packet needs to be received by the [MultiplayerAPI], if [method _get_packet] isn't implemented. Use this when extending this class via GDScript.
			</description>
		</method>
		<method name="_get_transfer_channel" qualifiers="virtual const">
			<return type="int" />
			<description>
				Called when the transfer channel to use is read on this [MultiplayerPeer] (see [member MultiplayerPeer.transfer_channel]).
			</description>
		</method>
		<method name="_get_transfer_mode" qualifiers="virtual const">
			<return type="int" />
			<description>
				Called when the transfer mode to use is read on this [MultiplayerPeer] (see [member MultiplayerPeer.transfer_mode]).
			</description>
		</method>
		<method name="_get_unique_id" qualifiers="virtual const">
			<return type="int" />
			<description>
				Called when the unique ID of this [MultiplayerPeer] is requested (see [method MultiplayerPeer.get_unique_id]).
			</description>
		</method>
		<method name="_is_refusing_new_connections" qualifiers="virtual const">
			<return type="bool" />
			<description>
				Called when the "refuse new connections" status is requested on this [MultiplayerPeer] (see [member MultiplayerPeer.refuse_new_connections]).
			</description>
		</method>
		<method name="_is_server" qualifiers="virtual const">
			<return type="bool" />
			<description>
				Called when the "is server" status is requested on the [MultiplayerAPI]. See [method MultiplayerAPI.is_server].
			</description>
		</method>
		<method name="_poll" qualifiers="virtual">
			<return type="int" />
			<description>
				Called when the [MultiplayerAPI] is polled. See [method MultiplayerAPI.poll].
			</description>
		</method>
		<method name="_put_packet" qualifiers="virtual">
			<return type="int" />
			<argument index="0" name="p_buffer" type="const uint8_t*" />
			<argument index="1" name="p_buffer_size" type="int" />
			<description>
				Called when a packet needs to be sent by the [MultiplayerAPI], with [code]p_buffer_size[/code] being the size of the binary [code]p_buffer[/code] in bytes.
			</description>
		</method>
		<method name="_put_packet_script" qualifiers="virtual">
			<return type="int" />
			<argument index="0" name="p_buffer" type="PackedByteArray" />
			<description>
				Called when a packet needs to be sent by the [MultiplayerAPI], if [method _put_packet] isn't implemented. Use this when extending this class via GDScript.
			</description>
		</method>
		<method name="_set_refuse_new_connections" qualifiers="virtual">
			<return type="void" />
			<argument index="0" name="p_enable" type="bool" />
			<description>
				Called when the "refuse new connections" status is set on this [MultiplayerPeer] (see [member MultiplayerPeer.refuse_new_connections]).
			</description>
		</method>
		<method name="_set_target_peer" qualifiers="virtual">
			<return type="void" />
			<argument index="0" name="p_peer" type="int" />
			<description>
				Called when the target peer to use is set for this [MultiplayerPeer] (see [method MultiplayerPeer.set_target_peer]).
			</description>
		</method>
		<method name="_set_transfer_channel" qualifiers="virtual">
			<return type="void" />
			<argument index="0" name="p_channel" type="int" />
			<description>
				Called when the channel to use is set for this [MultiplayerPeer] (see [member MultiplayerPeer.transfer_channel]).
			</description>
		</method>
		<method name="_set_transfer_mode" qualifiers="virtual">
			<return type="void" />
			<argument index="0" name="p_mode" type="int" />
			<description>
				Called when the transfer mode is set on this [MultiplayerPeer] (see [member MultiplayerPeer.transfer_mode]).
			</description>
		</method>
	</methods>
</class>