private static void WriteTableComponent(List <string> elements, StreamWriter writer) { writer.WriteLine(MarkdownConverter.GetTableHead( new HeadCell(componentNameTable, AlignmentCell.None), new HeadCell(contextTable, AlignmentCell.Left), new HeadCell(uniqueTable, AlignmentCell.Center), new HeadCell(eventTable, AlignmentCell.Center), new HeadCell(fieldsTable, AlignmentCell.Left), new HeadCell(descriptionTable, AlignmentCell.Left))); foreach (var element in elements) { var component = ParseComponentFile(element); string description = component.Description.Replace("\r\n", "<br/>"); string contexts = component.Contexts.Count > 1 ? MarkdownConverter.ConvertToUnnumaricalList(component.Contexts) : (component.Contexts.FirstOrDefault() ?? imgNegCheckMark); string unique = component.Unique ? imgCheckMark : string.Empty; string ecsEvent = component.Event ? imgCheckMark : string.Empty; string fields = component.Fields.Count > 1 ? MarkdownConverter.ConvertToUnnumaricalList(component.Fields) : (component.Fields.FirstOrDefault() ?? imgFlagMark); writer.WriteLine(MarkdownConverter.GetTableCustomRow(component.Name, contexts, unique, ecsEvent, fields, description)); } writer.WriteLine(MarkdownConverter.GetHorizontalLine()); }
private static void WriteTableSystem(List <string> elements, StreamWriter writer) { List <SystemData> systems = new List <SystemData>(); foreach (var element in elements) { systems.Add(ParseSystemFile(element)); } // system if (systems.Where(x => !x.IsReactive).Count() > 0) { writer.WriteLine(MarkdownConverter.GetTableHead( new HeadCell(systemNameTable, AlignmentCell.None), new HeadCell(typeTable, AlignmentCell.Left), new HeadCell(descriptionTable, AlignmentCell.Left))); foreach (var system in systems.Where(x => !x.IsReactive)) { string description = system.Description.Replace("\r\n", "<br/>"); string types = system.Types.Count > 1 ? MarkdownConverter.ConvertToUnnumaricalList(system.Types) : system.Types.First(); writer.WriteLine(MarkdownConverter.GetTableCustomRow(system.Name, types, description)); } writer.WriteLine(MarkdownConverter.GetHorizontalLine()); } // reactive if (systems.Where(x => x.IsReactive).Count() > 0) { writer.WriteLine(MarkdownConverter.GetTableHead( new HeadCell(reactiveSystemNameTable, AlignmentCell.None), new HeadCell(typeTable, AlignmentCell.Left), new HeadCell(EntityTable, AlignmentCell.Center), new HeadCell(triggerTable, AlignmentCell.Left), new HeadCell(descriptionTable, AlignmentCell.Left))); foreach (var system in systems.Where(x => x.IsReactive)) { string description = system.Description.Replace("\r\n", "<br/>"); string types = system.Types.Count > 1 ? MarkdownConverter.ConvertToUnnumaricalList(system.Types) : (system.Types.FirstOrDefault() ?? imgNegCheckMark); string triggerType = (!string.IsNullOrEmpty(system.Reactive.TriggerType) ? string.Format("{0}:<br/>", system.Reactive.TriggerType) : string.Empty); string triggers = system.Reactive.Triggers.Count > 1 ? MarkdownConverter.ConvertToUnnumaricalList(system.Reactive.Triggers) : (system.Reactive.Triggers.FirstOrDefault() ?? imgNegCheckMark); writer.WriteLine(MarkdownConverter.GetTableCustomRow(system.Name, types, system.Reactive.Entity, triggerType + triggers, description)); } writer.WriteLine(MarkdownConverter.GetHorizontalLine()); } }