private void ExportFamilies(string path) { foreach (Family fam in loader.families) { string familyDirectory = Path.Combine(path, fam.name); if (!Directory.Exists(familyDirectory)) { Directory.CreateDirectory(familyDirectory); } string filePath = Path.Combine(familyDirectory, "Family_" + fam.name + ".json"); if (File.Exists(filePath)) { File.Delete(filePath); } using (StreamWriter aiModelFileStream = File.CreateText(filePath)) { aiModelFileStream.Write(fam.ToJSON()); aiModelFileStream.Flush(); aiModelFileStream.Close(); } foreach (State state in fam.states) { ExportState exportState = ExportState.CreateFromState(state); string stateFilePath = Path.Combine(familyDirectory, "State_" + state.index + ".json"); if (File.Exists(stateFilePath)) { File.Delete(stateFilePath); } using (StreamWriter stateFileStream = File.CreateText(stateFilePath)) { stateFileStream.Write(exportState.ToJSON()); stateFileStream.Flush(); stateFileStream.Close(); } } foreach (ObjectList objectList in fam.objectLists) { if (objectList == null) { continue; } string objectListJSON = objectList.ToJSON(); string objectListHash = HashUtils.MD5Hash(objectListJSON); string objectListFilePath = Path.Combine(familyDirectory, "ObjectList_" + objectListHash + ".json"); if (File.Exists(objectListFilePath)) { File.Delete(objectListFilePath); } using (StreamWriter aiModelFileStream = File.CreateText(objectListFilePath)) { aiModelFileStream.Write(objectListJSON); aiModelFileStream.Flush(); aiModelFileStream.Close(); } } } }