Skip to content

Commit c27732d

Browse files
committed
fix: 当鼠标放到一个非 Modifier Leaf 上时, 会错误的显示描述
1 parent f1b3172 commit c27732d

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

VModer.Core/Services/Hovers/TechnologyHoverStrategy.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ UnitService unitService
3030
"desc"
3131
];
3232

33-
// TODO: 当鼠标放到一个非 Modifier Leaf 上时, 会错误的显示描述
3433
public string GetHoverText(Node rootNode, HoverParams request)
3534
{
3635
var localPosition = request.Position.ToLocalPosition();
@@ -41,11 +40,11 @@ public string GetHoverText(Node rootNode, HoverParams request)
4140
var modifiers = new List<IModifier>(4);
4241
if (pointedChild.TryGetNode(out var node) && rootNode.IsItemNode("technologies", adjacentNode))
4342
{
44-
GetModifiersForNode(node, modifiers);
43+
GetModifiersForNode(node, modifiers, rootNode);
4544
}
4645
else
4746
{
48-
ProcessChildForModifiers(pointedChild, modifiers);
47+
ProcessChildForModifiers(pointedChild, modifiers, adjacentNode, rootNode);
4948
}
5049

5150
var descriptions = modifierDisplayService.GetDescription(modifiers);
@@ -62,22 +61,23 @@ public string GetHoverText(Node rootNode, HoverParams request)
6261
return builder.ToString();
6362
}
6463

65-
private void GetModifiersForNode(Node node, List<IModifier> modifiers)
64+
private void GetModifiersForNode(Node node, List<IModifier> modifiers, Node rootNode)
6665
{
6766
foreach (var child in node.AllArray)
6867
{
69-
ProcessChildForModifiers(child, modifiers);
68+
ProcessChildForModifiers(child, modifiers, node, rootNode);
7069
}
7170
}
7271

73-
private void ProcessChildForModifiers(Child child, List<IModifier> modifiers)
72+
private void ProcessChildForModifiers(Child child, List<IModifier> modifiers, Node parent, Node rootNode)
7473
{
7574
if (
7675
child.TryGetLeaf(out var leaf)
7776
&& !Array.Exists(
7877
LeafKeywords,
7978
keyword => keyword.Equals(leaf.Key, StringComparison.OrdinalIgnoreCase)
8079
)
80+
&& (unitService.Contains(parent.Key) || rootNode.IsItemNode("technologies", parent))
8181
)
8282
{
8383
modifiers.Add(LeafModifier.FromLeaf(leaf));

0 commit comments

Comments
 (0)