#ifndef PROJECTILE_HPP
#define PROJECTILE_HPP

#include "weapon_data.hpp"
#include <godot_cpp/classes/node3d.hpp>

namespace godot {
class ProjectilePool;

class Projectile : public Node3D {
    GDCLASS(Projectile, Node3D);
    static void _bind_methods();
public:
    void return_to_pool();
    void set_weapon_data(Ref<WeaponData> data);
    void set_projectile_pool(ProjectilePool *pool);
protected:
    ProjectilePool *pool{nullptr};
    Ref<WeaponData> data{nullptr};
};
}

#endif // !PROJECTILE_HPP
