28 lines
861 B
C++
28 lines
861 B
C++
#include "sound_event_patchboard.h"
|
|
|
|
SoundEventPatchboard *SoundEventPatchboard::singleton_instance{ nullptr };
|
|
String const SoundEventPatchboard::sig_sound_triggered{ "sound_triggered" };
|
|
|
|
void SoundEventPatchboard::_bind_methods() {
|
|
ClassDB::bind_method(D_METHOD("trigger_sound", "at", "range"), &self_type::trigger_sound);
|
|
ADD_SIGNAL(MethodInfo(sig_sound_triggered, PropertyInfo(Variant::VECTOR3, "at"), PropertyInfo(Variant::FLOAT, "range")));
|
|
}
|
|
|
|
SoundEventPatchboard::SoundEventPatchboard() {
|
|
singleton_instance = this;
|
|
}
|
|
|
|
SoundEventPatchboard::~SoundEventPatchboard() {
|
|
if (singleton_instance == this) {
|
|
singleton_instance = nullptr;
|
|
}
|
|
}
|
|
|
|
SoundEventPatchboard *SoundEventPatchboard::get_singleton() {
|
|
return singleton_instance;
|
|
}
|
|
|
|
void SoundEventPatchboard::trigger_sound(Vector3 at, float range) {
|
|
emit_signal(sig_sound_triggered, at, range);
|
|
}
|