Compare commits

..

3 Commits

Author SHA1 Message Date
ww-rm
ef7ef76a59 更新至v0.12.9 2025-05-01 22:40:59 +08:00
ww-rm
a9834bcc13 update changelog 2025-05-01 22:40:38 +08:00
ww-rm
ec2752464d 修复部分情况下为调用UpdateCache导致皮肤设置失败 2025-05-01 22:38:55 +08:00
9 changed files with 19 additions and 1 deletions

View File

@@ -1,5 +1,9 @@
# CHANGELOG # CHANGELOG
## v0.12.9
- 修复由于未调用 UpdateCache 导致的约束 bug
## v0.12.8 ## v0.12.8
- 增加英语界面文本 - 增加英语界面文本

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();

View File

@@ -7,7 +7,7 @@
<TargetFramework>net8.0-windows</TargetFramework> <TargetFramework>net8.0-windows</TargetFramework>
<BaseOutputPath>$(SolutionDir)out</BaseOutputPath> <BaseOutputPath>$(SolutionDir)out</BaseOutputPath>
<IncludeSourceRevisionInInformationalVersion>false</IncludeSourceRevisionInInformationalVersion> <IncludeSourceRevisionInInformationalVersion>false</IncludeSourceRevisionInInformationalVersion>
<Version>0.12.8</Version> <Version>0.12.9</Version>
<OutputType>WinExe</OutputType> <OutputType>WinExe</OutputType>
<UseWindowsForms>true</UseWindowsForms> <UseWindowsForms>true</UseWindowsForms>
<ApplicationIcon>appicon.ico</ApplicationIcon> <ApplicationIcon>appicon.ico</ApplicationIcon>