cirnogodot/Scripts/Weapons/WeaponSoundModule.cs
2025-06-18 15:16:43 +02:00

40 lines
No EOL
895 B
C#

using Godot;
namespace Cirno.Scripts.Weapons;
public partial class WeaponSoundModule : Node
{
[Export]
public Weapon Weapon { get; private set; }
[Export]
public AudioStreamPlayer ShootSound { get; private set; }
[Export]
public AudioStreamPlayer ReloadSound { get; private set; }
[Export]
public AudioStreamPlayer EmptySound { get; private set; }
public override void _Ready()
{
if (Weapon?.WeaponData is null) return;
ShootSound.Stream = Weapon.WeaponData.ShootSound;
ReloadSound.Stream = Weapon.WeaponData.ReloadSound;
EmptySound.Stream = Weapon.WeaponData.EmptySound;
}
public void PlayReloadSound()
{
ReloadSound?.Play();
}
public void PlayShootSound()
{
ShootSound?.Play();
}
public void PlayEmptySound()
{
EmptySound?.Play();
}
}