战利品箱
战利品箱是玩家可以赢得、赚取或购买的虚拟物品,然后打开以获得随机选择的物品。奖励可能因游戏类型、主题和虚拟经济而异。它们可以对留存产生积极影响,补充直播活动,并激发新老玩家的好奇心。此示例演示了如何设置一个基本的战利品箱,为玩家提供随机货币。
先决条件
要使用此示例用例,您必须 下载并安装 UGS 使用案例项目到您的 Unity 项目中。
概述
要查看此用例的实际应用,打开示例菜单 并导航到 **战利品箱**。要直接打开此场景并与用例进行交互
- 在 Unity 编辑器 **项目** 窗口中,选择 **Assets** > **Use Case Samples** > **Loot Boxes**,然后双击
LootBoxesSample.unity
打开示例场景。 - 按下 **播放** 进入播放模式。
初始化
LootBoxesSceneManager.cs
脚本在其 Start
函数中执行以下初始化任务
- 初始化 Unity 游戏服务。
- 使用身份验证服务 以匿名身份 登录玩家。如果您之前已初始化任何其他示例场景,身份验证将使用您缓存的玩家 ID,而不是创建一个新的 ID。
- 从经济服务中检索并更新玩家的货币余额。
功能
单击 **打开战利品箱** 按钮时,您将从可用池中获得随机数量的奖励(在货币 HUD 中显示)。以下是发生的情况
- 按钮的
OnClick
方法从云代码服务调用GetRandomCurrency
脚本,该脚本从内部列表中选择随机数量的随机货币来奖励用户。 - 云代码直接调用经济服务来授予奖励的货币并更新玩家的余额。
- 云代码将结果返回给客户端并更新 UI。
设置
需求
要复制此用例,您需要以下 Unity 包 在您的项目中
包 | 角色 |
---|---|
身份验证 | 自动将玩家登录为匿名用户以跟踪其服务器端数据。 |
云代码 | 通过经济服务器选择并授予战利品箱的随机货币,并返回结果。 |
部署 | 提供一个连贯的接口来部署云服务的资产。 |
经济 | 在运行时检索起始和更新的货币余额。 |
要在您的游戏中使用这些服务,请在 Unity 云仪表盘 中为您的组织和项目激活每个服务。
Unity 云服务配置
要在您自己的 Unity 项目中复制此示例场景的设置,请配置以下项目
- 云代码脚本
- 经济项目
要配置这些项目,您可以 使用部署包,或 使用 Unity 云仪表盘手动输入它们。建议的最佳实践是使用部署包,因为它可以大大加快此过程。
使用部署包
要使用部署包部署配置,请执行以下操作
- 打开 部署窗口。
- 选中
Common
和Loot Boxes
。 - 单击
部署选择
。
这将部署所有必要的项目。
使用 Unity 云仪表盘
您可以使用 Unity 云仪表盘 按项目和环境手动配置您的服务。请参考以下部分来配置此示例。
经济
在 Unity 云仪表盘中配置以下货币
资源类型 | 资源名称 | ID | 描述 |
---|---|---|---|
货币 | 硬币 | COIN | 战利品箱奖励物品。 |
货币 | 宝石 | GEM | 战利品箱奖励物品。 |
货币 | 珍珠 | PEARL | 战利品箱奖励物品。 |
货币 | 星星 | STAR | 战利品箱奖励物品。 |
这些构成了战利品箱的潜在奖励池。有关更多信息,请参阅有关 配置经济资源 的文档。
云代码
脚本 | 参数 | 描述 | 项目中的位置 |
---|---|---|---|
GrantRandomCurrency | 无 | 从内部列表中选择随机数量的随机货币来奖励用户,在经济服务中授予它,并返回结果。 | Assets/Use Case Samples/Loot Boxes/Cloud Code/GrantRandomCurrency.js |
**注意**:Cloud Code
文件夹中包含的云代码脚本是本地副本,因为您无法查看示例项目的仪表盘。对这些脚本的更改不会影响此示例的行为,因为它们不会自动上传到云代码服务。
经济
资源类型 | 资源名称 | ID | 描述 |
---|---|---|---|
货币 | 硬币 | COIN | 一个潜在的战利品箱奖励。 |
货币 | 宝石 | GEM | 一个潜在的战利品箱奖励。 |
货币 | 星星 | STAR | 一个潜在的战利品箱奖励。 |
货币 | 珍珠 | PEARL | 一个潜在的战利品箱奖励。 |