public static ArticyData ConvertExportToArticyData(ExportType export) { if (!IsExportValid(export)) return null; ArticyData articyData = new ArticyData(); articyData.project.createdOn = export.CreatedOn.ToString(); articyData.project.creatorTool = export.CreatorTool; articyData.project.creatorVersion = export.CreatorVersion; foreach (object o in export.Content.Items) { ConvertProject(articyData, o as ProjectType); ConvertEntity(articyData, o as EntityType, export); ConvertLocation(articyData, o as LocationType); ConvertFlowFragment(articyData, o as FlowFragmentType); ConvertDialogue(articyData, o as DialogueType); ConvertDialogueFragment(articyData, o as DialogueFragmentType); ConvertHub(articyData, o as HubType); ConvertJump(articyData, o as JumpType); ConvertConnection(articyData, o as ConnectionType); ConvertCondition(articyData, o as ConditionType); ConvertInstruction(articyData, o as InstructionType); ConvertVariableSet(articyData, o as VariableSetType); } ConvertHierarchy(articyData, export.Hierarchy); return articyData; }
public static bool IsExportValid(ExportType export) { return (export != null) && (export.Content != null) && (export.Content.Items != null); }
private static string GetPictureFilename(ExportType export, PreviewImageType previewImage) { if (previewImage != null) { foreach (object o in export.Content.Items) { if (o is AssetType) { AssetType asset = o as AssetType; if (string.Equals(asset.Id, previewImage.IdRef)) return asset.AssetFilename; } } } return null; }
private static void ConvertEntity(ArticyData articyData, EntityType entity, ExportType export) { if (entity != null) { articyData.entities.Add(entity.Id, new ArticyData.Entity(entity.Id, entity.TechnicalName, ConvertLocalizableText(entity.DisplayName), ConvertLocalizableText(entity.Text), ConvertFeatures(entity.Features), GetPictureFilename(export, entity.PreviewImage))); } }