public void LoadMapInfo() { mapInfoList.Clear(); if (Directory.Exists(FileSystemPath + "/StageInfo") == false) { Directory.CreateDirectory(FileSystemPath + "/StageInfo"); } if (File.Exists(FileSystemPath + "/StageInfo/StageInfo.List") == false) { ListMapStruct stageInfo = new ListMapStruct(); stageInfo.isLock = false; stageInfo.maxScore = 0; stageInfo.maxTotalScore = 1; stageInfo.stageNumber = 1; mapInfoList.Add(stageInfo); Save_Root("StageList"); Save_Child("Count"); Save_Element("StageCount", 1 + ""); for (int i = 0; i < mapInfoList.Count; ++i) { Save_Child("StageInfo_" + i); Save_Element("stageNumber", mapInfoList[i].stageNumber + ""); Save_Element("maxTotalScore", mapInfoList[i].maxTotalScore + ""); Save_Element("maxScore", mapInfoList[i].maxScore + ""); Save_Element("isLock", mapInfoList[i].isLock + ""); } Save_File(FileSystemPath + "/StageInfo/StageInfo.List"); } else { Load_File(FileSystemPath + "/StageInfo/StageInfo.List"); Load_Nodes("StageList/Count"); int Count = int.Parse(Load_Data("StageCount")); for (int i = 0; i < Count; ++i) { ListMapStruct stageInfo = new ListMapStruct(); Load_Nodes("StageList/StageInfo_" + i); stageInfo.stageNumber = int.Parse(Load_Data("stageNumber")); stageInfo.maxTotalScore = float.Parse(Load_Data("maxTotalScore")); stageInfo.maxScore = int.Parse(Load_Data("maxScore")); stageInfo.isLock = bool.Parse(Load_Data("isLock")); mapInfoList.Add(stageInfo); } } }
public void SaveMapInfo(ListMapStruct Info) { if (Directory.Exists(FileSystemPath + "/StageInfo") == false) { Directory.CreateDirectory(FileSystemPath + "/StageInfo"); } LoadMapInfo(); for (int i = 0; i < mapInfoList.Count; ++i) { if (mapInfoList[i].stageNumber == Info.stageNumber) { if (mapInfoList[i].maxScore < Info.maxScore) { mapInfoList[i].maxScore = Info.maxScore; } mapInfoList[i].maxTotalScore = Info.maxTotalScore; break; } } int nextStageNumber = Info.stageNumber + 1; if (mapInfoList.Count < nextStageNumber) { ListMapStruct stageInfo = new ListMapStruct(); stageInfo.isLock = false; stageInfo.maxScore = 0; stageInfo.stageNumber = nextStageNumber; mapInfoList.Add(stageInfo); } Save_Root("StageList"); Save_Child("Count"); Save_Element("StageCount", mapInfoList.Count + ""); for (int i = 0; i < mapInfoList.Count; ++i) { Save_Child("StageInfo_" + i); Save_Element("stageNumber", mapInfoList[i].stageNumber + ""); Save_Element("maxTotalScore", mapInfoList[i].maxTotalScore + ""); Save_Element("maxScore", mapInfoList[i].maxScore + ""); Save_Element("isLock", mapInfoList[i].isLock + ""); } Save_File(FileSystemPath + "/StageInfo/StageInfo.List"); }