Files
tbd-station-14/Content.Client/Audio/AmbientSoundTreeSystem.cs
2023-07-08 14:08:32 +10:00

33 lines
1.1 KiB
C#

using System.Numerics;
using Content.Shared.Audio;
using Robust.Shared.ComponentTrees;
using Robust.Shared.Physics;
namespace Content.Client.Audio;
public sealed class AmbientSoundTreeSystem : ComponentTreeSystem<AmbientSoundTreeComponent, AmbientSoundComponent>
{
#region Component Tree Overrides
protected override bool DoFrameUpdate => false;
protected override bool DoTickUpdate => true;
protected override int InitialCapacity => 256;
protected override bool Recursive => true;
protected override Box2 ExtractAabb(in ComponentTreeEntry<AmbientSoundComponent> entry, Vector2 pos, Angle rot)
=> new Box2(pos - entry.Component.RangeVector, pos + entry.Component.RangeVector);
protected override Box2 ExtractAabb(in ComponentTreeEntry<AmbientSoundComponent> entry)
{
if (entry.Component.TreeUid == null)
return default;
var pos = XformSystem.GetRelativePosition(
entry.Transform,
entry.Component.TreeUid.Value,
GetEntityQuery<TransformComponent>());
return ExtractAabb(in entry, pos, default);
}
#endregion
}