]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
feat: Ghost Role Button only turns red when new ghost roles are added (#35970)
authorDakota <72140289+1337Dakota@users.noreply.github.com>
Fri, 21 Mar 2025 00:15:39 +0000 (01:15 +0100)
committerGitHub <noreply@github.com>
Fri, 21 Mar 2025 00:15:39 +0000 (11:15 +1100)
* feat: Ghost Role Button only turns red when new ghost roles are added

* fix: Make _prevNumberRoles private

Content.Client/UserInterface/Systems/Ghost/Widgets/GhostGui.xaml.cs

index 0f64e8a27519b775a22d44bfcb288436a80e951a..db16895d599f27a2eddf83067646c5a1c0141229 100644 (file)
@@ -14,6 +14,7 @@ public sealed partial class GhostGui : UIWidget
     public event Action? RequestWarpsPressed;
     public event Action? ReturnToBodyPressed;
     public event Action? GhostRolesPressed;
+    private int _prevNumberRoles;
 
     public GhostGui()
     {
@@ -26,6 +27,7 @@ public sealed partial class GhostGui : UIWidget
         GhostWarpButton.OnPressed += _ => RequestWarpsPressed?.Invoke();
         ReturnToBodyButton.OnPressed += _ => ReturnToBodyPressed?.Invoke();
         GhostRolesButton.OnPressed += _ => GhostRolesPressed?.Invoke();
+        GhostRolesButton.OnPressed += _ => GhostRolesButton.StyleClasses.Remove(StyleBase.ButtonCaution);
     }
 
     public void Hide()
@@ -41,14 +43,13 @@ public sealed partial class GhostGui : UIWidget
         if (roles != null)
         {
             GhostRolesButton.Text = Loc.GetString("ghost-gui-ghost-roles-button", ("count", roles));
-            if (roles > 0)
+
+            if (roles > _prevNumberRoles)
             {
                 GhostRolesButton.StyleClasses.Add(StyleBase.ButtonCaution);
             }
-            else
-            {
-                GhostRolesButton.StyleClasses.Remove(StyleBase.ButtonCaution);
-            }
+
+            _prevNumberRoles = (int)roles;
         }
 
         TargetWindow.Populate();