修复部分情况下为调用UpdateCache导致皮肤设置失败

This commit is contained in:
ww-rm
2025-05-01 22:38:55 +08:00
parent 7b6a9b2a0f
commit ec2752464d
7 changed files with 14 additions and 0 deletions

View File

@@ -181,12 +181,14 @@ namespace SpineViewer.Spine.Implementations.SpineObject
skeleton.Skin.AddAttachment(k.Key, k.Value, v); skeleton.Skin.AddAttachment(k.Key, k.Value, v);
} }
skeleton.SetSlotsToSetupPose(); skeleton.SetSlotsToSetupPose();
skeleton.UpdateCache();
} }
protected override void clearSkins() protected override void clearSkins()
{ {
skeleton.Skin.Attachments.Clear(); skeleton.Skin.Attachments.Clear();
skeleton.SetSlotsToSetupPose(); skeleton.SetSlotsToSetupPose();
skeleton.UpdateCache();
} }
protected override int[] getTrackIndices() => animationState.Tracks.Select((_, i) => i).Where(i => animationState.Tracks[i] is not null).ToArray(); protected override int[] getTrackIndices() => animationState.Tracks.Select((_, i) => i).Where(i => animationState.Tracks[i] is not null).ToArray();

View File

@@ -180,12 +180,14 @@ namespace SpineViewer.Spine.Implementations.SpineObject
skeleton.Skin.AddAttachment(k.slotIndex, k.name, v); skeleton.Skin.AddAttachment(k.slotIndex, k.name, v);
} }
skeleton.SetSlotsToSetupPose(); skeleton.SetSlotsToSetupPose();
skeleton.UpdateCache();
} }
protected override void clearSkins() protected override void clearSkins()
{ {
skeleton.Skin.Attachments.Clear(); skeleton.Skin.Attachments.Clear();
skeleton.SetSlotsToSetupPose(); skeleton.SetSlotsToSetupPose();
skeleton.UpdateCache();
} }
protected override int[] getTrackIndices() => animationState.Tracks.Select((_, i) => i).Where(i => animationState.Tracks.Items[i] is not null).ToArray(); protected override int[] getTrackIndices() => animationState.Tracks.Select((_, i) => i).Where(i => animationState.Tracks.Items[i] is not null).ToArray();

View File

@@ -177,12 +177,14 @@ namespace SpineViewer.Spine.Implementations.SpineObject
skeleton.Skin.AddAttachment(k.slotIndex, k.name, v); skeleton.Skin.AddAttachment(k.slotIndex, k.name, v);
} }
skeleton.SetSlotsToSetupPose(); skeleton.SetSlotsToSetupPose();
skeleton.UpdateCache();
} }
protected override void clearSkins() protected override void clearSkins()
{ {
skeleton.Skin.Attachments.Clear(); skeleton.Skin.Attachments.Clear();
skeleton.SetSlotsToSetupPose(); skeleton.SetSlotsToSetupPose();
skeleton.UpdateCache();
} }
protected override int[] getTrackIndices() => animationState.Tracks.Select((_, i) => i).Where(i => animationState.Tracks.Items[i] is not null).ToArray(); protected override int[] getTrackIndices() => animationState.Tracks.Select((_, i) => i).Where(i => animationState.Tracks.Items[i] is not null).ToArray();

View File

@@ -181,6 +181,7 @@ namespace SpineViewer.Spine.Implementations.SpineObject
{ {
skeleton.Skin.AddSkin(sk); skeleton.Skin.AddSkin(sk);
skeleton.SetSlotsToSetupPose(); skeleton.SetSlotsToSetupPose();
skeleton.UpdateCache();
} }
} }
@@ -188,6 +189,7 @@ namespace SpineViewer.Spine.Implementations.SpineObject
{ {
skeleton.Skin.Clear(); skeleton.Skin.Clear();
skeleton.SetSlotsToSetupPose(); skeleton.SetSlotsToSetupPose();
skeleton.UpdateCache();
} }
protected override int[] getTrackIndices() => animationState.Tracks.Select((_, i) => i).Where(i => animationState.Tracks.Items[i] is not null).ToArray(); protected override int[] getTrackIndices() => animationState.Tracks.Select((_, i) => i).Where(i => animationState.Tracks.Items[i] is not null).ToArray();

View File

@@ -177,6 +177,7 @@ namespace SpineViewer.Spine.Implementations.SpineObject
{ {
skeleton.Skin.AddSkin(sk); skeleton.Skin.AddSkin(sk);
skeleton.SetSlotsToSetupPose(); skeleton.SetSlotsToSetupPose();
skeleton.UpdateCache();
} }
} }
@@ -184,6 +185,7 @@ namespace SpineViewer.Spine.Implementations.SpineObject
{ {
skeleton.Skin.Clear(); skeleton.Skin.Clear();
skeleton.SetSlotsToSetupPose(); skeleton.SetSlotsToSetupPose();
skeleton.UpdateCache();
} }
protected override int[] getTrackIndices() => animationState.Tracks.Select((_, i) => i).Where(i => animationState.Tracks.Items[i] is not null).ToArray(); protected override int[] getTrackIndices() => animationState.Tracks.Select((_, i) => i).Where(i => animationState.Tracks.Items[i] is not null).ToArray();

View File

@@ -177,6 +177,7 @@ namespace SpineViewer.Spine.Implementations.SpineObject
{ {
skeleton.Skin.AddSkin(sk); skeleton.Skin.AddSkin(sk);
skeleton.SetSlotsToSetupPose(); skeleton.SetSlotsToSetupPose();
skeleton.UpdateCache();
} }
} }
@@ -184,6 +185,7 @@ namespace SpineViewer.Spine.Implementations.SpineObject
{ {
skeleton.Skin.Clear(); skeleton.Skin.Clear();
skeleton.SetSlotsToSetupPose(); skeleton.SetSlotsToSetupPose();
skeleton.UpdateCache();
} }
protected override int[] getTrackIndices() => animationState.Tracks.Select((_, i) => i).Where(i => animationState.Tracks.Items[i] is not null).ToArray(); protected override int[] getTrackIndices() => animationState.Tracks.Select((_, i) => i).Where(i => animationState.Tracks.Items[i] is not null).ToArray();

View File

@@ -177,6 +177,7 @@ namespace SpineViewer.Spine.Implementations.SpineObject
{ {
skeleton.Skin.AddSkin(sk); skeleton.Skin.AddSkin(sk);
skeleton.SetSlotsToSetupPose(); skeleton.SetSlotsToSetupPose();
skeleton.UpdateCache();
} }
} }
@@ -184,6 +185,7 @@ namespace SpineViewer.Spine.Implementations.SpineObject
{ {
skeleton.Skin.Clear(); skeleton.Skin.Clear();
skeleton.SetSlotsToSetupPose(); skeleton.SetSlotsToSetupPose();
skeleton.UpdateCache();
} }
protected override int[] getTrackIndices() => animationState.Tracks.Select((_, i) => i).Where(i => animationState.Tracks.Items[i] is not null).ToArray(); protected override int[] getTrackIndices() => animationState.Tracks.Select((_, i) => i).Where(i => animationState.Tracks.Items[i] is not null).ToArray();