Fix ChemMaster labelling behavior (#11290)

This commit is contained in:
Illiux
2022-09-14 23:27:22 -07:00
committed by GitHub
parent 4fc235f464
commit 8e7c1cb133
3 changed files with 41 additions and 26 deletions

View File

@@ -15,6 +15,7 @@ namespace Content.Server.Labels
public sealed class HandLabelerSystem : EntitySystem
{
[Dependency] private readonly UserInterfaceSystem _userInterfaceSystem = default!;
[Dependency] private readonly LabelSystem _labelSystem = default!;
public override void Initialize()
{
@@ -44,23 +45,14 @@ namespace Content.Server.Labels
return;
}
LabelComponent label = target.EnsureComponent<LabelComponent>();
if (label.OriginalName != null)
EntityManager.GetComponent<MetaDataComponent>(target).EntityName = label.OriginalName;
label.OriginalName = null;
if (handLabeler.AssignedLabel == string.Empty)
{
label.CurrentLabel = null;
_labelSystem.Label(target, null);
result = Loc.GetString("hand-labeler-successfully-removed");
return;
}
label.OriginalName = EntityManager.GetComponent<MetaDataComponent>(target).EntityName;
string val = EntityManager.GetComponent<MetaDataComponent>(target).EntityName + $" ({handLabeler.AssignedLabel})";
EntityManager.GetComponent<MetaDataComponent>(target).EntityName = val;
label.CurrentLabel = handLabeler.AssignedLabel;
_labelSystem.Label(target, handLabeler.AssignedLabel);
result = Loc.GetString("hand-labeler-successfully-applied");
}