public override object NodeToType(Type type, YamlNode node, YamlObjectSerializer serializer) { var args = node.ToString().Split(','); var b = float.Parse(args[0], CultureInfo.InvariantCulture); var l = float.Parse(args[1], CultureInfo.InvariantCulture); var t = float.Parse(args[2], CultureInfo.InvariantCulture); var r = float.Parse(args[3], CultureInfo.InvariantCulture); return(new Box2(l, b, r, t)); }
/// <summary> /// Turn a YAML node into an integer value with the correct flags set. /// </summary> public override object NodeToType(Type type, YamlNode node, YamlObjectSerializer objectSerializer) { // Fallback to just a number, if it's not in flag format yet // This is a hack, but it's only for legacy representations, so it's not so bad if (node is YamlScalarNode) { return((int)objectSerializer.NodeToType(typeof(int), node)); } return(base.NodeToType(type, node, objectSerializer)); }
public override YamlNode TypeToNode(object obj, YamlObjectSerializer serializer) { var color = (Color)obj; Int32 hexColor = 0; hexColor += color.RByte << 24; hexColor += color.GByte << 16; hexColor += color.BByte << 8; hexColor += color.AByte; return(new YamlScalarNode("#" + hexColor.ToString("X"))); }
public override YamlNode TypeToNode(object obj, YamlObjectSerializer serializer) { switch (obj) { case SpriteSpecifier.Texture tex: return(tex.TexturePath.ToString()); case SpriteSpecifier.Rsi rsi: var mapping = new YamlMappingNode(); mapping.Add("sprite", rsi.RsiPath.ToString()); mapping.Add("state", rsi.RsiState); return(mapping); } throw new NotImplementedException(); }
public override YamlNode TypeToNode(object obj, YamlObjectSerializer serializer) { var node = new YamlMappingNode(); var type = obj.GetType(); var fields = type.GetFields(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic); foreach (var field in fields) { if (field.IsNotSerialized) { continue; } var fVal = field.GetValue(obj); // Potential recursive infinite loop? var fTypeNode = serializer.TypeToNode(fVal); node.Add(field.Name, fTypeNode); } return(node); }
public abstract object NodeToType(Type type, YamlNode node, YamlObjectSerializer serializer);
public override object NodeToType(Type type, YamlNode node, YamlObjectSerializer serializer) { return(SpriteSpecifier.FromYaml(node)); }
public override object NodeToType(Type _type, YamlNode node, YamlObjectSerializer serializer) { return(_formatter.FromCustomFormat(serializer.NodeToType(_formatter.Format, node))); }
public override YamlNode TypeToNode(object obj, YamlObjectSerializer serializer) { var val = (int)(GridId)obj; return(new YamlScalarNode(val.ToString())); }
public override object NodeToType(Type type, YamlNode node, YamlObjectSerializer serializer) { var val = int.Parse(node.ToString(), CultureInfo.InvariantCulture); return(new MapId(val)); }
public override YamlNode TypeToNode(object obj, YamlObjectSerializer serializer) { var vec = (Vector4)obj; return(new YamlScalarNode($"{vec.X.ToString(CultureInfo.InvariantCulture)},{vec.Y.ToString(CultureInfo.InvariantCulture)},{vec.Z.ToString(CultureInfo.InvariantCulture)},{vec.W.ToString(CultureInfo.InvariantCulture)}")); }
public override YamlNode TypeToNode(object obj, YamlObjectSerializer serializer) { var seconds = ((TimeSpan)obj).TotalSeconds; return(new YamlScalarNode(seconds.ToString(CultureInfo.InvariantCulture))); }
public override object NodeToType(Type type, YamlNode node, YamlObjectSerializer serializer) { var seconds = double.Parse(node.AsString(), CultureInfo.InvariantCulture); return(TimeSpan.FromSeconds(seconds)); }
/// <summary> /// Turn an integer into a YAML node with the corresponding constant name. /// </summary> /// <returns> /// A string node of the constant corresponding to the given value. /// </returns> /// <exception cref="ConstantSerializerException"> /// Thrown if there is no corresponding constant name to the value passed in. /// </exception> public override YamlNode TypeToNode(object obj, YamlObjectSerializer objectSerializer) { return(base.TypeToNode(obj, objectSerializer)); }
public abstract YamlNode TypeToNode(object obj, YamlObjectSerializer serializer);
public override YamlNode TypeToNode(object obj, YamlObjectSerializer serializer) { var color = (Color)obj; return(new YamlScalarNode(color.ToHex())); }
public override YamlNode TypeToNode(object obj, YamlObjectSerializer serializer) { var val = ((Angle)obj).Theta; return(new YamlScalarNode($"{val.ToString(CultureInfo.InvariantCulture)} rad")); }
public override object NodeToType(Type type, YamlNode node, YamlObjectSerializer serializer) { return(new GridId(node.AsInt())); }
public override YamlNode TypeToNode(object obj, YamlObjectSerializer serializer) { var box = (Box2)obj; return(new YamlScalarNode($"{box.Bottom.ToString(CultureInfo.InvariantCulture)},{box.Left.ToString(CultureInfo.InvariantCulture)},{box.Top.ToString(CultureInfo.InvariantCulture)},{box.Right.ToString(CultureInfo.InvariantCulture)}")); }
public override object NodeToType(Type type, YamlNode node, YamlObjectSerializer serializer) { return(node.AsVector2()); }
public override object NodeToType(Type type, YamlNode node, YamlObjectSerializer serializer) { return(node.AsResourcePath()); }
public override YamlNode TypeToNode(object obj, YamlObjectSerializer serializer) { var t = (T)obj; return(serializer.TypeToNode(_formatter.ToCustomFormat(t))); }
public override YamlNode TypeToNode(object obj, YamlObjectSerializer serializer) { return(new YamlScalarNode(obj.ToString())); }