From 5bb287252c933270e48c27ff188bbecdd861e629 Mon Sep 17 00:00:00 2001 From: Sara Date: Tue, 21 May 2024 11:55:34 +0200 Subject: [PATCH] feat: added damage function to player --- src/car_player.cpp | 12 +++++++++++- src/car_player.hpp | 4 +++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/car_player.cpp b/src/car_player.cpp index f6fc875..a56a65d 100644 --- a/src/car_player.cpp +++ b/src/car_player.cpp @@ -1,4 +1,6 @@ #include "car_player.hpp" +#include "rally_rush_game_mode.hpp" +#include "utils/game_root.hpp" #include "utils/player_input.hpp" #include #include @@ -19,6 +21,8 @@ void CarPlayer::spawn_at_position(Transform3D const &transform) { this->set_scale({1,1,1}); } +Node *CarPlayer::to_node() { return this; } + void CarPlayer::on_steer(Ref event, float value) { this->set_current_steering(value * this->steering_factor); } @@ -31,5 +35,11 @@ void CarPlayer::on_accelerate(Ref input, float value) { this->set_target_speed(max_speed * value); } -Node *CarPlayer::to_node() { return this; } +void CarPlayer::damage() { + --this->health; + if(this->health <= 0) { + RallyRushGameMode *game_mode = Ref(GameRoot3D::get_singleton()->get_game_mode()).ptr(); + game_mode->notify_player_death(); + } +} } diff --git a/src/car_player.hpp b/src/car_player.hpp index 3138c32..918a402 100644 --- a/src/car_player.hpp +++ b/src/car_player.hpp @@ -20,8 +20,10 @@ public: void on_steer(Ref event, float value); void on_brake(Ref event, float value); void on_accelerate(Ref event, float value); + + void damage(); private: - int health{0}; + int health{1}; const float max_speed{40.f}; const float max_speed_reverse{10.f};