Esempio n. 1
0
        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);
        }
Esempio n. 2
0
 void AutoAssignMidiMap()
 {
     _midiMap = FindMapAtPath(Application.persistentDataPath);
     if (_midiMap == null)
     {
         _midiMap = FindMapAtPath(Application.streamingAssetsPath);
     }
 }
Esempio n. 3
0
        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();
                }
            }
        }