RobustToolbox
RobustToolbox copied to clipboard
Eye zoom should affect audio Z offset, make public audio ZOffset
This issue https://github.com/space-wizards/space-station-14/issues/21946 To make it possible, the Robust.Client AudioSystem should have ZOffset public set.
namespace Robust.Client.Audio;
public sealed partial class AudioSystem : SharedAudioSystem
...
public override float ZOffset
{
get => _zOffset;
set
{
_zOffset = value;
_audio.SetZOffset(value);
var query = AllEntityQuery<AudioComponent>();
while (query.MoveNext(out var audio))
{
// Pythagoras back to normal then adjust.
var maxDistance = GetAudioDistance(audio.Params.MaxDistance);
var refDistance = GetAudioDistance(audio.Params.ReferenceDistance);
audio.MaxDistance = maxDistance;
audio.ReferenceDistance = refDistance;
}
}
}
Or another alternative, by making partial class AudioSystem.Public with SetZOffset public method
namespace Robust.Client.Audio;
public sealed partial class AudioSystem
...
public void SetZOffset(float offset)
{
ZOffset = offset;
}
If someone would like, can implement this logic