/// <summary> /// loads from json /// </summary> /// <param name="pathIN"></param> /// <returns></returns> public static void LoadData(string data, string fileName, System.Action <InstrumentData> callback) { InstrumentData saveOUT = null; saveOUT = JsonUtility.FromJson <InstrumentData>(data); saveOUT.mInstrumentType = saveOUT.mInstrumentType.ToLower(); if (saveOUT.mVersion != MusicGenerator.Version) { InstrumentSave instrumentSave = JsonUtility.FromJson <InstrumentSave>(data); if (saveOUT != null) { if (saveOUT.mVersion == 0.0f) { saveOUT.mStaffPlayerColor = (eStaffPlayerColors)instrumentSave.mStaffPlayerColor; } if (saveOUT.mVersion == 1.1f) { for (int i = 0; i < instrumentSave.mOctavesToUse.Count; i++) { saveOUT.mOctavesToUse.Add(instrumentSave.mOctavesToUse[i]); } saveOUT.mIsPentatonic = false; saveOUT.mLeadAvoidNotes = new int[2] { -1, -1 }; } } InstrumentData.SaveData(fileName, saveOUT); } callback(saveOUT); }
/// <summary> /// Updates the save version to match the music generator's version /// </summary> /// <param name="data"></param> /// <param name="pathIN"></param> /// <param name="saveOUT"></param> /// <returns></returns> private static InstrumentData UpdateVersion(string data, string pathIN, InstrumentData saveOUT) { InstrumentSave instrumentSave = JsonUtility.FromJson <InstrumentSave>(data); if (saveOUT != null) { if (saveOUT.mVersion == 0.0f) { saveOUT.mStaffPlayerColor = (eStaffPlayerColors)instrumentSave.mStaffPlayerColor; } if (saveOUT.mVersion == 1.1f) { for (int i = 0; i < instrumentSave.mOctavesToUse.Count; i++) { saveOUT.mOctavesToUse.Add(instrumentSave.mOctavesToUse[i]); } saveOUT.mIsPentatonic = false; saveOUT.mLeadAvoidNotes = new int[2] { -1, -1 }; } } return(saveOUT); }