]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Clean up solution regen and drain comps (#29777)
authorIProduceWidgets <107586145+IProduceWidgets@users.noreply.github.com>
Thu, 19 Sep 2024 02:17:13 +0000 (22:17 -0400)
committerGitHub <noreply@github.com>
Thu, 19 Sep 2024 02:17:13 +0000 (12:17 +1000)
* clean up solution regen and drain comps

* Tape applied.

* Update Content.Server/Chemistry/Components/SolutionRegenerationComponent.cs

Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
* remain entity

* That has to be a rogue test fail.

---------

Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
Content.Server/Chemistry/Components/SolutionRegenerationComponent.cs
Content.Server/Chemistry/EntitySystems/SolutionRegenerationSystem.cs
Content.Shared/Fluids/Components/DrainComponent.cs

index 23bf6b215736e32757edb37f60ab85dbc4e1ec69..03c0ffe0c1ae9d97b75d0598b99ab5de5d053437 100644 (file)
@@ -14,31 +14,31 @@ public sealed partial class SolutionRegenerationComponent : Component
     /// <summary>
     /// The name of the solution to add to.
     /// </summary>
-    [DataField("solution", required: true), ViewVariables(VVAccess.ReadWrite)]
+    [DataField("solution", required: true)]
     public string SolutionName = string.Empty;
 
     /// <summary>
     /// The solution to add reagents to.
     /// </summary>
-    [DataField("solutionRef")]
-    public Entity<SolutionComponent>? Solution = null;
+    [DataField]
+    public Entity<SolutionComponent>? SolutionRef = null;
 
     /// <summary>
     /// The reagent(s) to be regenerated in the solution.
     /// </summary>
-    [DataField("generated", required: true), ViewVariables(VVAccess.ReadWrite)]
+    [DataField(required: true)]
     public Solution Generated = default!;
 
     /// <summary>
     /// How long it takes to regenerate once.
     /// </summary>
-    [DataField("duration"), ViewVariables(VVAccess.ReadWrite)]
+    [DataField]
     public TimeSpan Duration = TimeSpan.FromSeconds(1);
 
     /// <summary>
     /// The time when the next regeneration will occur.
     /// </summary>
-    [DataField("nextChargeTime", customTypeSerializer: typeof(TimeOffsetSerializer)), ViewVariables(VVAccess.ReadWrite)]
+    [DataField("nextChargeTime", customTypeSerializer: typeof(TimeOffsetSerializer))]
     [AutoPausedField]
     public TimeSpan NextRegenTime = TimeSpan.FromSeconds(0);
 }
index 6a600628572dce3f7b87bac521481322b814a520..bccd594706964324a5f5e78a2a9180c705f8de79 100644 (file)
@@ -24,7 +24,7 @@ public sealed class SolutionRegenerationSystem : EntitySystem
 
             // timer ignores if its full, it's just a fixed cycle
             regen.NextRegenTime = _timing.CurTime + regen.Duration;
-            if (_solutionContainer.ResolveSolution((uid, manager), regen.SolutionName, ref regen.Solution, out var solution))
+            if (_solutionContainer.ResolveSolution((uid, manager), regen.SolutionName, ref regen.SolutionRef, out var solution))
             {
                 var amount = FixedPoint2.Min(solution.AvailableVolume, regen.Generated.Volume);
                 if (amount <= FixedPoint2.Zero)
@@ -41,7 +41,7 @@ public sealed class SolutionRegenerationSystem : EntitySystem
                     generated = regen.Generated.Clone().SplitSolution(amount);
                 }
 
-                _solutionContainer.TryAddSolution(regen.Solution.Value, generated);
+                _solutionContainer.TryAddSolution(regen.SolutionRef.Value, generated);
             }
         }
     }
index 4fb4fe9438335ce5a1474b2b16d9180cf1a07c5c..50cb5f519581925e7b392f102f48e15c63ca385d 100644 (file)
@@ -23,14 +23,14 @@ public sealed partial class DrainComponent : Component
     [DataField]
     public Entity<SolutionComponent>? Solution = null;
 
-    [DataField("accumulator")]
+    [DataField]
     public float Accumulator = 0f;
 
     /// <summary>
     /// Does this drain automatically absorb surrouding puddles? Or is it a drain designed to empty
-    /// solutions in it manually?
+    /// solutions in it manually? 
     /// </summary>
-    [DataField("autoDrain"), ViewVariables(VVAccess.ReadOnly)]
+    [DataField]
     public bool AutoDrain = true;
 
     /// <summary>
@@ -38,47 +38,47 @@ public sealed partial class DrainComponent : Component
     /// Divided by puddles, so if there are 5 puddles this will take 1/5 from each puddle.
     /// This will stay fixed to 1 second no matter what DrainFrequency is.
     /// </summary>
-    [DataField("unitsPerSecond")]
+    [DataField]
     public float UnitsPerSecond = 6f;
 
     /// <summary>
     /// How many units are ejected from the buffer per second.
     /// </summary>
-    [DataField("unitsDestroyedPerSecond")]
+    [DataField]
     public float UnitsDestroyedPerSecond = 3f;
 
     /// <summary>
     /// How many (unobstructed) tiles away the drain will
     /// drain puddles from.
     /// </summary>
-    [DataField("range"), ViewVariables(VVAccess.ReadWrite)]
+    [DataField]
     public float Range = 2f;
 
     /// <summary>
     /// How often in seconds the drain checks for puddles around it.
     /// If the EntityQuery seems a bit unperformant this can be increased.
     /// </summary>
-    [DataField("drainFrequency")]
+    [DataField]
     public float DrainFrequency = 1f;
 
     /// <summary>
     /// How much time it takes to unclog it with a plunger
     /// </summary>
-    [DataField("unclogDuration"), ViewVariables(VVAccess.ReadWrite)]
+    [DataField]
     public float UnclogDuration = 1f;
 
     /// <summary>
     /// What's the probability of uncloging on each try
     /// </summary>
-    [DataField("unclogProbability"), ViewVariables(VVAccess.ReadWrite)]
+    [DataField]
     public float UnclogProbability = 0.75f;
 
-    [DataField("manualDrainSound"), ViewVariables(VVAccess.ReadOnly)]
+    [DataField]
     public SoundSpecifier ManualDrainSound = new SoundPathSpecifier("/Audio/Effects/Fluids/slosh.ogg");
 
-    [DataField("plungerSound"), ViewVariables(VVAccess.ReadOnly)]
+    [DataField]
     public SoundSpecifier PlungerSound = new SoundPathSpecifier("/Audio/Items/Janitor/plunger.ogg");
 
-    [DataField("unclogSound"), ViewVariables(VVAccess.ReadOnly)]
+    [DataField]
     public SoundSpecifier UnclogSound = new SoundPathSpecifier("/Audio/Effects/Fluids/glug.ogg");
 }