Exemple #1
0
    //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);
    }
Exemple #2
0
    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);
    }