#ifndef RTS_ACTIONS_HPP
#define RTS_ACTIONS_HPP

#include "goap/action.hpp"
#include "goap/actor_world_state.hpp"

class MoveToTarget : public goap::Action {
    GOAP_ACTION(MoveToTarget);
public:
    MoveToTarget();
    virtual goap::State *get_apply_state(goap::ActorWorldState *context) const override;
};

class FireAtTarget : public goap::Action {
    GOAP_ACTION(FireAtTarget);
public:
    FireAtTarget();
    virtual goap::State *get_apply_state(goap::ActorWorldState *context) const override;
};

class FindTarget : public goap::Action {
    GOAP_ACTION(FindTarget);
public:
    FindTarget();
    virtual goap::State *get_apply_state(goap::ActorWorldState *context) const override;
};

#endif // !RTS_ACTIONS_HPP
