#ifndef ENEMY_CAR_HPP #define ENEMY_CAR_HPP #include "car_physics.hpp" #include "car_player.hpp" #include "godot_cpp/classes/navigation_agent3d.hpp" namespace godot { class EnemyCar : public CarPhysics { GDCLASS(EnemyCar, CarPhysics); static void _bind_methods(); public: virtual void _enter_tree() override; virtual void _process(double delta_time) override; void damage(); protected: void process_navigate(); void recalculate_navigation(); private: int next_recalc{0}; int recalc_frame_interval{10}; float turn_target_speed{3.f}; float max_speed{45.f}; float brake_distance{7.f}; float steering_speed{1.f}; NavigationAgent3D *agent{nullptr}; CarPlayer *player{nullptr}; }; } #endif // !ENEMY_CAR_HPP