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
@@ -5,7 +5,7 @@ using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom;
|
||||
namespace Content.Shared.Damage.Components;
|
||||
|
||||
[RegisterComponent, NetworkedComponent]
|
||||
[AutoGenerateComponentState]
|
||||
[AutoGenerateComponentState, AutoGenerateComponentPause]
|
||||
[Access(typeof(DamageOnHoldingSystem))]
|
||||
public sealed partial class DamageOnHoldingComponent : Component
|
||||
{
|
||||
@@ -29,5 +29,6 @@ public sealed partial class DamageOnHoldingComponent : Component
|
||||
|
||||
[DataField("nextDamage", customTypeSerializer: typeof(TimeOffsetSerializer)), ViewVariables(VVAccess.ReadWrite)]
|
||||
[AutoNetworkedField]
|
||||
[AutoPausedField]
|
||||
public TimeSpan NextDamage = TimeSpan.Zero;
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@ namespace Content.Shared.Damage.Components;
|
||||
/// <summary>
|
||||
/// Add to an entity to paralyze it whenever it reaches critical amounts of Stamina DamageType.
|
||||
/// </summary>
|
||||
[RegisterComponent, NetworkedComponent, AutoGenerateComponentState(true)]
|
||||
[RegisterComponent, NetworkedComponent, AutoGenerateComponentState(true), AutoGenerateComponentPause]
|
||||
public sealed partial class StaminaComponent : Component
|
||||
{
|
||||
/// <summary>
|
||||
@@ -49,5 +49,6 @@ public sealed partial class StaminaComponent : Component
|
||||
/// To avoid continuously updating our data we track the last time we updated so we can extrapolate our current stamina.
|
||||
/// </summary>
|
||||
[DataField(customTypeSerializer: typeof(TimeOffsetSerializer)), AutoNetworkedField]
|
||||
[AutoPausedField]
|
||||
public TimeSpan NextUpdate = TimeSpan.Zero;
|
||||
}
|
||||
|
||||
@@ -13,7 +13,6 @@ public sealed class DamageOnHoldingSystem : EntitySystem
|
||||
public override void Initialize()
|
||||
{
|
||||
base.Initialize();
|
||||
SubscribeLocalEvent<DamageOnHoldingComponent, EntityUnpausedEvent>(OnUnpaused);
|
||||
SubscribeLocalEvent<DamageOnHoldingComponent, MapInitEvent>(OnMapInit);
|
||||
}
|
||||
|
||||
@@ -26,11 +25,6 @@ public sealed class DamageOnHoldingSystem : EntitySystem
|
||||
}
|
||||
}
|
||||
|
||||
private void OnUnpaused(EntityUid uid, DamageOnHoldingComponent component, ref EntityUnpausedEvent args)
|
||||
{
|
||||
component.NextDamage += args.PausedTime;
|
||||
}
|
||||
|
||||
private void OnMapInit(EntityUid uid, DamageOnHoldingComponent component, MapInitEvent args)
|
||||
{
|
||||
component.NextDamage = _timing.CurTime;
|
||||
@@ -50,4 +44,4 @@ public sealed class DamageOnHoldingSystem : EntitySystem
|
||||
component.NextDamage = _timing.CurTime + TimeSpan.FromSeconds(component.Interval);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -46,7 +46,6 @@ public sealed partial class StaminaSystem : EntitySystem
|
||||
|
||||
InitializeModifier();
|
||||
|
||||
SubscribeLocalEvent<StaminaComponent, EntityUnpausedEvent>(OnStamUnpaused);
|
||||
SubscribeLocalEvent<StaminaComponent, ComponentStartup>(OnStartup);
|
||||
SubscribeLocalEvent<StaminaComponent, ComponentShutdown>(OnShutdown);
|
||||
SubscribeLocalEvent<StaminaComponent, AfterAutoHandleStateEvent>(OnStamHandleState);
|
||||
@@ -61,11 +60,6 @@ public sealed partial class StaminaSystem : EntitySystem
|
||||
SubscribeLocalEvent<StaminaDamageOnHitComponent, MeleeHitEvent>(OnMeleeHit);
|
||||
}
|
||||
|
||||
private void OnStamUnpaused(EntityUid uid, StaminaComponent component, ref EntityUnpausedEvent args)
|
||||
{
|
||||
component.NextUpdate += args.PausedTime;
|
||||
}
|
||||
|
||||
private void OnStamHandleState(EntityUid uid, StaminaComponent component, ref AfterAutoHandleStateEvent args)
|
||||
{
|
||||
if (component.Critical)
|
||||
|
||||
Reference in New Issue
Block a user