Use new ComponentPauseGenerator (#25183)
Also includes some (non critical) changes to the solution file to re-organize the Roslyn components.
This commit is contained in:
committed by
GitHub
parent
2a2324ecaf
commit
e00f74505c
@@ -9,7 +9,7 @@ namespace Content.Server.Chemistry.Components;
|
||||
/// <summary>
|
||||
/// Passively decreases a solution's quantity of reagent(s).
|
||||
/// </summary>
|
||||
[RegisterComponent]
|
||||
[RegisterComponent, AutoGenerateComponentPause]
|
||||
[Access(typeof(SolutionPurgeSystem))]
|
||||
public sealed partial class SolutionPurgeComponent : Component
|
||||
{
|
||||
@@ -42,5 +42,6 @@ public sealed partial class SolutionPurgeComponent : Component
|
||||
/// The time when the next purge will occur.
|
||||
/// </summary>
|
||||
[DataField("nextPurgeTime", customTypeSerializer: typeof(TimeOffsetSerializer)), ViewVariables(VVAccess.ReadWrite)]
|
||||
[AutoPausedField]
|
||||
public TimeSpan NextPurgeTime = TimeSpan.FromSeconds(0);
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@ namespace Content.Server.Chemistry.Components;
|
||||
/// <summary>
|
||||
/// Passively increases a solution's quantity of a reagent.
|
||||
/// </summary>
|
||||
[RegisterComponent]
|
||||
[RegisterComponent, AutoGenerateComponentPause]
|
||||
[Access(typeof(SolutionRegenerationSystem))]
|
||||
public sealed partial class SolutionRegenerationComponent : Component
|
||||
{
|
||||
@@ -39,5 +39,6 @@ public sealed partial class SolutionRegenerationComponent : Component
|
||||
/// The time when the next regeneration will occur.
|
||||
/// </summary>
|
||||
[DataField("nextChargeTime", customTypeSerializer: typeof(TimeOffsetSerializer)), ViewVariables(VVAccess.ReadWrite)]
|
||||
[AutoPausedField]
|
||||
public TimeSpan NextRegenTime = TimeSpan.FromSeconds(0);
|
||||
}
|
||||
|
||||
@@ -10,13 +10,6 @@ public sealed class SolutionPurgeSystem : EntitySystem
|
||||
[Dependency] private readonly SolutionContainerSystem _solutionContainer = default!;
|
||||
[Dependency] private readonly IGameTiming _timing = default!;
|
||||
|
||||
public override void Initialize()
|
||||
{
|
||||
base.Initialize();
|
||||
|
||||
SubscribeLocalEvent<SolutionPurgeComponent, EntityUnpausedEvent>(OnUnpaused);
|
||||
}
|
||||
|
||||
public override void Update(float frameTime)
|
||||
{
|
||||
base.Update(frameTime);
|
||||
@@ -33,9 +26,4 @@ public sealed class SolutionPurgeSystem : EntitySystem
|
||||
_solutionContainer.SplitSolutionWithout(solution.Value, purge.Quantity, purge.Preserve.ToArray());
|
||||
}
|
||||
}
|
||||
|
||||
private void OnUnpaused(Entity<SolutionPurgeComponent> entity, ref EntityUnpausedEvent args)
|
||||
{
|
||||
entity.Comp.NextPurgeTime += args.PausedTime;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,13 +12,6 @@ public sealed class SolutionRegenerationSystem : EntitySystem
|
||||
[Dependency] private readonly SolutionContainerSystem _solutionContainer = default!;
|
||||
[Dependency] private readonly IGameTiming _timing = default!;
|
||||
|
||||
public override void Initialize()
|
||||
{
|
||||
base.Initialize();
|
||||
|
||||
SubscribeLocalEvent<SolutionRegenerationComponent, EntityUnpausedEvent>(OnUnpaused);
|
||||
}
|
||||
|
||||
public override void Update(float frameTime)
|
||||
{
|
||||
base.Update(frameTime);
|
||||
@@ -52,9 +45,4 @@ public sealed class SolutionRegenerationSystem : EntitySystem
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void OnUnpaused(Entity<SolutionRegenerationComponent> entity, ref EntityUnpausedEvent args)
|
||||
{
|
||||
entity.Comp.NextRegenTime += args.PausedTime;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user