会话匹配范例

会话匹配范例的概览

SessionMatchmaking_01.png

EOS SDK的会话匹配范例展示了游戏会话的管理。他让用户能够创建会话、查看关于本地会话的信息、对其进行修改、搜索会话、加入朋友的当前会话,以及邀请朋友加入当前会话。

开始之前

出于演示目的,示例应用使用 Epic账户服务 验证本地用户。这需要先将用于初始化SDK的客户端凭证指定给使用 Epic账户服务应用

演示的SDK功能可以和任何支持的身份供应商配合使用,以用于用户验证。

会话创建

首先,你需要创建一个会话。按下"新建会话(Create New Session)"按钮呼出新对话:

SessionMatchmaking_CreateNew.png

为会话选择一个名称。在下拉列表中为"关卡(Level)"属性选择一个值。选择会话可以拥有的玩家数量。选择会话开始后是否还能加入(通过"进行中加入(Join In Progress)"标签)。选择此会话是否公开可用(为true时,其他用户可以使用搜索和加入来找到此会话;否则只能通过邀请加入会话)。选择新建的会话是否是状态会话(下节对此有详述)。如为状态会话,则选择会话是否能使用邀请。

完成后按下"创建(Create)"按钮。成功创建后,新会话将被添加到主对话中的会话列表内。

状态会话

你可以将会话标记为与状态相关的会话,以便在更新社交覆层时使用。这将通过社交覆层启用交互(例如发送加入好友会话的邀请)。玩家每次只能拥有一个状态会话。请参见社交覆层页面了解详情。

会话列表

SessionMatchmaking_List.png

在主对话中,你可以看到本地会话的列表(已创建、已加入或已通过搜索找到)。

表格有数列,包含会话及与会话进行交互操作的相关信息。

  1. 会话名——会话的名称。如果加入的是别人的会话,其可能不可用(在这种情况中,会话将被命名为"JoinedSession")。

  2. 状态:无(None)/已开始(Started)/已完成(Finished)。

  3. 玩家:当前玩家/最大玩家。

  4. 关卡:用户创建的属性,专属于此范例。关卡名。

  5. 状态:此会话是否是社交覆层相关的状态会话?

  6. JIP:进行中加入标签。

  7. 公开:任何人是否能通过搜索和加入公开进入此会话?

  8. 邀请:针对状态会话。是否允许邀请?

操作:

  1. 开始:开始会话;

  2. 结束:结束会话;

  3. 修改:通过一些预设参数集对其进行修改。

你还可以点击会话列表中相应会话的行来选择会话。可在会话搜索或邀请好友加入会话之后使用。

会话搜索

SessionMatchmaking_Search.png

用户也可以按关卡名搜索会话。在搜索域中输入关卡名并按下回车键即可。搜索完成后,你便能看到此关卡的所有公开会话。注意:在进行中、且未设置"进行中加入(Join In Progress)"标签的会话将不会显示。 注意:并不是已找到会话的所有信息皆可用。操作已明显禁用。 点击搜索结果中的行开始自动加入。 按下"清除搜索(X按钮)"即可清除搜索结果。

邀请好友至会话

创建会话后,你可以邀请好友加入。点击相应的行在列表中选中会话。在右侧的"好友"对话中找到好友,并按下"邀请至会话(Invite to session)"。此时将发送会话邀请。你的好友将收到提示,以便接受邀请并加入会话。

对好友进行会话注册

你可以用邀请好友的方式对其进行会话注册。已注册好友也可以发送你会话的邀请。