Fix int2 arrays not being parsed
This commit is contained in:
@@ -475,6 +475,23 @@ namespace OpenRA
|
|||||||
}
|
}
|
||||||
else if (fieldType == typeof(bool))
|
else if (fieldType == typeof(bool))
|
||||||
return ParseYesNo(value, fieldType, fieldName);
|
return ParseYesNo(value, fieldType, fieldName);
|
||||||
|
else if (fieldType == typeof(int2[]))
|
||||||
|
{
|
||||||
|
if (value != null)
|
||||||
|
{
|
||||||
|
var parts = value.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
|
||||||
|
if (parts.Length % 2 != 0)
|
||||||
|
return InvalidValueAction(value, fieldType, fieldName);
|
||||||
|
|
||||||
|
var ints = new int2[parts.Length / 2];
|
||||||
|
for (var i = 0; i < ints.Length; i++)
|
||||||
|
ints[i] = new int2(Exts.ParseIntegerInvariant(parts[2 * i]), Exts.ParseIntegerInvariant(parts[2 * i + 1]));
|
||||||
|
|
||||||
|
return ints;
|
||||||
|
}
|
||||||
|
|
||||||
|
return InvalidValueAction(value, fieldType, fieldName);
|
||||||
|
}
|
||||||
else if (fieldType.IsArray && fieldType.GetArrayRank() == 1)
|
else if (fieldType.IsArray && fieldType.GetArrayRank() == 1)
|
||||||
{
|
{
|
||||||
if (value == null)
|
if (value == null)
|
||||||
|
|||||||
Reference in New Issue
Block a user