Use explicit Optional<T> type for OptionalCFrame.

This commit is contained in:
Max
2021-05-05 13:06:20 -05:00
parent 0e7f9030c8
commit f421743b08
10 changed files with 69 additions and 14 deletions

View File

@ -599,7 +599,7 @@ namespace RobloxFiles
propType = Property.Types[fieldType];
else if (fieldType.IsEnum)
propType = PropertyType.Enum;
if (propType != PropertyType.Unknown)
{
if (fieldName.EndsWith("_"))
@ -615,24 +615,35 @@ namespace RobloxFiles
case "String":
case "Double":
case "Int64":
{
xmlToken = xmlToken.ToLowerInvariant();
break;
}
case "Boolean":
{
xmlToken = "bool";
break;
}
case "Single":
{
xmlToken = "float";
break;
}
case "Int32":
{
xmlToken = "int";
break;
}
case "Rect":
{
xmlToken = "Rect2D";
break;
}
case "CFrame":
{
xmlToken = "CoordinateFrame";
break;
default: break;
}
}
if (!props.ContainsKey(fieldName))

View File

@ -88,8 +88,9 @@ namespace RobloxFiles
{ typeof(SharedString), PropertyType.SharedString },
{ typeof(Vector3int16), PropertyType.Vector3int16 },
{ typeof(ColorSequence), PropertyType.ColorSequence },
{ typeof(NumberSequence), PropertyType.NumberSequence },
{ typeof(ColorSequence), PropertyType.ColorSequence },
{ typeof(NumberSequence), PropertyType.NumberSequence },
{ typeof(Optional<CFrame>), PropertyType.OptionalCFrame },
{ typeof(ProtectedString), PropertyType.String },
{ typeof(PhysicalProperties), PropertyType.PhysicalProperties },