WebRTCMultiplayer

Inherits: NetworkedMultiplayerPeer < PacketPeer < Reference < Object

简单的接口,用于创建由WebRTCPeerConnection组成的点对点网状网络,与MultiplayerAPI兼容。

描述

这个类构建了一个完整的WebRTCPeerConnection网状结构(每个对等体有一个连接),可以作为MultiplayerAPI.network_peer使用。

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

除非在initializeserver_compatibilitytrue,否则NetworkedMultiplayerPeer.connection_succeededNetworkedMultiplayerPeer.server_disconnected将不会被触发。除此之外,数据传输的工作方式类似于 NetworkedMultiplayerPeer

属性

bool

refuse_new_connections

false (overrides NetworkedMultiplayerPeer)

TransferMode

transfer_mode

2 (overrides NetworkedMultiplayerPeer)

方法

Error

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

void

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 )

void

remove_peer ( int peer_id )

方法说明

以给定的peer_id添加一个新的对等体到网状结构。该WebRTCPeerConnection必须处于WebRTCPeerConnection.STATE_NEW状态。

将为可靠的、不可靠的和有序的传输创建三个通道。在创建不可靠和有序通道时,unreliable_lifetime的值将被传递给maxPacketLifetime选项,参阅WebRTCPeerConnection.create_data_channel


  • void close ( )

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


返回一个具有给定peer_id的对等体的字典表示,有三个键。connection包含到这个对等体的WebRTCPeerConnectionchannels三个WebRTCDataChannel的数组,以及connected一个布尔值,表示对等体连接是否当前已连接,注,所有三个通道都打开。


返回一个字典,其键是对等体的id,其值是对等体的表示,如get_peer


如果给定的peer_id在对等体映射中,则返回true,尽管它可能没有连接。


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

用给定的peer_id(必须在1和2147483647之间)初始化多人游戏对等体。

如果server_compatibiltyfalse(默认),多人对等体将立即处于NetworkedMultiplayerPeer.CONNECTION_CONNECTED状态,NetworkedMultiplayerPeer.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将被发出。