]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Remove use delay cancellation tokens (#14405)
authorLeon Friedrich <60421075+ElectroJr@users.noreply.github.com>
Sun, 5 Mar 2023 16:42:04 +0000 (05:42 +1300)
committerGitHub <noreply@github.com>
Sun, 5 Mar 2023 16:42:04 +0000 (03:42 +1100)
Content.Shared/Timing/UseDelayComponent.cs
Content.Shared/Timing/UseDelaySystem.cs

index e6884ebee27483474e4f9c8ad4bf7925a12b0c46..8960ad688c8519d84a8b504935500d254afb649b 100644 (file)
@@ -25,9 +25,7 @@ namespace Content.Shared.Timing
         [DataField("remainingDelay")]
         public TimeSpan? RemainingDelay;
 
-        public CancellationTokenSource? CancellationTokenSource;
-
-        public bool ActiveDelay => CancellationTokenSource is { Token: { IsCancellationRequested: false } };
+        public bool ActiveDelay => DelayEndTime != null;
     }
 
     [Serializable, NetSerializable]
index 3626370d89fd3723169c94c8a0e2231f40d91f09..f6dcdafe41dd741d712f49e80e7597c503f39e43 100644 (file)
@@ -73,12 +73,12 @@ public sealed class UseDelaySystem : EntitySystem
         var curTime = _gameTiming.CurTime;
         var mQuery = EntityManager.GetEntityQuery<MetaDataComponent>();
 
+        // TODO refactor this to use active components
         foreach (var delay in _activeDelays)
         {
             if (delay.DelayEndTime == null ||
                 curTime > delay.DelayEndTime ||
-                Deleted(delay.Owner, mQuery) ||
-                delay.CancellationTokenSource?.Token.IsCancellationRequested == true)
+                Deleted(delay.Owner, mQuery))
             {
                 toRemove.Add(delay);
             }
@@ -86,7 +86,6 @@ public sealed class UseDelaySystem : EntitySystem
 
         foreach (var delay in toRemove)
         {
-            delay.CancellationTokenSource = null;
             delay.DelayEndTime = null;
             _activeDelays.Remove(delay);
             Dirty(delay);
@@ -98,9 +97,8 @@ public sealed class UseDelaySystem : EntitySystem
         if (!Resolve(uid, ref component, false))
             return;
 
-        if (component.ActiveDelay || Deleted(uid)) return;
-
-        component.CancellationTokenSource = new CancellationTokenSource();
+        if (component.ActiveDelay)
+            return;
 
         DebugTools.Assert(!_activeDelays.Contains(component));
         _activeDelays.Add(component);
@@ -123,8 +121,6 @@ public sealed class UseDelaySystem : EntitySystem
 
     public void Cancel(UseDelayComponent component)
     {
-        component.CancellationTokenSource?.Cancel();
-        component.CancellationTokenSource = null;
         component.DelayEndTime = null;
         _activeDelays.Remove(component);
         Dirty(component);
@@ -134,11 +130,4 @@ public sealed class UseDelaySystem : EntitySystem
             cooldown.CooldownEnd = _gameTiming.CurTime;
         }
     }
-
-    public void Restart(UseDelayComponent component)
-    {
-        component.CancellationTokenSource?.Cancel();
-        component.CancellationTokenSource = null;
-        BeginDelay(component.Owner, component);
-    }
 }