示例
- 氏族/公会 - 实体组可用于描述一组经常一起玩游戏的玩家,无论以何种社交纽带长期将他们联系在一起。
- 队伍 - 实体组可用于短期组,允许个人玩家实现即时目标,然后事后轻松解散。
- 聊天频道 - 短期或长期的聊天频道可以定义为实体组。
- 游戏内信息订阅 - 您的游戏中是否有某个只有单一实例的传奇物品?玩家是否希望持续获取有关该物品的最新动态?创建一个围绕该物品的实体组,将所有对该物品感兴趣的玩家实体加入为成员。
- 对象数据
- 文件数据
- 配置文件
组的默认限制为每组 1000 名成员,且仅支持玩家和角色作为成员
使用实体组
创建组时,首个添加到组中的实体会被赋予 Admin 角色(本指南为简单起见将该实体称为所有者)。然后,所有者可以邀请新成员、创建具有各种可自定义权限的新角色、修改成员角色、踢出成员等。 此外,实体所具有的相同实体函数也适用于组,因此您可以直接将 JSON 对象和文件保存到组中,以保存任意特定于游戏的数据。 下面提供的代码示例将帮助您快速开始基本的公会交互。 它允许您创建组、添加和移除成员,以及删除组。它旨在作为一个起点,并未演示任何角色或权限。解析示例
此示例构建为一个控制器,将最少的数据保存到本地缓存(PlayFab 作为权威数据层),并提供了对组执行 CRUD 操作的方式。 让我们看一看示例中的一些函数:-
OnSharedError- 这是 PlayFab 示例中的典型模式。处理错误的最简单方式是报告错误。您的游戏客户端可能会有更复杂的错误处理逻辑。 -
ListMembership- 这会调用ListMembership以确定给定实体所属的所有组。玩家希望了解他们已经加入的组。 -
CreateGroup/DeleteGroup- 大多不言自明。此示例演示了在这些调用成功执行时更新本地组信息缓存。 -
InviteToGroup/ApplyToGroup- 加入组是一个两步过程,可以在两个方向上激活:- 玩家可以请求加入组。
- 组可以邀请玩家。
-
AcceptGroupInvitation/AcceptGroupApplication- 加入流程的第二步。响应实体接受邀请,完成使玩家成为组一部分的过程。 -
RemoveMembers- 有权限执行此操作的成员(由其角色权限定义)将能够将成员踢出组。
服务器与客户端
与所有新的实体 API 方法一样,服务器 API 和客户端 API 之间没有区别。 操作由调用方根据进程的身份验证方式执行。客户端将被识别为客户端,并作为游戏玩家实体调用这些方法;在每次调用时,都会评估他们在组中的角色和权限,以确保他们有权执行此操作。 服务器使用相同的developerSecretKey 进行身份验证,这会将该进程识别为游戏实体。游戏会绕过角色检查,游戏执行的 API 调用只有在无法执行该操作时才会失败,例如,如果某个实体不是成员,则无法将其移除。
