【云变量物品】保存和读取云变量物品
创建的云变量物品只能在当局游戏生效,在绑定时这些物品会上传到云端数据库。在开启一局新游戏后,绑定过的物品需要从数据库同步到游戏中;在游戏过程中也需要修改这些云变量物品。接下来我们将在新一局游戏中实现保存和读取这些物品。
读取云变量物品
我们可以使用以上函数来还原云变量物品。
在执行这句话之后,我们可以看到在我们的背包里或者脚下,就会出现原本我们绑定过的物品。
保存云变量物品
如果我们移动了一些物品的位置,或者更改品质、词缀、属性、需求等字段,我们会发现下次还原物品时这些物品被修改的属性并没有生效。
这是因为我们没有调用这个函数对云变量物品进行保存:
如果这个函数执行成功了,我们就会发现我们对这些云变量物品做的所有操作都会被保存了。
云变量物品优化写法
云变量每分钟的提交次数是存在限制的,有的时候上述写法会快速挤占云变量提交次数而导致其他提交失败。这个时候我们就需要用到优化写法来避免我们出现逻辑错误的问题。
在此之前我们先大致介绍一下上述语句对提交次数的影响:
绑定云变量物品:占用1次提交。(调用1次这个函数,就会产生1次提交)
解绑云变量物品:占用1次提交。
保存云变量物品:占用1次提交。
读取云变量物品:不会占用提交。
还有后面提到这里还没有提到的语句:
更新云变量物品货币数量:不会占用提交。
消耗云变量货币物品:占用1次提交。
有时候,我们可能会想要一次性解绑大量物品,例如批量分解300个物品,或者奖励一次领取300个物品。
那么如果我们使用上述提到的语句,那么他会快速挤占300次提交次数而导致其他提交失败。
所以这里提供了两个批量语句:
这两个函数会使用物品数组来批量处理一组物品,不管数组里面有多少物品,这个函数调用一次也只会占用1次提交。
需要注意的一点是,这两个函数中未能通过内部合法性验证(例如:正在其他未完成的提交中、或者根本不是云变量物品等等)的物品会自动被跳过而不会导致整个提交失败。