From 2b83e975854a8648820cbe637200dc3504cd8f54 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 5 Mar 2026 02:35:28 +0000 Subject: [PATCH] Refactor IsCachedPoseConnection to extract NodeMatchesType helper Co-authored-by: LoogLong <86428208+LoogLong@users.noreply.github.com> --- FModel/Views/AnimGraphViewer.xaml.cs | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/FModel/Views/AnimGraphViewer.xaml.cs b/FModel/Views/AnimGraphViewer.xaml.cs index 6529059d..9e8cabbf 100644 --- a/FModel/Views/AnimGraphViewer.xaml.cs +++ b/FModel/Views/AnimGraphViewer.xaml.cs @@ -931,21 +931,20 @@ public partial class AnimGraphViewer /// private static bool IsCachedPoseConnection(AnimGraphConnection conn) { - var srcType = conn.SourceNode.ExportType; - var tgtType = conn.TargetNode.ExportType; - - var srcIsSave = srcType.Contains("SaveCachedPose", StringComparison.OrdinalIgnoreCase) || - conn.SourceNode.Name.Contains("SaveCachedPose", StringComparison.OrdinalIgnoreCase); - var srcIsUse = srcType.Contains("UseCachedPose", StringComparison.OrdinalIgnoreCase) || - conn.SourceNode.Name.Contains("UseCachedPose", StringComparison.OrdinalIgnoreCase); - var tgtIsSave = tgtType.Contains("SaveCachedPose", StringComparison.OrdinalIgnoreCase) || - conn.TargetNode.Name.Contains("SaveCachedPose", StringComparison.OrdinalIgnoreCase); - var tgtIsUse = tgtType.Contains("UseCachedPose", StringComparison.OrdinalIgnoreCase) || - conn.TargetNode.Name.Contains("UseCachedPose", StringComparison.OrdinalIgnoreCase); + var srcIsSave = NodeMatchesType(conn.SourceNode, "SaveCachedPose"); + var srcIsUse = NodeMatchesType(conn.SourceNode, "UseCachedPose"); + var tgtIsSave = NodeMatchesType(conn.TargetNode, "SaveCachedPose"); + var tgtIsUse = NodeMatchesType(conn.TargetNode, "UseCachedPose"); return (srcIsSave && tgtIsUse) || (srcIsUse && tgtIsSave); } + private static bool NodeMatchesType(AnimGraphNode node, string typeFragment) + { + return node.ExportType.Contains(typeFragment, StringComparison.OrdinalIgnoreCase) || + node.Name.Contains(typeFragment, StringComparison.OrdinalIgnoreCase); + } + /// /// Computes the shortest straight-line connection points between two node edges. /// For state nodes (rounded rectangles) and entry nodes (circles), finds the