1340 lines
38 KiB
TypeScript
1340 lines
38 KiB
TypeScript
export declare const enum AutoFrame {
|
||
AUTO_FRAME_OFF = 0,
|
||
AUTO_FRAME_ON = 1
|
||
}
|
||
|
||
/**
|
||
* 可匹配房间列表信息
|
||
* @param rooms - 单次请求的房间列表
|
||
* @param count - 所有房间的总数
|
||
* @param offset - 偏移量,作为下一次查询请求的入参
|
||
* @param hasNext - 是否有下一页 0:无 1:有
|
||
* @public
|
||
*/
|
||
export declare interface AvailableRoomsInfo {
|
||
rooms: RoomInfo[];
|
||
count: number;
|
||
offset: string | number;
|
||
hasNext: 0 | 1;
|
||
}
|
||
|
||
/**
|
||
* Base 类
|
||
* @public
|
||
*/
|
||
export declare class Base {
|
||
protected haInit(): void;
|
||
protected get state(): StateCode;
|
||
protected get serverEventCode(): ServerEventCode;
|
||
protected get appId(): string;
|
||
protected get openId(): string;
|
||
protected get serviceToken(): string;
|
||
get playerId(): string;
|
||
get lastRoomId(): string;
|
||
get roomId(): string;
|
||
get groupId(): string;
|
||
protected constructor();
|
||
protected setState(state: StateCode): void;
|
||
protected setServerEvent(code: ServerEventCode, param?: string): void;
|
||
protected setAppId(id: string): void;
|
||
protected setOpenId(id: string): void;
|
||
protected setServiceToken(token: string): void;
|
||
protected setPlayerId(id: string): void;
|
||
protected setLastRoomId(roomId: string): void;
|
||
protected setRoomId(id: string): void;
|
||
protected setGroupId(id: string): void;
|
||
protected onStateChange(latter: StateCode, former: StateCode): void;
|
||
protected onServerEventChange(latter: ServerEvent, former: ServerEvent): void;
|
||
get connection(): Connection;
|
||
protected addListener(key: number, value: Base): void;
|
||
protected removeListener(key: number): void;
|
||
get isReconnectStatus(): boolean;
|
||
setReconnectStatus(status: boolean): void;
|
||
get reconnectIntervalSeconds(): number;
|
||
private onMessage;
|
||
/**
|
||
* websocket 建链
|
||
* @param routerAddress
|
||
* @param ticket
|
||
*/
|
||
private wsConnect;
|
||
/**
|
||
* 根据协议通道类型,建立长连接,js目前只支持wss
|
||
* @param protocol 协议通道类型
|
||
* @param isReconnect 是否是重连
|
||
* @protected
|
||
*/
|
||
protected connect(protocol?: number, isReconnect?: boolean): Promise<void>;
|
||
protected onWsMessage(ev: MessageEvent): void;
|
||
protected onWsClose(ev: CloseEvent): void;
|
||
}
|
||
|
||
export declare interface BaseResponse {
|
||
rtnCode: number;
|
||
msg?: string;
|
||
}
|
||
|
||
/**
|
||
* 客户端类
|
||
* @public
|
||
*/
|
||
export declare class Client extends Base {
|
||
private _auth;
|
||
private _room;
|
||
private _group;
|
||
private _pollInterval;
|
||
private _isMatching;
|
||
private _loginTimestamp;
|
||
private _initStatus;
|
||
onMatch: {
|
||
(this: any, cb: (onMatchResponse: OnMatchResponse) => any): EventEmitter<(onMatchResponse: OnMatchResponse) => any>;
|
||
emit(onMatchResponse: OnMatchResponse): void;
|
||
off(cb: (onMatchResponse: OnMatchResponse) => any): void;
|
||
clear(): void;
|
||
};
|
||
onInitResult: {
|
||
(this: any, cb: (resultCode: number) => any): EventEmitter<(resultCode: number) => any>;
|
||
emit(resultCode: number): void;
|
||
off(cb: (resultCode: number) => any): void;
|
||
clear(): void;
|
||
};
|
||
/**
|
||
* 获取对应房间实例
|
||
* @readonly
|
||
*/
|
||
get room(): Room | null;
|
||
/**
|
||
* 获取对应队伍实例
|
||
* @readonly
|
||
*/
|
||
get group(): Group | null;
|
||
/**
|
||
* 获取玩家登录时间戳
|
||
* @readonly
|
||
*/
|
||
get loginTimestamp(): number;
|
||
/**
|
||
* 创建客户端
|
||
* @param config - 创建客户端参数
|
||
*/
|
||
constructor(config: ClientConfig);
|
||
/**
|
||
* 初始化客户端
|
||
* @remarks 必须先初始化客户端,才能创建/加入/匹配房间
|
||
*/
|
||
init(): Promise<Client>;
|
||
/**
|
||
* 创建房间
|
||
* @remarks 创建成功也意味着加入了该房间
|
||
* @param createRoomConfig - 房间信息参数
|
||
* @param playerConfig - 玩家信息参数
|
||
*/
|
||
createRoom(createRoomConfig: CreateRoomConfig, playerConfig?: PlayerConfig): Promise<Room>;
|
||
/**
|
||
* 创建队伍
|
||
* @remarks 创建成功也意味着加入了该队伍
|
||
* @param groupConfig - 队伍信息参数
|
||
* @param playerConfig - 玩家信息参数
|
||
*/
|
||
createGroup(groupConfig: CreateGroupConfig, playerConfig?: PlayerConfig): Promise<Group>;
|
||
/**
|
||
* 加入房间
|
||
* @param roomIdentity - 房间身份标识(房间Id或者房间Code)
|
||
* @param playerConfig - 玩家信息参数
|
||
*/
|
||
joinRoom(roomIdentity: string, playerConfig?: PlayerConfig): Promise<Room>;
|
||
/**
|
||
* 根据队伍ID加入队伍
|
||
* @param groupId - 队伍 ID
|
||
* @param playerConfig - 玩家信息参数
|
||
*/
|
||
joinGroup(groupId: string, playerConfig?: PlayerConfig): Promise<Group>;
|
||
/**
|
||
* 离开房间
|
||
*/
|
||
leaveRoom(): Promise<Client>;
|
||
/**
|
||
* 解散房间
|
||
* @remarks 房主才能解散房间
|
||
* @privateRemarks 不支持通过 lastRoomId 解散房间
|
||
*/
|
||
dismissRoom(): Promise<Client>;
|
||
/**
|
||
* 离开队伍
|
||
*/
|
||
leaveGroup(): Promise<Client>;
|
||
/**
|
||
* 解散队伍
|
||
* @remarks 队长才能解散队伍
|
||
*/
|
||
dismissGroup(): Promise<Client>;
|
||
/**
|
||
* 重置房间起始帧ID,调用场景:在加入房间后,开始游戏前调用
|
||
* @param frameId - 帧ID
|
||
*/
|
||
resetRoomFrameId(frameId: number): Promise<Client>;
|
||
/**
|
||
* 获取可匹配房间列表
|
||
*/
|
||
getAvailableRooms(getAvailableRoomsConfig: GetAvailableRoomsConfig): Promise<AvailableRoomsInfo>;
|
||
/**
|
||
* 房间匹配
|
||
* @param matchRoomConfig - 房间匹配参数
|
||
* @param playerConfig - 玩家信息参数
|
||
*/
|
||
matchRoom(matchRoomConfig: MatchRoomConfig, playerConfig?: PlayerConfig): Promise<Room>;
|
||
/**
|
||
* 在线匹配
|
||
* @param matchPlayerConfig - 在线匹配参数
|
||
* @param playerConfig - 玩家信息参数
|
||
*/
|
||
matchPlayer(matchPlayerConfig: MatchPlayerConfig, playerConfig?: PlayerConfig): Promise<MatchResponse>;
|
||
/**
|
||
* 组队匹配
|
||
* @param matchGroupConfig - 组队匹配参数
|
||
* @param playerConfig - 玩家信息参数
|
||
* @remarks 队长才能主动发起组队匹配,队员通过广播通知被动调起组队匹配
|
||
*/
|
||
matchGroup(matchGroupConfig: MatchGroupConfig, playerConfig?: PlayerConfig): Promise<MatchResponse>;
|
||
/**
|
||
* 匹配开始
|
||
* @param fn - 匹配执行方法
|
||
* @param matchType - 匹配类型
|
||
* @param playerConfig - 玩家信息参数
|
||
* @remarks 在线/组队匹配开始接口的逻辑处理
|
||
*/
|
||
private matchStart;
|
||
/**
|
||
* 匹配查询
|
||
* @param playerConfig - 玩家信息参数
|
||
* @remarks 调用匹配接口后,自动触发匹配查询轮询,获得结果后触发onMatch监听
|
||
*/
|
||
matchQuery(playerConfig?: PlayerConfig): void;
|
||
/**
|
||
* 匹配结果处理
|
||
* @param matchResponse - 匹配结果
|
||
* @param playerConfig - 玩家信息参数
|
||
* @remarks 当匹配接口获取到匹配结果时,对匹配结果进行处理
|
||
*/
|
||
private matchResponseHandler;
|
||
/**
|
||
* 取消匹配
|
||
* @remarks 组队匹配模式中,当前只有队长可以取消匹配
|
||
*/
|
||
cancelMatch(): Promise<BaseResponse>;
|
||
/**
|
||
* 移除所有事件监听
|
||
*/
|
||
removeAllListeners(): void;
|
||
/**
|
||
* 销毁客户端
|
||
*/
|
||
destroy(): Promise<void>;
|
||
protected onStateChange(state: StateCode): Promise<void>;
|
||
protected onServerEventChange(serverEvent: ServerEvent): Promise<void>;
|
||
private checkMatching;
|
||
/**
|
||
* ws onmessage client 实现
|
||
* @param ev
|
||
* @protected
|
||
*/
|
||
protected onWsMessage(ev: MessageEvent): void;
|
||
/**
|
||
* ws断开时触发
|
||
* @param ev
|
||
* @protected
|
||
*/
|
||
protected onWsClose(ev: CloseEvent): Promise<void>;
|
||
/**
|
||
* ws自动重连
|
||
* @private
|
||
*/
|
||
private autoReconnect;
|
||
/**
|
||
* 移除Client监听的所有ws消息
|
||
* @private
|
||
*/
|
||
private removeAllListener;
|
||
}
|
||
|
||
/**
|
||
* Client类构造方法参数
|
||
* @param clientId - 客户端ID
|
||
* @param openId - 玩家ID
|
||
* @param appId - 应用ID
|
||
* @param platform - 游戏平台
|
||
* @param cerPath - platform为CC_ANDROID时,需要填该字段,值为cer证书路径
|
||
* @param clientSecret - 客户端密钥
|
||
* @param createSignature - 签名函数
|
||
* @param accessToken - 开发者accessToken
|
||
* @public
|
||
*/
|
||
export declare interface ClientConfig {
|
||
clientId: string;
|
||
openId: string;
|
||
appId: string;
|
||
platform?: PlatformType;
|
||
cerPath?: string;
|
||
clientSecret?: string;
|
||
createSignature?: CreateSignature;
|
||
accessToken?: string;
|
||
}
|
||
|
||
declare class Connection {
|
||
static heartbeatCycle: number;
|
||
transport: Transport;
|
||
events: Partial<TransportEventMap>;
|
||
private heartbeatTimer;
|
||
constructor(Transport?: TransportConstructor);
|
||
connect(endpoint: string): void;
|
||
send(data: ArrayBuffer): void;
|
||
close(code?: number, reason?: string): void;
|
||
isOpen(): boolean;
|
||
isConnecting(): boolean;
|
||
isClosing(): boolean;
|
||
isClosed(): boolean;
|
||
removeAllListeners(): void;
|
||
startHeartbeat(): void;
|
||
stopHeartbeat(): void;
|
||
}
|
||
|
||
/**
|
||
* 创建队伍方法参数
|
||
* @param maxPlayers - 队伍最大支持人数
|
||
* @param groupName - 队伍名称
|
||
* @param customGroupProperties - 队伍自定义属性
|
||
* @param isLock - 是否禁止加入 0:不禁止 1:禁止 默认0
|
||
* @param isPersistent - 是否持久化 0:不持久化 1:持久化 默认0
|
||
* @public
|
||
*/
|
||
export declare interface CreateGroupConfig {
|
||
maxPlayers: number;
|
||
groupName?: string;
|
||
customGroupProperties?: string;
|
||
isLock?: number;
|
||
isPersistent?: number;
|
||
}
|
||
|
||
/**
|
||
* 创建房间方法参数
|
||
* @param maxPlayers - 房间最大支持人数
|
||
* @param isPrivate - 是否私有
|
||
* @param isLock - 是否锁定房间 0:非锁定(允许加入房间),1:锁定(不允许加入房间)
|
||
* @param roomType - 房间类型
|
||
* @param roomName - 房间名称
|
||
* @param matchParams - 房间匹配属性
|
||
* @param customRoomProperties - 房间自定义属性
|
||
* @public
|
||
*/
|
||
export declare interface CreateRoomConfig {
|
||
maxPlayers: number;
|
||
isPrivate?: number;
|
||
isLock?: number;
|
||
roomType?: string;
|
||
roomName?: string;
|
||
matchParams?: Record<string, string>;
|
||
customRoomProperties?: string;
|
||
}
|
||
|
||
/**
|
||
* 签名函数
|
||
* @public
|
||
*/
|
||
export declare type CreateSignature = () => Promise<Signature>;
|
||
|
||
/**
|
||
* 错误码
|
||
* @public
|
||
*/
|
||
export declare enum ErrorCode {
|
||
COMMON_OK = 0,
|
||
COMMON_ERR = -1,
|
||
CLIENT_COMMON_ERR = -2,
|
||
AUTHENTICATION_FAILED = 2,
|
||
COMMON_REQUEST_PARAM_ERR = 1001,
|
||
REPEAT_REQUEST = 1002,
|
||
SDK_AUTO_REQUEST_FRAME_FAILED = 10002,
|
||
SDK_FRAME_ID_RANGE_ERR = 10003,
|
||
SDK_NOT_IN_ROOM = 90002,
|
||
SDK_MATCHING = 90008,
|
||
SDK_REQUESTING = 90010,
|
||
SDK_GROUP_MEMBERS_ERR = 90011,
|
||
GET_ACCESS_TOKEN_ERR = 95001,
|
||
ROOM_PLAYER_NOT_IN_ROOM = 101101,
|
||
ROOM_INFO_NOT_EXIST = 101103,
|
||
PLAYER_NOT_IN_CURRENT_ROOM = 101105,
|
||
PLAYER_ALREADY_IN_ANOTHER_ROOM = 101106,
|
||
PLAYERS_EXCEED_ROOM_MAX = 101107,
|
||
ROOM_OWNER_AND_PLAYER_MISMATCH = 101109,
|
||
MAX_PLAYERS_TOO_LARGE_OR_NEGATIVE = 101113,
|
||
ROOM_STARTED_FRAME_SYNC = 101114,
|
||
ROOM_STOPPED_FRAME_SYNC = 101115,
|
||
INVALID_ROOM = 101117,
|
||
INVALID_ROOM_STATUS = 101120,
|
||
REMOVE_SELF = 101121,
|
||
TOO_MANY_MATCHING_PARAMETERS = 101123,
|
||
TARGET_OWNER_NOT_IN_ROOM = 101132,
|
||
ONLINE_USERS_EXCEED_MAX = 101135,
|
||
ROOM_IS_LOCK = 101142,
|
||
PLAYER_NOT_IN_CURRENT_GROUP = 101201,
|
||
GROUP_NOT_EXIST = 101202,
|
||
ROOM_NOT_START_FRAME_SYNC = 102003,
|
||
OWNER_NOT_MATCH_GROUP = 101204,
|
||
GROUP_IS_LOCK = 101205,
|
||
GROUP_IS_FULL = 101206,
|
||
NEW_LEADER_NOT_IN_GROUP = 101208,
|
||
PLAYER_NOT_IN_ROOM = 102005,
|
||
ROOM_NOT_EXIST = 102008,
|
||
REQUEST_FRAME_NUMBER_OVERRUN = 102014,
|
||
INVALID_MESSAGE = 102016,
|
||
NO_VALID_TARGET_PLAYER = 102017,
|
||
INVALID_MESSAGE_LENGTH = 102018,
|
||
LOGIN_BUSY = 103001,
|
||
CLIENT_TRAFFIC_CONTROL = 103003,
|
||
CONNECTIONS_EXCEED_MAX = 103006,
|
||
ROOM_MATCH_FAILED = 104101,
|
||
ROOM_MATCHING = 104102,
|
||
ROOM_MATCH_TIMEOUT = 104103,
|
||
PLAYER_MATCH_FAILED = 104201,
|
||
PLAYER_MATCHING = 104202,
|
||
PLAYER_MATCH_TIMEOUT = 104203,
|
||
PLAYER_MATCH_CANCEL_NO_PERMISSION = 104204,
|
||
PLAYER_MATCH_CANCELED = 104205,
|
||
PLAYER_MATCH_CANCEL_WHEN_SUCCESS = 104206,
|
||
PLAYER_MATCH_ROOM_NULL = 104208,
|
||
PLAYER_MATCH_INVALID_TEAM = 104209,
|
||
PLAYER_NOT_IN_MATCH = 104211,
|
||
INVOKE_WISE_FUNCTION_FAILED = 105004,
|
||
JOIN_OR_CREATE_ROOM_FAILED = 91001
|
||
}
|
||
|
||
/**
|
||
* 事件触发器
|
||
* @public
|
||
*/
|
||
export declare class EventEmitter<T extends (...args: any[]) => any> {
|
||
handlers: Array<T>;
|
||
on(handler: T): this;
|
||
emit(...args: FunctionParam<T>): void;
|
||
off(handler: T): void;
|
||
clear(): void;
|
||
}
|
||
|
||
/**
|
||
* 附加信息
|
||
* @public
|
||
*/
|
||
export declare interface FrameExtInfo {
|
||
seed: number;
|
||
}
|
||
|
||
/**
|
||
* 帧数据信息
|
||
* @public
|
||
*/
|
||
export declare interface FrameInfo extends FramePlayerInfo {
|
||
data: string[];
|
||
timestamp: number;
|
||
}
|
||
|
||
/**
|
||
* 帧数据玩家信息
|
||
* @public
|
||
*/
|
||
export declare interface FramePlayerInfo {
|
||
playerId: string;
|
||
}
|
||
|
||
/**
|
||
* 函数参数类型
|
||
* @public
|
||
*/
|
||
export declare type FunctionParam<T> = T extends (...args: infer P) => any ? P : never;
|
||
|
||
/**
|
||
* 获取可匹配房间列表参数
|
||
* @param roomType - 房间类型
|
||
* @param offset - 偏移量,使用房间的createTime作为每次请求的标记,第一次请求时为0
|
||
* @param limit - 单次请求获取的房间数量,不选时服务端默认为20
|
||
* @param sync - 是否只查询空闲房间 true: 是,false: 否
|
||
* @public
|
||
*/
|
||
export declare interface GetAvailableRoomsConfig {
|
||
roomType?: string;
|
||
offset?: number | string;
|
||
limit?: number;
|
||
sync?: boolean;
|
||
}
|
||
|
||
/**
|
||
* 自定义错误类
|
||
* @public
|
||
*/
|
||
export declare class GOBEError extends Error {
|
||
code: number;
|
||
constructor(code: number, message?: string);
|
||
}
|
||
|
||
/**
|
||
* 队伍类
|
||
* @public
|
||
*/
|
||
export declare class Group extends Base {
|
||
onJoin: {
|
||
(this: any, cb: (serverEvent: ServerEvent) => void): EventEmitter<(serverEvent: ServerEvent) => void>;
|
||
emit(serverEvent: ServerEvent): void;
|
||
off(cb: (serverEvent: ServerEvent) => void): void;
|
||
clear(): void;
|
||
};
|
||
onLeave: {
|
||
(this: any, cb: (serverEvent: ServerEvent) => void): EventEmitter<(serverEvent: ServerEvent) => void>;
|
||
emit(serverEvent: ServerEvent): void;
|
||
off(cb: (serverEvent: ServerEvent) => void): void;
|
||
clear(): void;
|
||
};
|
||
onDismiss: {
|
||
(this: any, cb: (serverEvent: ServerEvent) => void): EventEmitter<(serverEvent: ServerEvent) => void>;
|
||
emit(serverEvent: ServerEvent): void;
|
||
off(cb: (serverEvent: ServerEvent) => void): void;
|
||
clear(): void;
|
||
};
|
||
onUpdate: {
|
||
(this: any, cb: (serverEvent: ServerEvent) => void): EventEmitter<(serverEvent: ServerEvent) => void>;
|
||
emit(serverEvent: ServerEvent): void;
|
||
off(cb: (serverEvent: ServerEvent) => void): void;
|
||
clear(): void;
|
||
};
|
||
onMatchStart: {
|
||
(this: any, cb: (serverEvent: ServerEvent) => void): EventEmitter<(serverEvent: ServerEvent) => void>;
|
||
emit(serverEvent: ServerEvent): void;
|
||
off(cb: (serverEvent: ServerEvent) => void): void;
|
||
clear(): void;
|
||
};
|
||
private config;
|
||
private _player;
|
||
/**
|
||
* 队伍 ID
|
||
*/
|
||
get id(): string;
|
||
/**
|
||
* 队伍名称
|
||
*/
|
||
get groupName(): string;
|
||
/**
|
||
* 队伍最大人数
|
||
*/
|
||
get maxPlayers(): number;
|
||
/**
|
||
* 队长 ID
|
||
*/
|
||
get ownerId(): string;
|
||
/**
|
||
* 队伍自定义属性
|
||
*/
|
||
get customGroupProperties(): string;
|
||
/**
|
||
* 是否禁止加入 0:不禁止 1:禁止 默认0
|
||
*/
|
||
get isLock(): number;
|
||
/**
|
||
* 是否持久化 0:不持久化 1:持久化 默认0
|
||
*/
|
||
get isPersistent(): number;
|
||
/**
|
||
* 队伍玩家列表
|
||
*/
|
||
get players(): PlayerInfo[];
|
||
/**
|
||
* 玩家自己
|
||
*/
|
||
get player(): Player;
|
||
/**
|
||
* 队伍
|
||
* @param config - 创建客户端参数
|
||
*/
|
||
constructor(config: GroupInfo);
|
||
/**
|
||
* 队伍信息查询
|
||
*/
|
||
query(): Promise<Group>;
|
||
/**
|
||
* 离开队伍
|
||
*/
|
||
leave(): Promise<void>;
|
||
/**
|
||
* 解散队伍
|
||
* @remarks 队长才能解散队伍
|
||
*/
|
||
dismiss(): Promise<void>;
|
||
/**
|
||
* 更新队伍信息
|
||
* @remarks 队长才能更新队伍信息
|
||
* @param config - 更新队伍信息参数
|
||
*/
|
||
updateGroup(config: UpdateGroupConfig): Promise<void>;
|
||
/**
|
||
* 移除队伍内玩家
|
||
* @param playerId - 被移除出的玩家ID
|
||
* @remarks 只有队长才有权限移除其他队员,其他队员通过onLeave收到玩家被踢通知
|
||
*/
|
||
removePlayer(playerId: string): Promise<void>;
|
||
protected onServerEventChange(serverEvent: ServerEvent): Promise<void>;
|
||
removeAllListeners(): void;
|
||
}
|
||
|
||
/**
|
||
* 队伍信息
|
||
* @param groupId - 队伍id
|
||
* @param groupName - 队伍名称
|
||
* @param maxPlayers - 最大玩家数
|
||
* @param ownerId - 队长ID
|
||
* @param customGroupProperties - 队伍自定义属性
|
||
* @param isLock - 是否禁止加入 0:不禁止 1:禁止 默认0
|
||
* @param isPersistent - 是否持久化 0:不持久化 1:持久化 默认0
|
||
* @param players - 队伍内玩家列表
|
||
* @public
|
||
*/
|
||
export declare interface GroupInfo {
|
||
groupId: string;
|
||
groupName: string;
|
||
maxPlayers: number;
|
||
ownerId: string;
|
||
customGroupProperties: string;
|
||
isLock: number;
|
||
isPersistent: number;
|
||
players: PlayerInfo[];
|
||
}
|
||
|
||
/**
|
||
* 组队匹配参数
|
||
* @param playerInfos - 带匹配规则的玩家信息列表
|
||
* @param teamInfo - 带匹配规则队伍信息,非对称匹配场景必填,存放队伍参数
|
||
* @param matchCode - 匹配规则编号
|
||
* @public
|
||
*/
|
||
export declare interface MatchGroupConfig {
|
||
playerInfos: MatchPlayerInfoParam[];
|
||
teamInfo?: MatchTeamInfoParam;
|
||
matchCode: string;
|
||
}
|
||
|
||
/**
|
||
* 在线匹配参数
|
||
* @param playerInfo - 带匹配规则的玩家信息
|
||
* @param teamInfo - 带匹配规则队伍信息,非对称匹配场景必填,存放队伍参数
|
||
* @param matchCode - 匹配规则编号
|
||
* @public
|
||
*/
|
||
export declare interface MatchPlayerConfig {
|
||
playerInfo: MatchPlayerInfoParam;
|
||
teamInfo?: MatchTeamInfoParam;
|
||
matchCode: string;
|
||
}
|
||
|
||
/**
|
||
* 带匹配规则的玩家信息
|
||
* @param matchParams - 自定义匹配参数
|
||
* @public
|
||
*/
|
||
export declare interface MatchPlayerInfoParam {
|
||
playerId: string;
|
||
matchParams: Record<string, number>;
|
||
}
|
||
|
||
export declare interface MatchResponse extends BaseResponse {
|
||
roomId?: string;
|
||
}
|
||
|
||
/**
|
||
* 房间匹配参数
|
||
* @param matchParams - 自定义匹配参数,最多支持5条匹配规则
|
||
* @param maxPlayers - 房间最大支持人数
|
||
* @param roomType - 房间类型
|
||
* @param customRoomProperties - 自定义房间属性
|
||
* @remarks maxPlayers,roomType,customRoomProperties用于找不到匹配房间时创建房间
|
||
* @public
|
||
*/
|
||
export declare interface MatchRoomConfig {
|
||
matchParams: Record<string, string>;
|
||
maxPlayers: number;
|
||
roomType?: string;
|
||
customRoomProperties?: string;
|
||
}
|
||
|
||
/**
|
||
* 带匹配规则队伍信息,非对称匹配场景必填,存放队伍参数
|
||
* @param matchParams - 自定义匹配参数
|
||
* @public
|
||
*/
|
||
export declare interface MatchTeamInfoParam {
|
||
matchParams: Record<string, number>;
|
||
}
|
||
|
||
export declare interface OnMatchResponse extends BaseResponse {
|
||
room?: Room;
|
||
}
|
||
|
||
/**
|
||
* 支持平台
|
||
* @public
|
||
*/
|
||
export declare enum PlatformType {
|
||
WEB = 0,
|
||
CC_ANDROID = 1,
|
||
OTHER = 7
|
||
}
|
||
|
||
/**
|
||
* 玩家类
|
||
* @public
|
||
*/
|
||
export declare class Player extends Base {
|
||
customStatus?: number;
|
||
customProperties?: string;
|
||
onCustomStatusChangeSuccess: {
|
||
(this: any, cb: () => any): EventEmitter<() => any>;
|
||
emit(): void;
|
||
off(cb: () => any): void;
|
||
clear(): void;
|
||
};
|
||
onCustomStatusChangeFailed: {
|
||
(this: any, cb: (error: GOBEError) => any): EventEmitter<(error: GOBEError) => any>;
|
||
emit(error: GOBEError): void;
|
||
off(cb: (error: GOBEError) => any): void;
|
||
clear(): void;
|
||
};
|
||
onCustomPropertiesChangeSuccess: {
|
||
(this: any, cb: () => any): EventEmitter<() => any>;
|
||
emit(): void;
|
||
off(cb: () => any): void;
|
||
clear(): void;
|
||
};
|
||
onCustomPropertiesChangeFailed: {
|
||
(this: any, cb: (error: GOBEError) => any): EventEmitter<(error: GOBEError) => any>;
|
||
emit(error: GOBEError): void;
|
||
off(cb: (error: GOBEError) => any): void;
|
||
clear(): void;
|
||
};
|
||
constructor(customStatus?: number, customProperties?: string);
|
||
/**
|
||
* 更新玩家自定义状态
|
||
*/
|
||
updateCustomStatus(status: number): void;
|
||
/**
|
||
* 更新玩家自定义属性
|
||
*/
|
||
updateCustomProperties(customProperties: string): void;
|
||
protected onWsMessage(ev: MessageEvent): void;
|
||
protected onWsClose(ev: CloseEvent): void;
|
||
protected removeAllListener(): void;
|
||
}
|
||
|
||
/**
|
||
* 玩家自定义参数
|
||
* @param customPlayerStatus - 玩家自定义状态
|
||
* @param customPlayerProperties - 玩家自定义属性
|
||
* @public
|
||
*/
|
||
export declare interface PlayerConfig {
|
||
customPlayerStatus?: number;
|
||
customPlayerProperties?: string;
|
||
}
|
||
|
||
/**
|
||
* 玩家信息
|
||
* @param playerId - 玩家ID
|
||
* @param status - 玩家状态 0:空闲;1:房间中;3:离线
|
||
* @param customPlayerStatus - 自定义玩家状态
|
||
* @param customPlayerProperties - 自定义玩家属性
|
||
* @param teamId - 玩家teamId
|
||
* @param isRobot - 是否为机器人,0:不是,1:是
|
||
* @param robotName - 机器人名字
|
||
* @param matchParams - 自定义匹配参数
|
||
* @public
|
||
*/
|
||
export declare interface PlayerInfo {
|
||
playerId: string;
|
||
status?: number;
|
||
customPlayerStatus?: number;
|
||
customPlayerProperties?: string;
|
||
teamId?: string;
|
||
isRobot?: number;
|
||
robotName?: string;
|
||
matchParams?: Record<string, string>;
|
||
}
|
||
|
||
/**
|
||
* 房间内消息码
|
||
* @public
|
||
*/
|
||
export declare const enum Protocol {
|
||
LOGIN = 0,
|
||
LOGIN_ACK = 1,
|
||
HEARTBEAT = 2,
|
||
HEARTBEAT_ACK = 3,
|
||
CLIENT_SEND_FRAMEDATA = 4,
|
||
CLIENT_SEND_FRAMEDATA_ACK = 5,
|
||
QUERY_FRAMEDATA = 6,
|
||
QUERY_FRAMEDATA_ACK = 7,
|
||
FRAMESYNC_STARTED = 8,
|
||
FRAMESYNC_STOPED = 9,
|
||
BROADCAST_FRAMEDATA = 10,
|
||
QUERY_FRAMEDATA_RESULT = 17,
|
||
JOIN_ROOM = 12,
|
||
LEAVE_ROOM = 13,
|
||
CONNECTED = 14,
|
||
DISCONNECTED = 15,
|
||
ROOM_DISMISS = 16,
|
||
UPDATE_CUSTOM_STATUS = 18,
|
||
UPDATE_CUSTOM_PROPS = 19,
|
||
UPDATE_ROOM_PROPS = 20,
|
||
INSTANT_MESSAGE = 22,
|
||
INSTANT_MESSAGE_ACK = 23,
|
||
RT_TO_SERVER_MSG = 24,
|
||
RT_TO_SERVER_MSG_ACK = 25,
|
||
RT_TO_CLIENT_MSG = 26,
|
||
RT_TO_CLIENT_MSG_ACK = 27,
|
||
UPDATE_PLAYER_STATUS = 28,
|
||
UPDATE_PLAYER_STATUS_ACK = 29,
|
||
UPDATE_PLAYER_PROP = 30,
|
||
UPDATE_PLAYER_PROP_ACK = 31,
|
||
UPDATE_ROOM_PROP = 32,
|
||
UPDATE_ROOM_PROP_ACK = 33,
|
||
RTM_CHANNEL_SETUP = 34,
|
||
RTM_CHANNEL_DESTROY = 35,
|
||
JOIN_ROOM_REQ = 36,
|
||
JOIN_ROOM_ACK = 37,
|
||
WS_CLOSE = 1000
|
||
}
|
||
|
||
/**
|
||
* 基于「线性同余」的伪随机数生成器
|
||
* @public
|
||
*/
|
||
export declare class RandomUtils {
|
||
private mask;
|
||
private m;
|
||
private a;
|
||
private seed;
|
||
constructor(seed: number);
|
||
getNumber(): number;
|
||
}
|
||
|
||
/**
|
||
* 帧广播消息
|
||
* @public
|
||
*/
|
||
export declare interface RecvFrameMessage extends ServerFrameMessage {
|
||
isReplay: boolean;
|
||
time: number;
|
||
}
|
||
|
||
/**
|
||
* 房间消息广播回调参数
|
||
* @param roomId - 房间ID
|
||
* @param sendPlayerId - 发送者playerId
|
||
* @param msg - 消息内容
|
||
* @public
|
||
*/
|
||
export declare interface RecvFromClientInfo {
|
||
roomId: string;
|
||
sendPlayerId: string;
|
||
msg: string;
|
||
}
|
||
|
||
/**
|
||
* 实时消息广播回调参数
|
||
* @param roomId - 房间ID
|
||
* @param msg - 消息内容
|
||
* @public
|
||
*/
|
||
export declare interface RecvFromServerInfo {
|
||
roomId: string;
|
||
msg: string;
|
||
}
|
||
|
||
/**
|
||
* 房间类
|
||
* @public
|
||
*/
|
||
export declare class Room extends Base {
|
||
static autoFrame: AutoFrame;
|
||
onConnect: {
|
||
(this: any, cb: (player: FramePlayerInfo) => any): EventEmitter<(player: FramePlayerInfo) => any>;
|
||
emit(player: FramePlayerInfo): void;
|
||
off(cb: (player: FramePlayerInfo) => any): void;
|
||
clear(): void;
|
||
};
|
||
onJoin: {
|
||
(this: any, cb: (player: FramePlayerInfo) => any): EventEmitter<(player: FramePlayerInfo) => any>;
|
||
emit(player: FramePlayerInfo): void;
|
||
off(cb: (player: FramePlayerInfo) => any): void;
|
||
clear(): void;
|
||
};
|
||
onJoinFailed: {
|
||
(this: any, cb: (error: GOBEError) => any): EventEmitter<(error: GOBEError) => any>;
|
||
emit(error: GOBEError): void;
|
||
off(cb: (error: GOBEError) => any): void;
|
||
clear(): void;
|
||
};
|
||
onLeave: {
|
||
(this: any, cb: (player: FramePlayerInfo) => any): EventEmitter<(player: FramePlayerInfo) => any>;
|
||
emit(player: FramePlayerInfo): void;
|
||
off(cb: (player: FramePlayerInfo) => any): void;
|
||
clear(): void;
|
||
};
|
||
onDismiss: {
|
||
(this: any, cb: () => any): EventEmitter<() => any>;
|
||
emit(): void;
|
||
off(cb: () => any): void;
|
||
clear(): void;
|
||
};
|
||
onDisconnect: {
|
||
(this: any, cb: (player: FramePlayerInfo, event?: CloseEvent) => any): EventEmitter<(player: FramePlayerInfo, event?: CloseEvent) => any>;
|
||
emit(player: FramePlayerInfo, event?: CloseEvent | undefined): void;
|
||
off(cb: (player: FramePlayerInfo, event?: CloseEvent) => any): void;
|
||
clear(): void;
|
||
};
|
||
onStartFrameSync: {
|
||
(this: any, cb: () => any): EventEmitter<() => any>;
|
||
emit(): void;
|
||
off(cb: () => any): void;
|
||
clear(): void;
|
||
};
|
||
onStopFrameSync: {
|
||
(this: any, cb: () => any): EventEmitter<() => any>;
|
||
emit(): void;
|
||
off(cb: () => any): void;
|
||
clear(): void;
|
||
};
|
||
onRecvFrame: {
|
||
(this: any, cb: (msg: RecvFrameMessage | RecvFrameMessage[]) => any): EventEmitter<(msg: RecvFrameMessage | RecvFrameMessage[]) => any>;
|
||
emit(msg: RecvFrameMessage | RecvFrameMessage[]): void;
|
||
off(cb: (msg: RecvFrameMessage | RecvFrameMessage[]) => any): void;
|
||
clear(): void;
|
||
};
|
||
onRequestFrameError: {
|
||
(this: any, cb: (error: GOBEError) => any): EventEmitter<(error: GOBEError) => any>;
|
||
emit(error: GOBEError): void;
|
||
off(cb: (error: GOBEError) => any): void;
|
||
clear(): void;
|
||
};
|
||
onUpdateCustomStatus: {
|
||
(this: any, cb: (player: UpdateCustomStatusResponse) => any): EventEmitter<(player: UpdateCustomStatusResponse) => any>;
|
||
emit(player: UpdateCustomStatusResponse): void;
|
||
off(cb: (player: UpdateCustomStatusResponse) => any): void;
|
||
clear(): void;
|
||
};
|
||
onUpdateCustomProperties: {
|
||
(this: any, cb: (player: UpdateCustomPropertiesResponse) => any): EventEmitter<(player: UpdateCustomPropertiesResponse) => any>;
|
||
emit(player: UpdateCustomPropertiesResponse): void;
|
||
off(cb: (player: UpdateCustomPropertiesResponse) => any): void;
|
||
clear(): void;
|
||
};
|
||
onRoomPropertiesChange: {
|
||
(this: any, cb: (roomInfo: RoomInfo) => any): EventEmitter<(roomInfo: RoomInfo) => any>;
|
||
emit(roomInfo: RoomInfo): void;
|
||
off(cb: (roomInfo: RoomInfo) => any): void;
|
||
clear(): void;
|
||
};
|
||
onRecvFromClient: {
|
||
(this: any, cb: (recvFromClientInfo: RecvFromClientInfo) => any): EventEmitter<(recvFromClientInfo: RecvFromClientInfo) => any>;
|
||
emit(recvFromClientInfo: RecvFromClientInfo): void;
|
||
off(cb: (recvFromClientInfo: RecvFromClientInfo) => any): void;
|
||
clear(): void;
|
||
};
|
||
onRecvFromServer: {
|
||
(this: any, cb: (recvFromServerInfo: RecvFromServerInfo) => any): EventEmitter<(recvFromServerInfo: RecvFromServerInfo) => any>;
|
||
emit(recvFromServerInfo: RecvFromServerInfo): void;
|
||
off(cb: (recvFromServerInfo: RecvFromServerInfo) => any): void;
|
||
clear(): void;
|
||
};
|
||
onSendToClientFailed: {
|
||
(this: any, cb: (error: GOBEError) => any): EventEmitter<(error: GOBEError) => any>;
|
||
emit(error: GOBEError): void;
|
||
off(cb: (error: GOBEError) => any): void;
|
||
clear(): void;
|
||
};
|
||
onSendToServerFailed: {
|
||
(this: any, cb: (error: GOBEError) => any): EventEmitter<(error: GOBEError) => any>;
|
||
emit(error: GOBEError): void;
|
||
off(cb: (error: GOBEError) => any): void;
|
||
clear(): void;
|
||
};
|
||
onRoomPropertiesChangeFailed: {
|
||
(this: any, cb: (error: GOBEError) => any): EventEmitter<(error: GOBEError) => any>;
|
||
emit(error: GOBEError): void;
|
||
off(cb: (error: GOBEError) => any): void;
|
||
clear(): void;
|
||
};
|
||
private config;
|
||
private frameId;
|
||
private readonly frameRequestMaxSize;
|
||
private frameRequesting;
|
||
private frameRequestSize;
|
||
private frameRequestTimes;
|
||
private frameRequestList;
|
||
private autoFrameRequesting;
|
||
private autoRequestFrameFailed;
|
||
private isConnected;
|
||
private autoFrameRequestCacheList;
|
||
private initiativeLeaveRoomFlag;
|
||
private readonly _player;
|
||
private _client;
|
||
private delayCollectAnalyzer;
|
||
private currentServerFrameId;
|
||
/**
|
||
* 房间 ID
|
||
*/
|
||
get id(): string;
|
||
/**
|
||
* 房间类型
|
||
*/
|
||
get roomType(): string;
|
||
/**
|
||
* 房间名称
|
||
*/
|
||
get roomName(): string;
|
||
/**
|
||
* 房间的短码
|
||
*/
|
||
get roomCode(): string;
|
||
/**
|
||
* 房间自定义属性
|
||
*/
|
||
get customRoomProperties(): string;
|
||
/**
|
||
* 房主 ID
|
||
*/
|
||
get ownerId(): string;
|
||
/**
|
||
* 房间最大人数
|
||
*/
|
||
get maxPlayers(): number;
|
||
/**
|
||
* 房间玩家列表
|
||
*/
|
||
get players(): PlayerInfo[];
|
||
/**
|
||
* 路由信息
|
||
*/
|
||
get router(): RouterInfo;
|
||
/**
|
||
* 0:公开房间,1:私有房间
|
||
*/
|
||
get isPrivate(): number;
|
||
/**
|
||
* 房间是否锁定
|
||
*/
|
||
get isLock(): number;
|
||
/**
|
||
* 创建时间
|
||
*/
|
||
get createTime(): number;
|
||
/**
|
||
* 房间是否处于帧同步
|
||
*/
|
||
get isSyncing(): boolean;
|
||
/**
|
||
* 玩家自己
|
||
*/
|
||
get player(): Player;
|
||
/**
|
||
* 房间
|
||
* @param client - Client实例
|
||
* @param config - 创建房间参数
|
||
*/
|
||
constructor(client: Client, config: RoomInfo);
|
||
/**
|
||
* 发送帧数据
|
||
* @param frameData - 帧数据
|
||
*/
|
||
sendFrame(frameData: string | string[]): void;
|
||
/**
|
||
* 请求补帧
|
||
* @param beginFrameId - 起始帧号
|
||
* @param size - 请求帧号
|
||
*/
|
||
requestFrame(beginFrameId: number, size: number): void;
|
||
/**
|
||
* 重置房间起始帧ID,调用场景:在加入房间后,开始游戏前调用
|
||
* @param frameId - 帧Id
|
||
*/
|
||
resetRoomFrameId(frameId: number): void;
|
||
/**
|
||
* 移除所有事件监听
|
||
*/
|
||
removeAllListeners(): void;
|
||
/**
|
||
* 重连
|
||
*/
|
||
reconnect(playerConfig?: PlayerConfig): Promise<void>;
|
||
/**
|
||
* 开始帧同步
|
||
*/
|
||
startFrameSync(): Promise<void>;
|
||
/**
|
||
* 结束帧同步
|
||
*/
|
||
stopFrameSync(): Promise<void>;
|
||
/**
|
||
* 玩家房间信息查询
|
||
*/
|
||
update(): Promise<Room>;
|
||
/**
|
||
* 更新房间自定义属性
|
||
* @param updateRoomInfo - 需要更新的房间信息
|
||
* @remarks 只有房主才能更新房间信息
|
||
*/
|
||
updateRoomProperties(updateRoomInfo: UpdateRoomInfo): void;
|
||
/**
|
||
* 离开房间
|
||
*/
|
||
leave(): Promise<void>;
|
||
/**
|
||
* 解散房间
|
||
* @remarks 房主才能解散房间
|
||
*/
|
||
dismiss(): Promise<void>;
|
||
/**
|
||
* 移除房间内玩家
|
||
* @param playerId - 被移除出的玩家ID
|
||
* @remarks 只有房主有权限移除其他玩家
|
||
* @remarks 房间在帧同步中,不能移除其他玩家
|
||
*/
|
||
removePlayer(playerId: string): Promise<void>;
|
||
/**
|
||
* 发送消息给房间内玩家
|
||
* @param sendToClientInfo - 发送房间内消息参数
|
||
*/
|
||
sendToClient(sendToClientInfo: SendToClientInfo): void;
|
||
/**
|
||
* 发送消息给实时服务器
|
||
* @param msg - 发送给实时服务器消息
|
||
*/
|
||
sendToServer(msg: string): void;
|
||
private clearRequestFrame;
|
||
protected onWsClose(ev: CloseEvent): Promise<void>;
|
||
protected onWsMessage(ev: MessageEvent): void;
|
||
private updateRoomPropertiesHandle;
|
||
private updateRoomPropAckHandle;
|
||
private frameSyncStartHandle;
|
||
private frameSyncStopHandle;
|
||
private preCheckBroadcastFrame;
|
||
private broadcastFrameDataHandle;
|
||
private queryFrameDataHandle;
|
||
private connectedMsgHandle;
|
||
private joinRoomACKHandle;
|
||
private leaveRoomMsgHandle;
|
||
private joinRoomMsgHandle;
|
||
private disconnectMsgHandle;
|
||
private dismissRoomMsgHandle;
|
||
private updatePlayerStatusHandle;
|
||
private updatePlayerPropertiesHandle;
|
||
private instantMessageHandle;
|
||
private instantMsgACKHandle;
|
||
private realtimeMsgACKHandle;
|
||
private queryFrameDataAckHandle;
|
||
private removeAllListener;
|
||
private addAllListener;
|
||
}
|
||
|
||
/**
|
||
* 房间信息
|
||
* @public
|
||
* @param appId - 游戏ID
|
||
* @param roomId - 房间ID
|
||
* @param roomType - 房间类型
|
||
* @param roomCode - 房间的短码
|
||
* @param roomName - 房间名称
|
||
* @param roomStatus - 房间状态 0:空闲,1:帧同步中
|
||
* @param customRoomProperties - 房间自定义属性
|
||
* @param ownerId - 房主ID
|
||
* @param maxPlayers - 房间最大支持人数
|
||
* @param players - 房间内玩家
|
||
* @param router - 路由信息
|
||
* @param isPrivate - 是否私有
|
||
* @param isLock - 是否锁定房间 0:非锁定(允许加入房间),1:锁定(不允许加入房间)
|
||
* @param createTime - 创建时间
|
||
*/
|
||
export declare interface RoomInfo {
|
||
appId: string;
|
||
roomId: string;
|
||
roomType: string;
|
||
roomCode: string;
|
||
roomName: string;
|
||
roomStatus: number;
|
||
customRoomProperties: string;
|
||
ownerId: string;
|
||
maxPlayers: number;
|
||
players: PlayerInfo[];
|
||
router: RouterInfo;
|
||
isPrivate: number;
|
||
isLock: number;
|
||
createTime: number;
|
||
}
|
||
|
||
/**
|
||
* 路由信息
|
||
* @public
|
||
*/
|
||
export declare interface RouterInfo {
|
||
routerId: number;
|
||
routerType: number;
|
||
routerAddr: string;
|
||
}
|
||
|
||
/**
|
||
* 发送房间内消息参数
|
||
* @param type - 房间状态 0:发送给房间内全部玩家,1:发送给房间内除本人外的其他所有玩家,2:发送给recvPlayerIdList的玩家
|
||
* @param msg - 消息内容
|
||
* @param recvPlayerList - 接收消息的玩家ID列表
|
||
* @public
|
||
*/
|
||
export declare interface SendToClientInfo {
|
||
type: number;
|
||
msg: string;
|
||
recvPlayerIdList?: string[];
|
||
}
|
||
|
||
/**
|
||
* 服务端事件
|
||
* @param eventType - 1:匹配开始;6:加入小队;7:离开小队;8:解散小队;9:更新小队;
|
||
* @param eventParam - 事件相关信息
|
||
* @public
|
||
*/
|
||
export declare interface ServerEvent {
|
||
eventType: ServerEventCode;
|
||
eventParam?: string;
|
||
}
|
||
|
||
/**
|
||
* 服务端事件码
|
||
* @public
|
||
*/
|
||
export declare const enum ServerEventCode {
|
||
DEFAULT = 0,
|
||
MATCH_START = 1,
|
||
JOIN_GROUP = 6,
|
||
LEAVE_GROUP = 7,
|
||
DISMISS_GROUP = 8,
|
||
UPDATE_GROUP = 9
|
||
}
|
||
|
||
/**
|
||
* 服务端推送消息
|
||
* @public
|
||
*/
|
||
export declare interface ServerFrameMessage {
|
||
currentRoomFrameId: number;
|
||
frameInfo: FrameInfo[];
|
||
ext: FrameExtInfo;
|
||
}
|
||
|
||
/**
|
||
* 服务端返回帧数据玩家信息
|
||
* @public
|
||
*/
|
||
export declare interface ServerFramePlayerInfo extends FramePlayerInfo {
|
||
extraInfo?: string;
|
||
}
|
||
|
||
/**
|
||
* 初始化签名
|
||
* @param sign - 签名
|
||
* @param nonce - 随机正整数
|
||
* @param timeStamp - 时间戳(秒)
|
||
* @public
|
||
*/
|
||
export declare interface Signature {
|
||
sign: string;
|
||
nonce: string;
|
||
timeStamp: number;
|
||
}
|
||
|
||
/**
|
||
* SDK 状态码
|
||
* @public
|
||
*/
|
||
export declare const enum StateCode {
|
||
UNINITIALIZED = 0,
|
||
INITIALIZED = 1,
|
||
INROOM = 2,
|
||
SYNCING = 3
|
||
}
|
||
|
||
declare interface Transport {
|
||
connect(endpoint: string): void;
|
||
send(data: ArrayBuffer | Array<number>): void;
|
||
close(code?: number, reason?: string): void;
|
||
isOpen(): boolean;
|
||
isConnecting(): boolean;
|
||
isClosing(): boolean;
|
||
isClosed(): boolean;
|
||
removeAllListeners(): void;
|
||
}
|
||
|
||
declare interface TransportConstructor {
|
||
new (events: Partial<TransportEventMap>): Transport;
|
||
}
|
||
|
||
declare interface TransportEventMap {
|
||
onopen: ((ev: Event) => any) | null;
|
||
onmessage: ((ev: MessageEvent) => any) | null;
|
||
onclose: ((ev: CloseEvent) => any) | null;
|
||
onerror: ((ev: Event) => any) | null;
|
||
}
|
||
|
||
/**
|
||
* 更新玩家属性响应信息
|
||
* @public
|
||
*/
|
||
export declare interface UpdateCustomPropertiesResponse {
|
||
playerId: string;
|
||
customProperties: string;
|
||
}
|
||
|
||
/**
|
||
* 更新玩家状态响应信息
|
||
* @public
|
||
*/
|
||
export declare interface UpdateCustomStatusResponse {
|
||
playerId: string;
|
||
customStatus: number;
|
||
}
|
||
|
||
/**
|
||
* 更新队伍信息参数
|
||
* @param groupName - 队伍名称
|
||
* @param ownerId - 队长ID
|
||
* @param customGroupProperties - 队伍自定义属性
|
||
* @param isLock - 是否禁止加入 0:不禁止 1:禁止 默认0
|
||
* @public
|
||
*/
|
||
export declare interface UpdateGroupConfig {
|
||
groupName?: string;
|
||
ownerId?: string;
|
||
customGroupProperties?: string;
|
||
isLock?: number;
|
||
}
|
||
|
||
/**
|
||
* 可以更新的房间信息属性
|
||
* @public
|
||
* @param roomName - 房间名称
|
||
* @param customRoomProperties - 房间自定义属性
|
||
* @param ownerId - 房主ID
|
||
* @param isPrivate - 是否私有
|
||
* @param isLock - 是否锁定房间 0:非锁定(允许加入房间),1:锁定(不允许加入房间)
|
||
*/
|
||
export declare interface UpdateRoomInfo {
|
||
roomName?: string;
|
||
customRoomProperties?: string;
|
||
ownerId?: string;
|
||
isPrivate?: number;
|
||
isLock?: number;
|
||
}
|
||
|
||
export { }
|
||
export as namespace GOBE
|