From: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
Date: Thu, 3 Jul 2025 19:11:21 +0000 (+1200)
Subject: Fix TextLinkTag (#32203)
X-Git-Url: https://git.smokeofanarchy.ru/gitweb.cgi?a=commitdiff_plain;h=32f0ba340a809b8fed2c2408d840d70a969b9083;p=space-station-14.git
Fix TextLinkTag (#32203)
---
diff --git a/Content.Client/Guidebook/Richtext/KeyBindTag.cs b/Content.Client/Guidebook/Richtext/KeyBindTag.cs
index 478f1b9bf6..ab74ddf1a0 100644
--- a/Content.Client/Guidebook/Richtext/KeyBindTag.cs
+++ b/Content.Client/Guidebook/Richtext/KeyBindTag.cs
@@ -6,7 +6,7 @@ using Robust.Shared.Utility;
namespace Content.Client.Guidebook.Richtext;
[UsedImplicitly]
-public sealed class KeyBindTag : IMarkupTag
+public sealed class KeyBindTag : IMarkupTagHandler
{
[Dependency] private readonly IInputManager _inputManager = default!;
diff --git a/Content.Client/Guidebook/Richtext/ProtodataTag.cs b/Content.Client/Guidebook/Richtext/ProtodataTag.cs
index a725fd4e4b..2a6eca4e48 100644
--- a/Content.Client/Guidebook/Richtext/ProtodataTag.cs
+++ b/Content.Client/Guidebook/Richtext/ProtodataTag.cs
@@ -9,7 +9,7 @@ namespace Content.Client.Guidebook.RichText;
/// In order to be accessed by this tag, the desired field/property must
/// be tagged with .
///
-public sealed class ProtodataTag : IMarkupTag
+public sealed class ProtodataTag : IMarkupTagHandler
{
[Dependency] private readonly ILogManager _logMan = default!;
[Dependency] private readonly IEntityManager _entMan = default!;
diff --git a/Content.Client/Guidebook/Richtext/TextLinkTag.cs b/Content.Client/Guidebook/Richtext/TextLinkTag.cs
index 27aaa71939..a551b18473 100644
--- a/Content.Client/Guidebook/Richtext/TextLinkTag.cs
+++ b/Content.Client/Guidebook/Richtext/TextLinkTag.cs
@@ -10,16 +10,14 @@ using Content.Client.UserInterface.ControlExtensions;
namespace Content.Client.Guidebook.RichText;
[UsedImplicitly]
-public sealed class TextLinkTag : IMarkupTag
+public sealed class TextLinkTag : IMarkupTagHandler
{
public static Color LinkColor => Color.CornflowerBlue;
public string Name => "textlink";
- public Control? Control;
-
///
- public bool TryGetControl(MarkupNode node, [NotNullWhen(true)] out Control? control)
+ public bool TryCreateControl(MarkupNode node, [NotNullWhen(true)] out Control? control)
{
if (!node.Value.TryGetString(out var text)
|| !node.Attributes.TryGetValue("link", out var linkParameter)
@@ -38,22 +36,21 @@ public sealed class TextLinkTag : IMarkupTag
label.OnMouseEntered += _ => label.FontColorOverride = Color.LightSkyBlue;
label.OnMouseExited += _ => label.FontColorOverride = Color.CornflowerBlue;
- label.OnKeyBindDown += args => OnKeybindDown(args, link);
+ label.OnKeyBindDown += args => OnKeybindDown(args, link, label);
control = label;
- Control = label;
return true;
}
- private void OnKeybindDown(GUIBoundKeyEventArgs args, string link)
+ private void OnKeybindDown(GUIBoundKeyEventArgs args, string link, Control? control)
{
if (args.Function != EngineKeyFunctions.UIClick)
return;
- if (Control == null)
+ if (control == null)
return;
- if (Control.TryGetParentHandler(out var handler))
+ if (control.TryGetParentHandler(out var handler))
handler.HandleClick(link);
else
Logger.Warning("Warning! No valid ILinkClickHandler found.");