diff --git a/src/player/Player.cpp b/src/player/Player.cpp index 9a128f9..43dce2e 100644 --- a/src/player/Player.cpp +++ b/src/player/Player.cpp @@ -60,6 +60,7 @@ void alai::player::Player::_ready() { auto event = get_node("/root/Event"); event->connect("level_loaded", this, "_on_level_loaded"); + event->connect("player_touched", this, "_on_player_touched"); animated_sprite = get_node("AnimatedSprite"); if (!animated_sprite) @@ -156,11 +157,11 @@ void alai::player::Player::_physics_process(float delta) } else if (collider->is_in_group("enemy") && (collider->is_in_group("rideable") && godot::Vector2::DOWN.dot(collision->get_normal()) > 0)) { - _on_player_touched(); + _on_player_touched(3); } else if (collider->is_in_group("enemy") && !collider->is_in_group("rideable")) { - _on_player_touched(); + _on_player_touched(3); } } @@ -301,7 +302,7 @@ godot::Vector2 alai::player::Player::get_velocity() return this->velocity; } -void alai::player::Player::_on_player_touched() +void alai::player::Player::_on_player_touched(uint8_t damage) { auto event = get_node("/root/Event"); event->emit_signal("player_died"); diff --git a/src/player/Player.h b/src/player/Player.h index 578840a..9510e09 100644 --- a/src/player/Player.h +++ b/src/player/Player.h @@ -283,7 +283,7 @@ namespace alai * @brief This function is called when an enemy touches the player. * */ - void _on_player_touched(); + void _on_player_touched(uint8_t damage); /** * @brief Called when the monitor is loaded to connect the player to it for tracking.