mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2025-12-21 01:36:02 +08:00
[csharp] fix parsing of default skins without attachment for binary files.
This commit is contained in:
parent
cc694f7b5a
commit
336288cb2e
@ -322,9 +322,15 @@ namespace Spine {
|
|||||||
/// <returns>May be null.</returns>
|
/// <returns>May be null.</returns>
|
||||||
private Skin ReadSkin (SkeletonInput input, SkeletonData skeletonData, bool defaultSkin, bool nonessential) {
|
private Skin ReadSkin (SkeletonInput input, SkeletonData skeletonData, bool defaultSkin, bool nonessential) {
|
||||||
|
|
||||||
Skin skin = new Skin(defaultSkin ? "default" : input.ReadStringRef());
|
Skin skin;
|
||||||
|
int slotCount;
|
||||||
|
|
||||||
if (!defaultSkin) {
|
if (defaultSkin) {
|
||||||
|
slotCount = input.ReadInt(true);
|
||||||
|
if (slotCount == 0) return null;
|
||||||
|
skin = new Skin("default"));
|
||||||
|
} else {
|
||||||
|
skin = new Skin(input.ReadStringRef());
|
||||||
Object[] bones = skin.bones.Resize(input.ReadInt(true)).Items;
|
Object[] bones = skin.bones.Resize(input.ReadInt(true)).Items;
|
||||||
for (int i = 0, n = skin.bones.Count; i < n; i++)
|
for (int i = 0, n = skin.bones.Count; i < n; i++)
|
||||||
bones[i] = skeletonData.bones.Items[input.ReadInt(true)];
|
bones[i] = skeletonData.bones.Items[input.ReadInt(true)];
|
||||||
@ -336,8 +342,9 @@ namespace Spine {
|
|||||||
for (int i = 0, n = input.ReadInt(true); i < n; i++)
|
for (int i = 0, n = input.ReadInt(true); i < n; i++)
|
||||||
skin.constraints.Add(skeletonData.pathConstraints.Items[input.ReadInt(true)]);
|
skin.constraints.Add(skeletonData.pathConstraints.Items[input.ReadInt(true)]);
|
||||||
skin.constraints.TrimExcess();
|
skin.constraints.TrimExcess();
|
||||||
|
slotCount = input.ReadInt(true);
|
||||||
}
|
}
|
||||||
for (int i = 0, n = input.ReadInt(true); i < n; i++) {
|
for (int i = 0; i < slotCount; i++) {
|
||||||
int slotIndex = input.ReadInt(true);
|
int slotIndex = input.ReadInt(true);
|
||||||
for (int ii = 0, nn = input.ReadInt(true); ii < nn; ii++) {
|
for (int ii = 0, nn = input.ReadInt(true); ii < nn; ii++) {
|
||||||
String name = input.ReadStringRef();
|
String name = input.ReadStringRef();
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user