我有一个支付系统为我的游戏设置这里是我的代码:
void Start()
{
T55.interactable = false;
Tiger2.interactable = false;
Cobra.interactable = false;
}
public void ProcessPurchase (ShopItem item)
{
if(item .SKU =="tank")
{
StoreHandler .Instance .Consume (item );
}
}
public void OnConsumeFinished (ShopItem item)
{
if(item .SKU =="tank")
{
T55.interactable = true;
Tiger2.interactable = true;
Cobra.interactable = true;
}
}
现在每次玩家在游戏中买东西的时候,我的3个按钮都会变成真的;但问题是每次他关闭游戏的棘手回到虚假如何。
我是否应该保存该过程,以便玩家不必再次购买来将它们设置为真?
6条答案
按热度按时间gk7wooem1#
PlayerPrefs没有布尔类型的重载。它只支持string、int和float。
您需要创建一个函数,将
true
转换为1
,将false
转换为0
,然后创建接受int
类型的PlayerPrefs.SetInt
和PlayerPrefs.GetInt
重载。大概是这样的
现在,您可以轻松地将
bool
保存为PlayerPrefs
。如果你有很多变量要保存,使用Json和PlayerPrefs,而不是分别保存和加载它们。Here是如何做到这一点的。
yk9xbfzb2#
这样快多了
来源于here
ac1kyiln3#
我写这个答案是因为还有人需要这个答案,我认为比上面的其他人更容易。
要保存:
要加载:
如果你不明白发生了什么,我建议你阅读有关三元运算符在C#.
编辑:我没有看到穆罕默德·萨利赫回答,但这是一样的。
n53p2ov04#
写作:
阅读:
5tmbdcev5#
同样光滑
hgc7kmma6#
我不知道为什么有人不建议使用 Package 器,因为这将是一种更干净的扩展PlayerPrefs的方式。
用这个你可以写