Adds TimedDespawn component to Invisible Walls, nukes DeleteAfterTime (#8528)
* Adds TimedDelete component to Invisible Walls * Removes Delete After Time
This commit is contained in:
@@ -1,15 +0,0 @@
|
|||||||
namespace Content.Server.Delete
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Deletes the entity after the specified period of time.
|
|
||||||
/// </summary>
|
|
||||||
[RegisterComponent]
|
|
||||||
public sealed class DeleteAfterTimeComponent : Component
|
|
||||||
{
|
|
||||||
[ViewVariables(VVAccess.ReadWrite), DataField("accumulator")]
|
|
||||||
public float Accumulator = 0f;
|
|
||||||
|
|
||||||
[ViewVariables(VVAccess.ReadWrite), DataField("despawnTime")]
|
|
||||||
public TimeSpan DespawnTime = TimeSpan.FromSeconds(30);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
namespace Content.Server.Delete;
|
|
||||||
|
|
||||||
public sealed class DeleteAfterTimeSystem : EntitySystem
|
|
||||||
{
|
|
||||||
public override void Update(float frameTime)
|
|
||||||
{
|
|
||||||
base.Update(frameTime);
|
|
||||||
|
|
||||||
foreach (var comp in EntityQuery<DeleteAfterTimeComponent>())
|
|
||||||
{
|
|
||||||
comp.Accumulator += frameTime;
|
|
||||||
if (comp.Accumulator < comp.DespawnTime.TotalSeconds)
|
|
||||||
continue;
|
|
||||||
|
|
||||||
QueueDel(comp.Owner);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -697,8 +697,8 @@
|
|||||||
id: WallInvisible
|
id: WallInvisible
|
||||||
name: Invisible Wall
|
name: Invisible Wall
|
||||||
components:
|
components:
|
||||||
- type: DeleteAfterTime
|
- type: TimedDespawn
|
||||||
despawnTime: 30
|
lifetime: 30
|
||||||
- type: Tag
|
- type: Tag
|
||||||
tags:
|
tags:
|
||||||
- Wall
|
- Wall
|
||||||
|
|||||||
Reference in New Issue
Block a user