Rally Rush
Loading...
Searching...
No Matches
damage_area.hpp
Go to the documentation of this file.
1#ifndef DAMAGE_AREA_HPP
2#define DAMAGE_AREA_HPP
3
4#include "enemy_car.hpp"
5#include "godot_cpp/classes/animation_player.hpp"
6#include <godot_cpp/classes/area3d.hpp>
7#include <godot_cpp/templates/vector.hpp>
8
9namespace godot {
11class DamageArea : public Area3D {
14 static void _bind_methods();
15public:
17 virtual void _enter_tree() override;
19 virtual void _process(double delta_time) override;
20protected:
22 void body_entered(Node3D *node);
24 void set_target_classes(Array array);
26 Array get_target_classes() const;
27private:
28 Vector<StringName> target_classes{};
29 AnimationPlayer *anim{nullptr};
30};
31}
32
33#endif // !DAMAGE_AREA_HPP
Collision area that damages nodes of the given types when entered.
Definition damage_area.hpp:11
Array get_target_classes() const
Node classes to deal damage to.
Definition damage_area.cpp:37
Vector< StringName > target_classes
Definition damage_area.hpp:28
AnimationPlayer * anim
Definition damage_area.hpp:29
void body_entered(Node3D *node)
If the node is of a class referenced in target_classes, deal damage.
Definition damage_area.cpp:22
virtual void _enter_tree() override
Register body_entered observer. Get animation player if applicable. Get parent if applicable.
Definition damage_area.cpp:11
GDCLASS(DamageArea, Area3D)
static void _bind_methods()
Bind editor properties.
Definition damage_area.cpp:6
void set_target_classes(Array array)
Node classes to deal damage to.
Definition damage_area.cpp:28
virtual void _process(double delta_time) override
Animate until end, destroy if animation has ended.
Definition damage_area.cpp:17
Definition beacon_powerup.cpp:6