Revert "#3935 implemented suggestions from PR"

This reverts commit a9b1c7b96333ca570067d6a9df1954481005892a.
This commit is contained in:
Galactic Chimp
2021-06-27 21:27:59 +02:00
parent 50cc526ebd
commit c8e3775ea5
2 changed files with 24 additions and 5 deletions

View File

@@ -6,10 +6,12 @@ namespace Content.Server.Sound
{
/// <summary>
/// Base sound emitter which defines most of the data fields.
/// Default behavior first try to play the sound collection,
/// and if one isn't assigned, then it will try to play the single sound.
/// </summary>
public abstract class BaseEmitSoundComponent : Component
{
[ViewVariables(VVAccess.ReadWrite)] [DataField("variation")] public float PitchVariation { get; set; } = 0.0f;
[ViewVariables(VVAccess.ReadWrite)] [DataField("soundCollection", required: true)] public string SoundCollectionName { get; set; } = default!;
[ViewVariables(VVAccess.ReadWrite)] [DataField("variation")] public float PitchVariation { get; set; }
[ViewVariables(VVAccess.ReadWrite)] [DataField("soundCollection")] public string? SoundCollectionName { get; set; }
}
}

View File

@@ -1,3 +1,4 @@
#nullable enable
using Content.Shared.Audio;
using Content.Shared.Interaction;
using Content.Shared.Throwing;
@@ -10,6 +11,7 @@ using Robust.Shared.IoC;
using Robust.Shared.Prototypes;
using Robust.Shared.Player;
using Robust.Shared.Random;
using Robust.Shared.Log;
namespace Content.Server.Sound
{
@@ -31,7 +33,14 @@ namespace Content.Server.Sound
private void PlaySound(BaseEmitSoundComponent component)
{
PlayRandomSoundFromCollection(component);
if (!string.IsNullOrWhiteSpace(component.SoundCollectionName))
{
PlayRandomSoundFromCollection(component);
}
else
{
Logger.Warning($"{nameof(component)}: {component.Owner} has no {nameof(component.SoundCollectionName)} to play.");
}
}
private void PlayRandomSoundFromCollection(BaseEmitSoundComponent component)
@@ -48,8 +57,16 @@ namespace Content.Server.Sound
private static void PlaySingleSound(string soundName, BaseEmitSoundComponent component)
{
SoundSystem.Play(Filter.Pvs(component.Owner), soundName, component.Owner,
AudioHelpers.WithVariation(component.PitchVariation).WithVolume(-2f));
if (component.PitchVariation > 0.0)
{
SoundSystem.Play(Filter.Pvs(component.Owner), soundName, component.Owner,
AudioHelpers.WithVariation(component.PitchVariation).WithVolume(-2f));
}
else
{
SoundSystem.Play(Filter.Pvs(component.Owner), soundName, component.Owner,
AudioParams.Default.WithVolume(-2f));
}
}
}
}