//NOTE(Simon): These function parse a specific version to the current Compat class. //NOTE(Simon): Add more of these when changing the savefile version. #region Upgraders public static SaveFileDataCompat ParseToCompatV3toV4(string raw) { var saveFileData = new SaveFileDataCompat(); var result = new ParsedJsonLine(); result = JsonGetValueFromLine(raw, result.endindex); saveFileData.meta.version = Convert.ToInt32(result.value, CultureInfo.InvariantCulture); result = JsonGetValueFromLine(raw, result.endindex); saveFileData.meta.guid = new Guid(result.value); result = JsonGetValueFromLine(raw, result.endindex); saveFileData.meta.title = result.value; result = JsonGetValueFromLine(raw, result.endindex); saveFileData.meta.description = result.value; result = JsonGetValueFromLine(raw, result.endindex); saveFileData.meta.length = Convert.ToSingle(result.value, CultureInfo.InvariantCulture); saveFileData.points = new List <InteractionPointSerializeCompat>(); foreach (var obj in ParseInteractionPoints(raw, result.endindex)) { saveFileData.points.Add(JsonUtility.FromJson <InteractionPointSerializeCompat>(obj)); } return(saveFileData); }
public static SaveFileData ConvertCompatToCurrent(SaveFileDataCompat compatData) { var currentData = new SaveFileData(); currentData.meta = Metadata.FromCompat(compatData.meta); foreach (var pointCompat in compatData.points) { currentData.points.Add(InteractionPointSerialize.FromCompat(pointCompat)); } return(currentData); }