Esempio n. 1
0
        /// <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);
        }
Esempio n. 2
0
        /// <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);
        }