private string InnerSerialize(CfgNode node) { var meta = CfgMetadataCache.GetMetadata(node.GetType()); var builder = new StringBuilder(); if (meta.All(kv => kv.Value.ListType == null)) { builder.Append("{"); SerializeAttributes(meta, node, builder); builder.TrimEnd(", "); builder.Append(" }"); } else { builder.AppendLine("{"); SerializeAttributes(meta, node, builder); SerializeElements(meta, node, builder, 1); builder.AppendLine(); builder.Append("}"); } return builder.ToString(); }
string InnerSerialize(CfgNode node) { var type = node.GetType(); #if NETS var attribute = type.GetTypeInfo().GetCustomAttributes(typeof(CfgAttribute), true).FirstOrDefault() as CfgAttribute; #else var attribute = type.GetCustomAttributes(typeof(CfgAttribute), true).FirstOrDefault() as CfgAttribute; #endif if (attribute != null && !attribute.serialize) { return(string.Empty); } var name = !string.IsNullOrEmpty(attribute?.name) ? attribute.name : type.Name; var meta = CfgMetadataCache.GetMetadata(type); var builder = new StringBuilder(); if (JustAttributes(meta, node)) { builder.Append("<add"); SerializeAttributes(meta, node, builder); builder.Append(" />"); } else { builder.Append("<"); builder.Append(name); SerializeAttributes(meta, node, builder); builder.AppendLine(">"); SerializeElements(meta, node, builder, 1); builder.Append("</"); builder.Append(name); builder.Append(">"); } return(builder.ToString()); }
string InnerSerialize(CfgNode node) { var type = node.GetType(); var meta = CfgMetadataCache.GetMetadata(type); var builder = new StringBuilder(); if (JustAttributes(meta, node)) { builder.Append("<add"); SerializeAttributes(meta, node, builder); builder.Append(" />"); } else { builder.Append("<"); builder.Append(type.Name); SerializeAttributes(meta, node, builder); builder.AppendLine(">"); SerializeElements(meta, node, builder, 1); builder.Append("</"); builder.Append(type.Name); builder.Append(">"); } return builder.ToString(); }
private string InnerSerialize(CfgNode node) { var meta = CfgMetadataCache.GetMetadata(node.GetType()); var builder = new StringBuilder(); if (meta.All(kv => kv.Value.ListType == null)) { builder.Append("{"); SerializeAttributes(meta, node, builder); builder.TrimEnd(", "); builder.Append(" }"); } else { builder.AppendLine("{"); SerializeAttributes(meta, node, builder); SerializeElements(meta, node, builder, 1); builder.TrimEnd(", "); builder.AppendLine(); builder.Append("}"); } return(builder.ToString()); }