mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2026-02-04 14:24:53 +08:00
[csharp] Fixed locale-based exception when parsing a Spine atlas. Closes #1354.
This commit is contained in:
parent
dae8f78409
commit
a8c0abc0c8
@ -33,6 +33,7 @@
|
|||||||
|
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.Globalization;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
|
|
||||||
@ -123,8 +124,8 @@ namespace Spine {
|
|||||||
page.name = line;
|
page.name = line;
|
||||||
|
|
||||||
if (ReadTuple(reader, tuple) == 2) { // size is only optional for an atlas packed with an old TexturePacker.
|
if (ReadTuple(reader, tuple) == 2) { // size is only optional for an atlas packed with an old TexturePacker.
|
||||||
page.width = int.Parse(tuple[0]);
|
page.width = int.Parse(tuple[0], CultureInfo.InvariantCulture);
|
||||||
page.height = int.Parse(tuple[1]);
|
page.height = int.Parse(tuple[1], CultureInfo.InvariantCulture);
|
||||||
ReadTuple(reader, tuple);
|
ReadTuple(reader, tuple);
|
||||||
}
|
}
|
||||||
page.format = (Format)Enum.Parse(typeof(Format), tuple[0], false);
|
page.format = (Format)Enum.Parse(typeof(Format), tuple[0], false);
|
||||||
@ -155,12 +156,12 @@ namespace Spine {
|
|||||||
region.rotate = Boolean.Parse(ReadValue(reader));
|
region.rotate = Boolean.Parse(ReadValue(reader));
|
||||||
|
|
||||||
ReadTuple(reader, tuple);
|
ReadTuple(reader, tuple);
|
||||||
int x = int.Parse(tuple[0]);
|
int x = int.Parse(tuple[0], CultureInfo.InvariantCulture);
|
||||||
int y = int.Parse(tuple[1]);
|
int y = int.Parse(tuple[1], CultureInfo.InvariantCulture);
|
||||||
|
|
||||||
ReadTuple(reader, tuple);
|
ReadTuple(reader, tuple);
|
||||||
int width = int.Parse(tuple[0]);
|
int width = int.Parse(tuple[0], CultureInfo.InvariantCulture);
|
||||||
int height = int.Parse(tuple[1]);
|
int height = int.Parse(tuple[1], CultureInfo.InvariantCulture);
|
||||||
|
|
||||||
region.u = x / (float)page.width;
|
region.u = x / (float)page.width;
|
||||||
region.v = y / (float)page.height;
|
region.v = y / (float)page.height;
|
||||||
@ -177,25 +178,29 @@ namespace Spine {
|
|||||||
region.height = Math.Abs(height);
|
region.height = Math.Abs(height);
|
||||||
|
|
||||||
if (ReadTuple(reader, tuple) == 4) { // split is optional
|
if (ReadTuple(reader, tuple) == 4) { // split is optional
|
||||||
region.splits = new [] {int.Parse(tuple[0]), int.Parse(tuple[1]),
|
region.splits = new [] {int.Parse(tuple[0], CultureInfo.InvariantCulture),
|
||||||
int.Parse(tuple[2]), int.Parse(tuple[3])};
|
int.Parse(tuple[1], CultureInfo.InvariantCulture),
|
||||||
|
int.Parse(tuple[2], CultureInfo.InvariantCulture),
|
||||||
|
int.Parse(tuple[3], CultureInfo.InvariantCulture)};
|
||||||
|
|
||||||
if (ReadTuple(reader, tuple) == 4) { // pad is optional, but only present with splits
|
if (ReadTuple(reader, tuple) == 4) { // pad is optional, but only present with splits
|
||||||
region.pads = new [] {int.Parse(tuple[0]), int.Parse(tuple[1]),
|
region.pads = new [] {int.Parse(tuple[0], CultureInfo.InvariantCulture),
|
||||||
int.Parse(tuple[2]), int.Parse(tuple[3])};
|
int.Parse(tuple[1], CultureInfo.InvariantCulture),
|
||||||
|
int.Parse(tuple[2], CultureInfo.InvariantCulture),
|
||||||
|
int.Parse(tuple[3], CultureInfo.InvariantCulture)};
|
||||||
|
|
||||||
ReadTuple(reader, tuple);
|
ReadTuple(reader, tuple);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
region.originalWidth = int.Parse(tuple[0]);
|
region.originalWidth = int.Parse(tuple[0], CultureInfo.InvariantCulture);
|
||||||
region.originalHeight = int.Parse(tuple[1]);
|
region.originalHeight = int.Parse(tuple[1], CultureInfo.InvariantCulture);
|
||||||
|
|
||||||
ReadTuple(reader, tuple);
|
ReadTuple(reader, tuple);
|
||||||
region.offsetX = int.Parse(tuple[0]);
|
region.offsetX = int.Parse(tuple[0], CultureInfo.InvariantCulture);
|
||||||
region.offsetY = int.Parse(tuple[1]);
|
region.offsetY = int.Parse(tuple[1], CultureInfo.InvariantCulture);
|
||||||
|
|
||||||
region.index = int.Parse(ReadValue(reader));
|
region.index = int.Parse(ReadValue(reader), CultureInfo.InvariantCulture);
|
||||||
|
|
||||||
regions.Add(region);
|
regions.Add(region);
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user