GFNetworkLobbyService¶
API Reference / Network / 类索引
- 路径:
addons/gf/extensions/network/session/gf_network_lobby_service.gd - 模块:
Network - 继承:
GFUtility - API:
public - 类别:运行时服务 (
runtime_service) - 首次版本:
8.0.0
平台中立 lobby 协调服务。 该服务只管理 backend 请求、当前 lobby 快照和信号转发。Steam、微信、LAN 或自建服务 的具体 API 必须由外部或可选 adapter 通过 GFNetworkLobbyBackend 实现。
成员概览¶
| 类型 | 名称 | 签名 |
|---|---|---|
| 信号 | lobby_created |
signal lobby_created(result: GFNetworkLobbyJoinResult) |
| 信号 | lobbies_queried |
signal lobbies_queried(lobbies: Array[GFNetworkLobbyDescriptor], metadata: Dictionary) |
| 信号 | lobby_joined |
signal lobby_joined(result: GFNetworkLobbyJoinResult) |
| 信号 | lobby_left |
signal lobby_left(lobby_id: String, reason: String) |
| 信号 | lobby_updated |
signal lobby_updated(lobby: GFNetworkLobbyDescriptor) |
| 信号 | member_joined |
signal member_joined(lobby_id: String, member: GFNetworkLobbyMember) |
| 信号 | member_left |
signal member_left(lobby_id: String, peer_id: int, reason: String) |
| 信号 | invite_received |
signal invite_received(invite: GFNetworkLobbyInvite) |
| 信号 | backend_error |
signal backend_error(operation: StringName, error: StringName, details: Dictionary) |
| 属性 | backend |
var backend: GFNetworkLobbyBackend = null |
| 属性 | current_lobby |
var current_lobby: GFNetworkLobbyDescriptor = null |
| 方法 | tick |
func tick(delta: float) -> void: |
| 方法 | dispose |
func dispose() -> void: |
| 方法 | set_backend |
func set_backend(next_backend: GFNetworkLobbyBackend) -> void: |
| 方法 | create_lobby |
func create_lobby(options: Dictionary = {}) -> Dictionary: |
| 方法 | query_lobbies |
func query_lobbies(query: GFNetworkLobbyQuery = null, options: Dictionary = {}) -> Dictionary: |
| 方法 | join_lobby |
func join_lobby(lobby_id: String, options: Dictionary = {}) -> Dictionary: |
| 方法 | leave_lobby |
func leave_lobby(lobby_id: String = "", options: Dictionary = {}) -> Dictionary: |
| 方法 | set_lobby_metadata |
func set_lobby_metadata( metadata_patch: Dictionary, lobby_id: String = "", options: Dictionary = {} ) -> Dictionary: |
| 方法 | set_member_metadata |
func set_member_metadata( peer_id: int, metadata_patch: Dictionary, lobby_id: String = "", options: Dictionary = {} ) -> Dictionary: |
| 方法 | get_lobby |
func get_lobby(lobby_id: String) -> GFNetworkLobbyDescriptor: |
| 方法 | get_lobbies |
func get_lobbies() -> Array[GFNetworkLobbyDescriptor]: |
| 方法 | get_debug_snapshot |
func get_debug_snapshot() -> Dictionary: |
信号¶
lobby_created¶
- API:
public - 首次版本:
8.0.0
Lobby 创建完成后发出。
参数:
| 名称 | 说明 |
|---|---|
result |
创建结果。 |
lobbies_queried¶
- API:
public - 首次版本:
8.0.0
Lobby 查询完成后发出。
参数:
| 名称 | 说明 |
|---|---|
lobbies |
Lobby 快照列表。 |
metadata |
查询元数据。 |
结构:
lobbies: Array[GFNetworkLobbyDescriptor] lobby snapshots.metadata: Dictionary query metadata.
lobby_joined¶
- API:
public - 首次版本:
8.0.0
Lobby 加入完成后发出。
参数:
| 名称 | 说明 |
|---|---|
result |
加入结果。 |
lobby_left¶
- API:
public - 首次版本:
8.0.0
离开 lobby 后发出。
参数:
| 名称 | 说明 |
|---|---|
lobby_id |
Lobby ID。 |
reason |
离开原因。 |
lobby_updated¶
- API:
public - 首次版本:
8.0.0
Lobby 快照更新后发出。
参数:
| 名称 | 说明 |
|---|---|
lobby |
Lobby 快照。 |
member_joined¶
- API:
public - 首次版本:
8.0.0
成员加入后发出。
参数:
| 名称 | 说明 |
|---|---|
lobby_id |
Lobby ID。 |
member |
成员快照。 |
member_left¶
- API:
public - 首次版本:
8.0.0
成员离开后发出。
参数:
| 名称 | 说明 |
|---|---|
lobby_id |
Lobby ID。 |
peer_id |
成员 peer 标识。 |
reason |
离开原因。 |
invite_received¶
- API:
public - 首次版本:
8.0.0
收到 lobby 邀请后发出。
参数:
| 名称 | 说明 |
|---|---|
invite |
邀请事件。 |
backend_error¶
- API:
public - 首次版本:
8.0.0
后端操作失败后发出。
参数:
| 名称 | 说明 |
|---|---|
operation |
操作标识。 |
error |
错误标识。 |
details |
错误详情。 |
结构:
details: Dictionary backend-defined error metadata.
属性¶
backend¶
- API:
public - 首次版本:
8.0.0
当前 lobby 后端。
current_lobby¶
- API:
public - 首次版本:
8.0.0
当前已加入 lobby。未加入时为 null。
方法¶
tick¶
- API:
public - 首次版本:
8.0.0
推进 lobby 后端轮询。
参数:
| 名称 | 说明 |
|---|---|
delta |
本帧时间增量(秒)。 |
dispose¶
- API:
public - 首次版本:
8.0.0
关闭后端并清理 lobby 快照。
set_backend¶
- API:
public - 首次版本:
8.0.0
设置 lobby 后端。
参数:
| 名称 | 说明 |
|---|---|
next_backend |
新后端。 |
create_lobby¶
- API:
public - 首次版本:
8.0.0
创建 lobby。
参数:
| 名称 | 说明 |
|---|---|
options |
后端选项。 |
返回:请求报告。
结构:
options: Dictionary backend-defined create options.return: Dictionary with ok, status, operation, request_id, and error.
query_lobbies¶
- API:
public - 首次版本:
8.0.0
查询 lobby。
参数:
| 名称 | 说明 |
|---|---|
query |
查询条件。 |
options |
后端选项。 |
返回:请求报告。
结构:
options: Dictionary backend-defined query options.return: Dictionary with ok, status, operation, request_id, and error.
join_lobby¶
- API:
public - 首次版本:
8.0.0
加入 lobby。
参数:
| 名称 | 说明 |
|---|---|
lobby_id |
Lobby ID。 |
options |
后端选项。 |
返回:请求报告。
结构:
options: Dictionary backend-defined join options.return: Dictionary with ok, status, operation, request_id, and error.
leave_lobby¶
- API:
public - 首次版本:
8.0.0
离开 lobby。
参数:
| 名称 | 说明 |
|---|---|
lobby_id |
Lobby ID;为空时使用 current_lobby。 |
options |
后端选项。 |
返回:请求报告。
结构:
options: Dictionary backend-defined leave options.return: Dictionary with ok, status, operation, request_id, and error.
set_lobby_metadata¶
- API:
public - 首次版本:
8.0.0
func set_lobby_metadata( metadata_patch: Dictionary, lobby_id: String = "", options: Dictionary = {} ) -> Dictionary:
设置当前或指定 lobby metadata。
参数:
| 名称 | 说明 |
|---|---|
metadata_patch |
Metadata 更新。 |
lobby_id |
Lobby ID;为空时使用 current_lobby。 |
options |
后端选项。 |
返回:请求报告。
结构:
metadata_patch: Dictionary lobby metadata patch.options: Dictionary backend-defined metadata options.return: Dictionary with ok, status, operation, request_id, and error.
set_member_metadata¶
- API:
public - 首次版本:
8.0.0
func set_member_metadata( peer_id: int, metadata_patch: Dictionary, lobby_id: String = "", options: Dictionary = {} ) -> Dictionary:
设置当前或指定 lobby 的成员 metadata。
参数:
| 名称 | 说明 |
|---|---|
peer_id |
成员 peer 标识。 |
metadata_patch |
Metadata 更新。 |
lobby_id |
Lobby ID;为空时使用 current_lobby。 |
options |
后端选项。 |
返回:请求报告。
结构:
metadata_patch: Dictionary member metadata patch.options: Dictionary backend-defined metadata options.return: Dictionary with ok, status, operation, request_id, and error.
get_lobby¶
- API:
public - 首次版本:
8.0.0
获取已知 lobby。
参数:
| 名称 | 说明 |
|---|---|
lobby_id |
Lobby ID。 |
返回:Lobby 快照;不存在时返回 null。
get_lobbies¶
- API:
public - 首次版本:
8.0.0
获取全部已知 lobby 快照。
返回:Lobby 快照列表。
结构:
return: Array[GFNetworkLobbyDescriptor] known lobby snapshots.
get_debug_snapshot¶
- API:
public - 首次版本:
8.0.0
获取调试快照。
返回:调试快照。
结构:
return: Dictionary with backend_configured, backend, current_lobby, and known_lobby_count.