WebRTCMultiplayer

Inherits: NetworkedMultiplayerPeer < PacketPeer < Reference < Object

类别: 核心

简要说明

一个简单的接口,用于创建由 WebRTCPeerConnection 这与 MultiplayerAPI .

方法

Error

add_peer ( WebRTCPeerConnection peer, int peer_id, int unreliable_lifetime=1 )

无效

close ( )

Dictionary

get_peer ( int peer_id )

Dictionary

get_peers ( )

bool

has_peer ( int peer_id )

Error

initialize ( int peer_id, bool server_compatibility=false )

无效

remove_peer ( int peer_id )

描述

此类构造的完整网格 WebRTCPeerConnection (每个对等机一个连接)可以用作 MultiplayerAPI.network_peer .

您可以添加每个 WebRTCPeerConnection 通过 add_peer 或者通过移除它们 remove_peer . 必须添加对等方 WebRTCPeerConnection.STATE_NEW 状态以允许它创建适当的通道。这个类既不创建提供也不设置描述,它只轮询它们,并通知连接和断开连接。

NetworkedMultiplayerPeer.connection_succeededNetworkedMultiplayerPeer.server_disconnected 除非 server_compatibilitytrue 在里面 initialize . 除此之外,数据传输的工作方式与 NetworkedMultiplayerPeer .

方法说明

使用给定的 peer_id . 这个 WebRTCPeerConnection 必须处于状态 WebRTCPeerConnection.STATE_NEW .

将为可靠、不可靠和有序的运输创建三个通道。价值 unreliable_lifetime 将传递给 maxPacketLifetime 创建不可靠和有序通道时的选项(请参见 WebRTCPeerConnection.create_data_channel

  • void close ( )

关闭所有添加对等连接和通道,释放所有资源。

返回具有给定值的对等方的字典表示形式 peer_id 有三把钥匙。 connection 包含 WebRTCPeerConnection 对这个同龄人来说, channels 三个数组 WebRTCDataChannelconnected 一个布尔值,表示对等连接当前是否已连接(所有三个通道都已打开)。

返回一个字典,其中键是对等ID,并将对等表示的值设置为 get_peer

返回 true 如果给定 peer_id 在对等映射中(但可能没有连接)。

  • Error initialize ( int peer_id, bool server_compatibility=false )

用给定的初始化多人对等机 peer_id (必须介于1和2147483647之间)。

如果 server_compatibiltyfalse (默认),多人对等机将立即处于状态 NetworkedMultiplayerPeer.CONNECTION_CONNECTEDNetworkedMultiplayerPeer.connection_succeeded 不会发射。

如果 server_compatibiltytrue 对等方将禁止所有 NetworkedMultiplayerPeer.peer_connected 向具有ID的对等机发送信号 NetworkedMultiplayerPeer.TARGET_PEER_SERVER 连接然后发射 NetworkedMultiplayerPeer.connection_succeeded . 在那之后,信号 NetworkedMultiplayerPeer.peer_connected 将为每个已连接的对等机以及任何可能连接的新对等机发出。如果服务器对等端在此之后断开连接,则发出信号 NetworkedMultiplayerPeer.server_disconnected 将被发射,状态将变为 NetworkedMultiplayerPeer.CONNECTION_CONNECTED .

  • void remove_peer ( int peer_id )

删除给定的对等项 peer_id 从网格中。如果对等机已连接,并且 NetworkedMultiplayerPeer.peer_connected 是为它而发射的,然后 NetworkedMultiplayerPeer.peer_disconnected 将被发射。