OpenRA.MapField.Serialize C# (CSharp) Method

Serialize() public method

public Serialize ( Map map, List nodes ) : void
map Map
nodes List
return void
        public void Serialize(Map map, List<MiniYamlNode> nodes)
        {
            var value = field != null ? field.GetValue(map) : property.GetValue(map, null);
            if (type == Type.NodeList)
            {
                var listValue = (List<MiniYamlNode>)value;
                if (required || listValue.Any())
                    nodes.Add(new MiniYamlNode(key, null, listValue));
            }
            else if (type == Type.MiniYaml)
            {
                var yamlValue = (MiniYaml)value;
                if (required || (yamlValue != null && (yamlValue.Value != null || yamlValue.Nodes.Any())))
                    nodes.Add(new MiniYamlNode(key, yamlValue));
            }
            else
            {
                var formattedValue = FieldSaver.FormatValue(value);
                if (required || formattedValue != ignoreIfValue)
                    nodes.Add(new MiniYamlNode(key, formattedValue));
            }
        }