wave-survival/modules/wave_survival/sound_event_node.cpp

45 lines
953 B
C++

#include "sound_event_node.h"
#include "macros.h"
#include "sound_event_patchboard.h"
void SoundEventNode::_bind_methods() {
ClassDB::bind_method(D_METHOD("trigger_event"), &self_type::trigger_event);
BIND_PROPERTY(Variant::BOOL, trigger_on_ready);
}
void SoundEventNode::ready() {
if (this->trigger_on_ready) {
trigger_event();
}
}
void SoundEventNode::_notification(int what) {
if (Engine::get_singleton()->is_editor_hint()) {
return;
}
if (what == NOTIFICATION_READY) {
ready();
}
}
void SoundEventNode::trigger_event() {
SoundEventPatchboard::get_singleton()->trigger_sound(get_global_position(), this->range);
}
void SoundEventNode::set_trigger_on_ready(bool value) {
this->trigger_on_ready = value;
}
bool SoundEventNode::get_trigger_on_ready() const {
return this->trigger_on_ready;
}
void SoundEventNode::set_range(float value) {
this->range = value;
}
float SoundEventNode::get_range() const {
return this->range;
}