跳转至

GFNetworkLobbyOperationResult

API Reference / Network / 类索引

  • 路径:addons/gf/extensions/network/session/gf_network_lobby_operation_result.gd
  • 模块:Network
  • 继承:RefCounted
  • API:public
  • 类别:值对象 (value_object)
  • 首次版本:unreleased

Lobby 操作终态结果。 通过 request_id 和 operation 将 SDK 回调关联到唯一请求,并统一承载单个 Lobby、 查询列表、失败状态与耗时。结果是不可回写到 Handle 的深拷贝快照。

成员概览

类型 名称 签名
属性 request_id var request_id: StringName = &""
属性 operation var operation: StringName = &""
属性 ok var ok: bool = false
属性 status var status: StringName = &""
属性 lobby_id var lobby_id: String = ""
属性 lobby var lobby: GFNetworkLobbyDescriptor = null
属性 lobbies var lobbies: Array[GFNetworkLobbyDescriptor] = []
属性 error var error: StringName = &""
属性 message var message: String = ""
属性 started_at_msec var started_at_msec: int = -1
属性 completed_at_msec var completed_at_msec: int = -1
属性 metadata var metadata: Dictionary = {}
方法 configure_success func configure_success( request: GFNetworkLobbyOperationRequest, options: Dictionary = {} ) -> GFNetworkLobbyOperationResult:
方法 configure_failure func configure_failure( request: GFNetworkLobbyOperationRequest, p_error: StringName, p_message: String = "", options: Dictionary = {} ) -> GFNetworkLobbyOperationResult:
方法 get_duration_msec func get_duration_msec() -> int:
方法 is_valid func is_valid() -> bool:
方法 matches_request func matches_request(request: GFNetworkLobbyOperationRequest) -> bool:
方法 to_dict func to_dict() -> Dictionary:
方法 apply_dict func apply_dict(data: Dictionary) -> void:
方法 duplicate_result func duplicate_result() -> GFNetworkLobbyOperationResult:
方法 from_dict static func from_dict(data: Dictionary) -> GFNetworkLobbyOperationResult:

属性

request_id

  • API:public
  • 首次版本:unreleased
var request_id: StringName = &""

请求 ID。

operation

  • API:public
  • 首次版本:unreleased
var operation: StringName = &""

操作类型。

ok

  • API:public
  • 首次版本:unreleased
var ok: bool = false

操作是否成功。

status

  • API:public
  • 首次版本:unreleased
var status: StringName = &""

稳定终态状态。

lobby_id

  • API:public
  • 首次版本:unreleased
var lobby_id: String = ""

相关 Lobby ID。

lobby

  • API:public
  • 首次版本:unreleased
var lobby: GFNetworkLobbyDescriptor = null

单个 Lobby 快照。

lobbies

  • API:public
  • 首次版本:unreleased
var lobbies: Array[GFNetworkLobbyDescriptor] = []

查询操作返回的 Lobby 快照列表。

结构:

  • lobbies: Array[GFNetworkLobbyDescriptor] queried lobby snapshots.

error

  • API:public
  • 首次版本:unreleased
var error: StringName = &""

失败原因标识。

message

  • API:public
  • 首次版本:unreleased
var message: String = ""

人读说明。

started_at_msec

  • API:public
  • 首次版本:unreleased
var started_at_msec: int = -1

开始单调时间戳,单位毫秒;-1 表示未知。

completed_at_msec

  • API:public
  • 首次版本:unreleased
var completed_at_msec: int = -1

完成单调时间戳,单位毫秒;-1 表示未知。

metadata

  • API:public
  • 首次版本:unreleased
var metadata: Dictionary = {}

调用方或 Adapter 结果元数据。

结构:

  • metadata: Dictionary caller-defined result metadata.

方法

configure_success

  • API:public
  • 首次版本:unreleased
func configure_success( request: GFNetworkLobbyOperationRequest, options: Dictionary = {} ) -> GFNetworkLobbyOperationResult:

配置成功结果。

参数:

名称 说明
request 对应请求。
options 可包含 status、lobby、lobbies、lobby_id、started_at_msec、completed_at_msec 和 metadata。

返回:当前结果。

结构:

  • options: Dictionary successful lobby result fields.

configure_failure

  • API:public
  • 首次版本:unreleased
func configure_failure( request: GFNetworkLobbyOperationRequest, p_error: StringName, p_message: String = "", options: Dictionary = {} ) -> GFNetworkLobbyOperationResult:

配置失败结果。

参数:

名称 说明
request 对应请求。
p_error 稳定失败原因。
p_message 人读说明。
options 可包含 status、started_at_msec、completed_at_msec 和 metadata。

返回:当前结果。

结构:

  • options: Dictionary failed lobby result fields.

get_duration_msec

  • API:public
  • 首次版本:unreleased
func get_duration_msec() -> int:

获取操作耗时,单位毫秒。

返回:完成时间减开始时间;缺少时间戳时返回 0。

is_valid

  • API:public
  • 首次版本:unreleased
func is_valid() -> bool:

校验终态结构是否满足操作契约。

返回:结果身份、时间和操作特定载荷均有效时返回 true。

matches_request

  • API:public
  • 首次版本:unreleased
func matches_request(request: GFNetworkLobbyOperationRequest) -> bool:

检查结果是否属于给定请求。

参数:

名称 说明
request 待匹配请求。

返回:request_id 和 operation 同时匹配时返回 true。

to_dict

  • API:public
  • 首次版本:unreleased
func to_dict() -> Dictionary:

转换为字典。

返回:Lobby 操作结果字典。

结构:

  • return: Dictionary lobby operation result.

apply_dict

  • API:public
  • 首次版本:unreleased
func apply_dict(data: Dictionary) -> void:

从字典应用结果字段。

参数:

名称 说明
data Lobby 操作结果字典。

结构:

  • data: Dictionary lobby operation result.

duplicate_result

  • API:public
  • 首次版本:unreleased
func duplicate_result() -> GFNetworkLobbyOperationResult:

创建结果深拷贝。

返回:新结果。

from_dict

  • API:public
  • 首次版本:unreleased
static func from_dict(data: Dictionary) -> GFNetworkLobbyOperationResult:

从字典创建结果。

参数:

名称 说明
data Lobby 操作结果字典。

返回:新结果。

结构:

  • data: Dictionary lobby operation result.