[csharp] fix parsing of default skins without attachment for binary files.

This commit is contained in:
badlogic 2019-08-07 11:43:29 +02:00
parent cc694f7b5a
commit 336288cb2e

View File

@ -322,9 +322,15 @@ namespace Spine {
/// <returns>May be null.</returns>
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;
for (int i = 0, n = skin.bones.Count; i < n; i++)
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++)
skin.constraints.Add(skeletonData.pathConstraints.Items[input.ReadInt(true)]);
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);
for (int ii = 0, nn = input.ReadInt(true); ii < nn; ii++) {
String name = input.ReadStringRef();