【问题标题】:Unity save everything (snapshot)Unity 保存一切(快照)
【发布时间】:2017-04-28 17:52:08
【问题描述】:
【问题讨论】:
标签:
c#
unity3d
hierarchy
scene
【解决方案1】:
这就是 MVC 真正派上用场的地方。
它有点高级,但我希望你会发现它有用。
你的所有状态都集中在一个地方,称之为:Model class。
您可以在 JSON 之间进行序列化。
您通过迭代模型中的状态来创建视图。视图以视觉方式表示状态。
举个例子,假设你有这个模型类:
[Serializable]
public class Model {
public string List<City> cities = new List<City>();
}
[Serializable]
public class City {
public string name;
public int population;
public List<Person> people;
}
[Serializable]
public class Person {
public string name;
public int age;
}
创建它的一个新实例:
Model model = new Model();
City c = new City();
c.name = "London";
c.population = 8674000;
Person p = new Person();
p.name = "Iggy"
p.age = 28;
c.people.Add(p);
model.cities.Add(c);
您可以将模型序列化为 JSON:
string json = JsonUtility.ToJson(model);
并将 JSON 反序列化为模型:
model = JsonUtility.FromJson<Model>(json);
拥有此状态,您可以遍历所需的信息并为它们创建游戏对象,以便您能够以可视方式表示信息。