Roblox-File-Format/Tokens/Int.cs
2021-02-25 14:09:54 -06:00

33 lines
1016 B
C#

using System.Xml;
using RobloxFiles.XmlFormat;
namespace RobloxFiles.Tokens
{
public class IntToken : IXmlPropertyToken
{
public string XmlPropertyToken => "int";
public bool ReadProperty(Property prop, XmlNode token)
{
// BrickColors are represented by ints, see if
// we can infer when they should be a BrickColor.
if (prop.Name.Contains("Color") || prop.Instance.ClassName.Contains("Color"))
{
var brickColorToken = XmlPropertyTokens.GetHandler<BrickColorToken>();
return brickColorToken.ReadProperty(prop, token);
}
else
{
return XmlPropertyTokens.ReadPropertyGeneric<int>(prop, PropertyType.Int, token);
}
}
public void WriteProperty(Property prop, XmlDocument doc, XmlNode node)
{
int value = prop.CastValue<int>();
node.InnerText = value.ToInvariantString();
}
}
}