diff --git a/Content.Client/_DV/Reputation/UI/ContractsWindow.xaml.cs b/Content.Client/_DV/Reputation/UI/ContractsWindow.xaml.cs index d73dfe5dd1b..ea2a6146686 100644 --- a/Content.Client/_DV/Reputation/UI/ContractsWindow.xaml.cs +++ b/Content.Client/_DV/Reputation/UI/ContractsWindow.xaml.cs @@ -52,6 +52,7 @@ public void UpdateState() else { var empty = new EmptyContract(comp.Slots[i].NextUnlock); + empty.OnUnlock += UpdateState; if (!empty.IsLocked) slotsFull = false; Contracts.AddChild(empty); diff --git a/Content.Client/_DV/Reputation/UI/EmptyContract.xaml.cs b/Content.Client/_DV/Reputation/UI/EmptyContract.xaml.cs index e6e0686f214..fd443d4e780 100644 --- a/Content.Client/_DV/Reputation/UI/EmptyContract.xaml.cs +++ b/Content.Client/_DV/Reputation/UI/EmptyContract.xaml.cs @@ -13,8 +13,7 @@ public sealed partial class EmptyContract : BoxContainer { [Dependency] private readonly IGameTiming _timing = default!; - public event Action? OnComplete; - public event Action? OnReject; + public event Action? OnUnlock; private TimeSpan? _nextUnlock; private TimeSpan _nextUpdate; @@ -43,6 +42,7 @@ private void UpdateUnlock() // unlocked now _nextUnlock = null; UnlockLabel.Visible = false; + OnUnlock?.Invoke(); return; }