匹配相关接口

最近更新时间:2019-06-21 20:07:13

matchPlayers

接口描述

多人在线匹配。

参数描述

参数名 类型/值 描述
matchPlayersPara MGOBE.types.MatchPlayersPara 多人匹配参数
callback MGOBE.types.ReqCallback<MGOBE.types.MatchPlayersRsp> 响应回调函数

说明:

  • 调用该接口后将发起多人在线匹配,callback 将异步返回调用结果。返回码为0表示匹配成功,Room 对象内部 roomInfo 属性将自动更新。
  • 该接口需要与匹配规则配合使用,因此,匹配超时时间由开发者在匹配规则中定义。开发者需要在控制台上创建匹配,得到匹配 Code 作为该方法的参数 matchCode。
  • matchPlayersPara.playerInfo 中的 matchAttributes 数组对应匹配规则中定义的 playerAttributes,playerAttributes 的每一种属性都要填入 matchAttributes 中,name 表示属性名,value 表示玩家该属性的值。

返回值说明

使用示例

    const playerInfo = {
        name: "Tom",
        customPlayerStatus: 1,
        customProfile: "https://xxx.com/icon.png",
        matchAttributes: [{
            name: "skill1",
            value: 99,
        }]
    };

    const matchPlayersPara = {
        playerInfo,
        matchCode: "play-xxx",
    };

    // 发起匹配
    room.matchPlayers(matchPlayersPara, event => {
        if (event.code === 0) {
            console.log("匹配成功", room.roomInfo);
        } else {
            console.log("匹配失败", event.code);
        }
    });

matchRoom

接口描述

房间匹配。

参数描述

参数名 类型/值 描述
matchRoomPara MGOBE.types.MatchRoomPara 房间匹配参数
callback MGOBE.types.ReqCallback<MGOBE.types.MatchRoomSimpleRsp> 响应回调函数

说明:

  • 调用该接口后将发起房间匹配,匹配结果将在 callback 中异步返回。操作成功后,Room 对象内部 roomInfo 属性将更新。
  • 房间匹配是指按照传入的参数搜索现存的房间,如果存在,则将玩家加入该房间;如果不存在,则为玩家创建并加入一个新房间。

返回值说明

使用示例

    const playerInfo = {
        name: "Tom",
        customPlayerStatus: 1,
        customProfile: "https://xxx.com/icon.png",
    };

    const matchRoomPara = {
        playerInfo,
        maxPlayers: 5,
        roomType: "1",
    };

    room.matchRoom(matchRoomPara, event => {
        if (event.code !== 0) {
            console.log("匹配失败", event.code);
        }
    });

cancelPlayerMatch

接口描述

取消玩家匹配。

参数描述

参数名 类型/值 描述
cancelMatchPara MGOBE.types.CancelMatchPara 取消匹配参数
callback MGOBE.types.ReqCallback<MGOBE.types.CancelMatchRsp> 响应回调函数

说明:

  • 该接口作用是取消多人匹配请求,即 matchPlayers 请求。调用结果将在 callback 中异步返回。如果玩家已经在房间中,回调函数将返回 roomInfo。
  • cancelMatchPara.matchType 需要设置为 MGOBE.ENUM.MatchType.PLAYER_COMPLEX。

返回值说明

使用示例

    const cancelMatchPara = {
        matchType: MGOBE.ENUM.MatchType.PLAYER_COMPLEX,
    };

    room.cancelPlayerMatch(cancelMatchPara, event => console.log(event));