private static void PlaySfxLocally(SfxCatagory Catagory, int Index, float Muffle) { Sfx2DCleanup StreamPlayer = new Sfx2DCleanup(); StreamPlayer.Stream = Clips[Catagory][Index]; StreamPlayer.Bus = "Reverb"; switch (Catagory) { case SfxCatagory.EMPTY_CHAMBER_FIRE_CLICK: { StreamPlayer.VolumeDb = -8; break; } case SfxCatagory.PISTOL_FIRE: { StreamPlayer.VolumeDb = -6; break; } case SfxCatagory.AK_FIRE: { StreamPlayer.VolumeDb = -6; break; } case SfxCatagory.SHOTGUN_FIRE: { StreamPlayer.VolumeDb = 0; break; } case SfxCatagory.CONCRETE_FOOTSTEPS: { StreamPlayer.VolumeDb = 6; break; } case SfxCatagory.LEAVES_FOOTSTEPS: { StreamPlayer.VolumeDb = -5; break; } case SfxCatagory.METAL_FOOTSTEPS: { StreamPlayer.VolumeDb = -5; break; } case SfxCatagory.MARBLE_FOOTSTEPS: { StreamPlayer.VolumeDb = -10; break; } } StreamPlayer.VolumeDb -= Muffle / 1.5f; Game.RuntimeRoot.AddChild(StreamPlayer); StreamPlayer.Play(); }
public static void PlaySfxSpatially(SfxCatagory Catagory, int Index, Vector3 Pos, float Muffle) { if (PlayLocally) { Self.PlaySfxAt(Catagory, Index, Pos, Muffle); } if (PlayRemote) { Self.Rpc(nameof(PlaySfxAt), Catagory, Index, Pos, Muffle); } }
private void PlaySfxAt(SfxCatagory Catagory, int Index, Vector3 Pos, float Muffle) { Sfx3DCleanup StreamPlayer = new Sfx3DCleanup(); StreamPlayer.Stream = Clips[Catagory][Index]; StreamPlayer.Bus = "Reverb"; switch (Catagory) { case SfxCatagory.FALL_CRUNCH: { StreamPlayer.UnitDb = 1; StreamPlayer.UnitSize = 18; break; } case SfxCatagory.EMPTY_CHAMBER_FIRE_CLICK: { StreamPlayer.UnitDb = -10; StreamPlayer.UnitSize = 28; StreamPlayer.MaxDb = -10; break; } case SfxCatagory.RELOAD: { StreamPlayer.UnitDb = -2; StreamPlayer.UnitSize = 40; StreamPlayer.MaxDb = -2; break; } case SfxCatagory.BULLET_HIT: { StreamPlayer.UnitDb = -5; StreamPlayer.UnitSize = 28; StreamPlayer.MaxDb = -5; break; } case SfxCatagory.FLESH_HIT: { StreamPlayer.UnitDb = 6; StreamPlayer.UnitSize = 30; StreamPlayer.MaxDb = 6; StreamPlayer.Bus = "Master"; break; } case SfxCatagory.PISTOL_FIRE: { StreamPlayer.UnitDb = 1; StreamPlayer.UnitSize = 60; StreamPlayer.MaxDb = 1; break; } case SfxCatagory.AK_FIRE: { StreamPlayer.UnitDb = 1; StreamPlayer.UnitSize = 60; StreamPlayer.MaxDb = 1; break; } case SfxCatagory.SHOTGUN_FIRE: { StreamPlayer.UnitDb = 4; StreamPlayer.UnitSize = 60; StreamPlayer.MaxDb = 4; break; } case SfxCatagory.CASING_TINK: { StreamPlayer.UnitDb = -4; StreamPlayer.UnitSize = 20; StreamPlayer.MaxDb = -4; break; } case SfxCatagory.DRIP: { StreamPlayer.UnitDb = -15; StreamPlayer.UnitSize = 25; break; } case SfxCatagory.CONCRETE_FOOTSTEPS: { StreamPlayer.UnitDb = 11; StreamPlayer.MaxDb = 11; StreamPlayer.UnitSize = 25; break; } case SfxCatagory.LEAVES_FOOTSTEPS: { StreamPlayer.UnitDb = 4; StreamPlayer.MaxDb = 4; StreamPlayer.UnitSize = 25; break; } case SfxCatagory.METAL_FOOTSTEPS: { StreamPlayer.UnitDb = 4; StreamPlayer.MaxDb = 4; StreamPlayer.UnitSize = 25; break; } case SfxCatagory.MARBLE_FOOTSTEPS: { StreamPlayer.UnitDb = -3; StreamPlayer.MaxDb = -3; StreamPlayer.UnitSize = 25; break; } } StreamPlayer.UnitDb -= Muffle; StreamPlayer.MaxDb -= Muffle; Game.RuntimeRoot.AddChild(StreamPlayer); StreamPlayer.Translation = Pos; StreamPlayer.Play(); }