feat: added damage function to player
This commit is contained in:
		
							parent
							
								
									80270546e0
								
							
						
					
					
						commit
						5bb287252c
					
				|  | @ -1,4 +1,6 @@ | ||||||
| #include "car_player.hpp" | #include "car_player.hpp" | ||||||
|  | #include "rally_rush_game_mode.hpp" | ||||||
|  | #include "utils/game_root.hpp" | ||||||
| #include "utils/player_input.hpp" | #include "utils/player_input.hpp" | ||||||
| #include <godot_cpp/variant/transform3d.hpp> | #include <godot_cpp/variant/transform3d.hpp> | ||||||
| #include <godot_cpp/classes/physics_direct_body_state3d.hpp> | #include <godot_cpp/classes/physics_direct_body_state3d.hpp> | ||||||
|  | @ -19,6 +21,8 @@ void CarPlayer::spawn_at_position(Transform3D const &transform) { | ||||||
|     this->set_scale({1,1,1}); |     this->set_scale({1,1,1}); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | Node *CarPlayer::to_node() { return this; } | ||||||
|  | 
 | ||||||
| void CarPlayer::on_steer(Ref<InputEvent> event, float value) { | void CarPlayer::on_steer(Ref<InputEvent> event, float value) { | ||||||
|     this->set_current_steering(value * this->steering_factor); |     this->set_current_steering(value * this->steering_factor); | ||||||
| } | } | ||||||
|  | @ -31,5 +35,11 @@ void CarPlayer::on_accelerate(Ref<InputEvent> input, float value) { | ||||||
|     this->set_target_speed(max_speed * 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<RallyRushGameMode>(GameRoot3D::get_singleton()->get_game_mode()).ptr(); | ||||||
|  |         game_mode->notify_player_death(); | ||||||
|  |     } | ||||||
|  | } | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -20,8 +20,10 @@ public: | ||||||
|     void on_steer(Ref<InputEvent> event, float value); |     void on_steer(Ref<InputEvent> event, float value); | ||||||
|     void on_brake(Ref<InputEvent> event, float value); |     void on_brake(Ref<InputEvent> event, float value); | ||||||
|     void on_accelerate(Ref<InputEvent> event, float value); |     void on_accelerate(Ref<InputEvent> event, float value); | ||||||
|  | 
 | ||||||
|  |     void damage(); | ||||||
| private: | private: | ||||||
|     int health{0}; |     int health{1}; | ||||||
| 
 | 
 | ||||||
|     const float max_speed{40.f}; |     const float max_speed{40.f}; | ||||||
|     const float max_speed_reverse{10.f}; |     const float max_speed_reverse{10.f}; | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue
	
	 Sara
						Sara