Files
space-station-14/Content.Client/Audio/AmbientSoundTreeSystem.cs
slarticodefastandGitHub a5e9f24f5b Use dependencies for EntityQueries in Systems (Part 1: Client) (#43478)
* cleanup

* vsc lied to me

* private readonly

* use proxies
2026-04-06 17:30:41 +00:00

32 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);
return ExtractAabb(in entry, pos, default);
}
#endregion
}