public void OnBeforeSerialize() { int adjustorCount = adjustors.Count; modifiers = new ParameterModifier[adjustorCount]; for (int i = 0; i < adjustorCount; i++) { ParameterAdjustor adjustor = adjustors[i]; string[] pList = adjustor.ParamList.ToArray(); MusicState[] aStates = adjustor.StateList.ToArray(); ParameterModifier modifier = new ParameterModifier(adjustor.ParamPath, adjustor.ParamType, adjustor.ParamDelta, pList, aStates); modifiers[i] = modifier; } }
public void OnAfterDeserialize() { adjustors = new List <ParameterAdjustor>(); foreach (ParameterModifier modifier in modifiers) { List <string> pList = new List <string>(); foreach (string s in modifier.ParamList) { pList.Add(s); } List <MusicState> aStates = new List <MusicState>(); foreach (MusicState state in modifier.StateList) { aStates.Add(state); } ParameterAdjustor adjustor = new ParameterAdjustor(modifier.ParamPath, modifier.ParamType, modifier.ParamDelta, pList, aStates); adjustors.Add(adjustor); } }