#ifndef NAV_MARKER_HPP
#define NAV_MARKER_HPP

#include "utils/godot_macros.hpp"
#include <godot_cpp/classes/marker3d.hpp>

namespace gd = godot;

GDENUM(MarkerType,
    Generic,
    Cover,
    HalfCover
);

class NavMarker : public gd::Marker3D {
    GDCLASS(NavMarker, gd::Marker3D);
    static void _bind_methods();
public:
    virtual void _process(double) override;

    void set_marker_type(int type);
    int get_marker_type() const;
private:
    MarkerType type{MarkerType::Generic};
};

#endif // !NAV_MARKER_HPP
