25 lines
699 B
C++
25 lines
699 B
C++
#ifndef GOAP_ACTOR_WORLD_STATE_HPP
|
|
#define GOAP_ACTOR_WORLD_STATE_HPP
|
|
|
|
#include <godot_cpp/classes/node.hpp>
|
|
#include <godot_cpp/templates/hash_map.hpp>
|
|
#include <godot_cpp/templates/pair.hpp>
|
|
#include <godot_cpp/variant/string_name.hpp>
|
|
|
|
namespace gd = godot;
|
|
|
|
namespace goap {
|
|
typedef gd::HashMap<gd::StringName, gd::Variant> WorldState;
|
|
typedef gd::KeyValue<gd::StringName, gd::Variant> WorldProperty;
|
|
|
|
class ActorWorldState : public gd::Node {
|
|
GDCLASS(ActorWorldState, gd::Node);
|
|
static void _bind_methods();
|
|
public:
|
|
bool check_property_match(WorldProperty const &property);
|
|
gd::Variant get_world_property(gd::String world_prop_name);
|
|
};
|
|
}
|
|
|
|
#endif // !GOAP_ACTOR_WORLD_STATE_HPP
|