Unity中我的savestate的字典替代

时间:2018-03-30 18:47:15

标签: c# unity3d xml-serialization

对不起,如果这个问题很奇怪,我就开始使用Unity&开始编码。

我正在使用XML序列化系统来创建一个savestate。这是我的savestate内容:

public int item1_owned;
public int item1_price;
public int item2_owned;
public int item2_price;

item1_owned是玩家实际拥有的item1金额。 item1_price定义item1的价格(此处存储,因为它在每次购买后上升,如Cookie Clicker系统)

我试图更简单地说,以避免每次创建新项目时都创建一个新的int项 X 。所以我试着写一本字典,但似乎需要对XML序列化进行更改,而我没有经过足够的实验来尝试这一点。 我想要的是把我的物品放在一个价格,名字的班级...... 但我不知道如何创建无限数量的课程以及如何使用它。

感谢您的帮助,请不要吝啬,我真的尝试过:(

1 个答案:

答案 0 :(得分:0)

在Unity中序列化Dictionary确实存在问题。您可以使用Object来表示itemOwneditemPrice,以便于序列化。

[Serializable]
public class PriceSystem
{
    public int itemOwned;
    public int itemPrice;
}

创建一个列表并根据需要添加任意数量的对象:

List<PriceSystem> pSystemList = new List<PriceSystem>();

PriceSystem pSystem = new PriceSystem();
pSystemList.Add(pSystem);

然后将pSystemList序列化为json或xml。