MidiMap FindMapAtPath(string path) { if (!Directory.Exists(path)) { return(null); } var mapFiles = Directory.GetFiles(path).Where(p => Path.GetExtension(p) == ".json"); foreach (string mapFile in mapFiles) { string name = Path.GetFileNameWithoutExtension(mapFile); int i = _endpointName.IndexOf(name); if (i > -1) { MidiMap midiMap = ScriptableObject.CreateInstance <MidiMap>(); midiMap.name = name; string mapJson = File.ReadAllText(mapFile); JsonUtility.FromJsonOverwrite(mapJson, midiMap); return(midiMap); } } return(null); }
void AutoAssignMidiMap() { _midiMap = FindMapAtPath(Application.persistentDataPath); if (_midiMap == null) { _midiMap = FindMapAtPath(Application.streamingAssetsPath); } }
public override void OnInspectorGUI() { DrawDefaultInspector(); EditorGUILayout.Space(); MidiMap map = (MidiMap)target; if (GUILayout.Button("Export JSON")) { string path = EditorUtility.SaveFilePanel("Export JSON", Application.persistentDataPath, map.name, "json"); if (path != "") { string jsonString = JsonUtility.ToJson(map, true); File.WriteAllText(path, jsonString); AssetDatabase.Refresh(); } } }