#ifndef HEALTH_HPP #define HEALTH_HPP #include namespace godot { class Health : public Node { GDCLASS(Health, Node); static void _bind_methods(); public: virtual void _enter_tree() override; void damage(int amount); void heal(int amount); int get_health() const; void set_max_health(int max_health); int get_max_health() const; private: int health{1}; int max_health{1}; }; class IHealthEntity { public: virtual Health *get_health() = 0; virtual Health const *get_health() const = 0; }; } #endif // !HEALTH_HPP