后保存每个级别您必须代表一个阶级的水平和层次的信息然后把这个类里面另一个类数组。可以使用该类阵列,以确定它是与索引0是水平1和索引1是级别2哪个级别。
[System.Serializable]
public class Levels
{
public LevelInfo[] levelInfo;
}
[System.Serializable]
public class LevelInfo
{
public bool isCompleted;
public string levelName;
public int levelScore;
//Other Level Information here
}
抓住从this岗位DataSaver
Helper类。
然后,您可以创建水平(5级为例):
Levels levels = new Levels();
levels.levelInfo = new LevelInfo[5];
for (int i = 0; i < levels.levelInfo.Length; i++)
{
levels.levelInfo[i] = new LevelInfo();
levels.levelInfo[i].levelName = i + 1.ToString();
levels.levelInfo[i].levelScore = UnityEngine.Random.Range(10, 100);
levels.levelInfo[i].isCompleted = true;
}
保存级别:
DataSaver.saveData(levels, "Levels");
装入水平:
负载,并检查是否水平完成:
//Load Saved Data
Levels levels = DataSaver.loadData<Levels>("Levels");
检查水平1完成。
if (levels.levelInfo[0].isCompleted)
{
//Level 1 Completed
}
检查等级2是否完成。
if (levels.levelInfo[1].isCompleted)
{
//Level 2 Completed
}
....
时所设置正确,阅读水平的正确方法是使用循环来找出水平尚未完成,然后从那里开始。
Levels levels = DataSaver.loadData<Levels>("Levels");
for (int i = 0; i < levels.levelInfo.Length; i++)
{
if (!levels.levelInfo[i].isCompleted)
{
Debug.LogFormat("Level ({0}) is not completed", i + 1);
//Level not completed. Start from here!
}
}
这完全错了。做下面的程序员*。还有值得注意的是,简单地说,*你不再制作这样的游戏*。今天制作游戏是使用PubNub,Parse,Firebase等。任何与此处讨论的内容模糊不清的东西都只是一个群众云特征。 – Fattie