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
@@ -8,7 +8,7 @@ namespace Content.Shared.Bed.Cryostorage;
|
||||
/// This is used to track an entity that is currently being held in Cryostorage.
|
||||
/// </summary>
|
||||
[RegisterComponent, NetworkedComponent]
|
||||
[AutoGenerateComponentState]
|
||||
[AutoGenerateComponentState, AutoGenerateComponentPause]
|
||||
public sealed partial class CryostorageContainedComponent : Component
|
||||
{
|
||||
/// <summary>
|
||||
@@ -22,6 +22,7 @@ public sealed partial class CryostorageContainedComponent : Component
|
||||
/// The time at which the cryostorage grace period ends.
|
||||
/// </summary>
|
||||
[DataField(customTypeSerializer: typeof(TimeOffsetSerializer)), ViewVariables(VVAccess.ReadWrite), AutoNetworkedField]
|
||||
[AutoPausedField]
|
||||
public TimeSpan? GracePeriodEndTime;
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -37,7 +37,6 @@ public abstract class SharedCryostorageSystem : EntitySystem
|
||||
SubscribeLocalEvent<CryostorageComponent, CanDropTargetEvent>(OnCanDropTarget);
|
||||
|
||||
SubscribeLocalEvent<CryostorageContainedComponent, EntGotRemovedFromContainerMessage>(OnRemovedContained);
|
||||
SubscribeLocalEvent<CryostorageContainedComponent, EntityUnpausedEvent>(OnUnpaused);
|
||||
SubscribeLocalEvent<CryostorageContainedComponent, ComponentShutdown>(OnShutdownContained);
|
||||
|
||||
SubscribeLocalEvent<RoundRestartCleanupEvent>(OnRoundRestart);
|
||||
@@ -130,13 +129,6 @@ public abstract class SharedCryostorageSystem : EntitySystem
|
||||
RemCompDeferred(ent, comp);
|
||||
}
|
||||
|
||||
private void OnUnpaused(Entity<CryostorageContainedComponent> ent, ref EntityUnpausedEvent args)
|
||||
{
|
||||
var comp = ent.Comp;
|
||||
if (comp.GracePeriodEndTime != null)
|
||||
comp.GracePeriodEndTime = comp.GracePeriodEndTime.Value + args.PausedTime;
|
||||
}
|
||||
|
||||
private void OnShutdownContained(Entity<CryostorageContainedComponent> ent, ref ComponentShutdown args)
|
||||
{
|
||||
var comp = ent.Comp;
|
||||
|
||||
@@ -26,14 +26,8 @@ namespace Content.Server.Bed.Sleep
|
||||
SubscribeLocalEvent<SleepingComponent, SpeakAttemptEvent>(OnSpeakAttempt);
|
||||
SubscribeLocalEvent<SleepingComponent, CanSeeAttemptEvent>(OnSeeAttempt);
|
||||
SubscribeLocalEvent<SleepingComponent, PointAttemptEvent>(OnPointAttempt);
|
||||
SubscribeLocalEvent<SleepingComponent, EntityUnpausedEvent>(OnSleepUnpaused);
|
||||
}
|
||||
|
||||
private void OnSleepUnpaused(EntityUid uid, SleepingComponent component, ref EntityUnpausedEvent args)
|
||||
{
|
||||
component.CoolDownEnd += args.PausedTime;
|
||||
Dirty(uid, component);
|
||||
}
|
||||
|
||||
private void OnMapInit(EntityUid uid, SleepingComponent component, MapInitEvent args)
|
||||
{
|
||||
|
||||
@@ -7,7 +7,7 @@ namespace Content.Shared.Bed.Sleep;
|
||||
/// <summary>
|
||||
/// Added to entities when they go to sleep.
|
||||
/// </summary>
|
||||
[NetworkedComponent, RegisterComponent]
|
||||
[NetworkedComponent, RegisterComponent, AutoGenerateComponentPause(Dirty = true)]
|
||||
public sealed partial class SleepingComponent : Component
|
||||
{
|
||||
/// <summary>
|
||||
@@ -24,6 +24,7 @@ public sealed partial class SleepingComponent : Component
|
||||
public TimeSpan Cooldown = TimeSpan.FromSeconds(1f);
|
||||
|
||||
[DataField("cooldownEnd", customTypeSerializer:typeof(TimeOffsetSerializer))]
|
||||
[AutoPausedField]
|
||||
public TimeSpan CoolDownEnd;
|
||||
|
||||
[DataField("wakeAction")] public EntityUid? WakeAction;
|
||||
|
||||
Reference in New Issue
Block a user