From e6f38657a343bc0c9fde14b2b601b13ee70bc09b Mon Sep 17 00:00:00 2001 From: ww-rm Date: Thu, 1 May 2025 00:28:10 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dpath=20constraints=20target?= =?UTF-8?q?=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Implementations/SkeletonConverter/SkeletonConverter38.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/SpineViewer/Spine/Implementations/SkeletonConverter/SkeletonConverter38.cs b/SpineViewer/Spine/Implementations/SkeletonConverter/SkeletonConverter38.cs index d3cd454..53547d9 100644 --- a/SpineViewer/Spine/Implementations/SkeletonConverter/SkeletonConverter38.cs +++ b/SpineViewer/Spine/Implementations/SkeletonConverter/SkeletonConverter38.cs @@ -212,6 +212,7 @@ namespace SpineViewer.Spine.Implementations.SkeletonConverter private void ReadPath() { JsonArray bones = root["bones"].AsArray(); + JsonArray slots = root["slots"].AsArray(); JsonArray path = []; for (int i = 0, n = reader.ReadVarInt(); i < n; i++) { @@ -220,7 +221,7 @@ namespace SpineViewer.Spine.Implementations.SkeletonConverter data["order"] = reader.ReadVarInt(); data["skin"] = reader.ReadBoolean(); data["bones"] = ReadNames(bones); - data["target"] = (string)bones[reader.ReadVarInt()]["name"]; + data["target"] = (string)slots[reader.ReadVarInt()]["name"]; data["positionMode"] = PositionModeJsonValue[(PositionMode)reader.ReadVarInt()]; data["spacingMode"] = SpacingModeJsonValue[(SpacingMode)reader.ReadVarInt()]; data["rotateMode"] = RotateModeJsonValue[(RotateMode)reader.ReadVarInt()]; @@ -1048,7 +1049,7 @@ namespace SpineViewer.Spine.Implementations.SkeletonConverter writer.WriteVarInt((int)(data["order"] ?? 0)); writer.WriteBoolean((bool)(data["skin"] ?? false)); WriteNames(bone2idx, (JsonArray)(data["bones"] ?? new JsonArray())); - writer.WriteVarInt(bone2idx[(string)data["target"]]); + writer.WriteVarInt(slot2idx[(string)data["target"]]); writer.WriteVarInt((int)Enum.Parse((string)(data["positionMode"] ?? "percent"), true)); writer.WriteVarInt((int)Enum.Parse((string)(data["spacingMode"] ?? "length"), true)); writer.WriteVarInt((int)Enum.Parse((string)(data["rotateMode"] ?? "tangent"), true));