chore(naming): clarified names of PlannerNode maps/sets
This commit is contained in:
parent
ae8b76bd0c
commit
36d681252b
|
@ -13,8 +13,8 @@
|
||||||
#include <godot_cpp/variant/vector3.hpp>
|
#include <godot_cpp/variant/vector3.hpp>
|
||||||
|
|
||||||
namespace godot::goap {
|
namespace godot::goap {
|
||||||
typedef HashMap<PlannerNode, PlannerNode, PlannerNodeHasher> FromMap;
|
typedef HashMap<PlannerNode, PlannerNode, PlannerNodeHasher> NodeNodeMap;
|
||||||
typedef HashMap<PlannerNode, float, PlannerNodeHasher> ScoreMap;
|
typedef HashMap<PlannerNode, float, PlannerNodeHasher> NodeScoreMap;
|
||||||
typedef HashSet<PlannerNode, PlannerNodeHasher> NodeSet;
|
typedef HashSet<PlannerNode, PlannerNodeHasher> NodeSet;
|
||||||
|
|
||||||
void Goal::_bind_methods() {
|
void Goal::_bind_methods() {
|
||||||
|
@ -69,7 +69,7 @@ void Planner::_enter_tree() {
|
||||||
this->actor = Object::cast_to<CharacterActor>(this->get_parent());
|
this->actor = Object::cast_to<CharacterActor>(this->get_parent());
|
||||||
}
|
}
|
||||||
|
|
||||||
static Vector<Ref<Action>> trace_path(FromMap &map, PlannerNode &end) {
|
static Vector<Ref<Action>> trace_path(NodeNodeMap &map, PlannerNode &end) {
|
||||||
Vector<Ref<Action>> edges{};
|
Vector<Ref<Action>> edges{};
|
||||||
PlannerNode node{end};
|
PlannerNode node{end};
|
||||||
while(node.last_edge.is_valid()) {
|
while(node.last_edge.is_valid()) {
|
||||||
|
@ -91,10 +91,10 @@ Vector<Ref<Action>> Planner::make_plan() {
|
||||||
// ordered list of all nodes still being considered
|
// ordered list of all nodes still being considered
|
||||||
Vector<PlannerNode> open{PlannerNode::goal_node(goal->goal_state)};
|
Vector<PlannerNode> open{PlannerNode::goal_node(goal->goal_state)};
|
||||||
PlannerNode first = open.get(0);
|
PlannerNode first = open.get(0);
|
||||||
FromMap from{}; // mapping states to the previous in the path
|
NodeNodeMap from{}; // mapping states to the previous in the path
|
||||||
ScoreMap dist_traveled{}; // mapping states to the shortest found distance from start
|
NodeScoreMap dist_traveled{}; // mapping states to the shortest found distance from start
|
||||||
dist_traveled.insert(first, 0);
|
dist_traveled.insert(first, 0);
|
||||||
ScoreMap best_guess{}; // mapping states to the best guess of the distance to the goal
|
NodeScoreMap best_guess{}; // mapping states to the best guess of the distance to the goal
|
||||||
best_guess.insert(first, first.open_requirements.size());
|
best_guess.insert(first, first.open_requirements.size());
|
||||||
PlannerNode current{}; // state we're checking for neighbours or completion
|
PlannerNode current{}; // state we're checking for neighbours or completion
|
||||||
while(!open.is_empty()) {
|
while(!open.is_empty()) {
|
||||||
|
@ -123,7 +123,7 @@ Vector<Ref<Action>> Planner::make_plan() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
UtilityFunctions::push_warning("Failed to find a path satisfying goal");
|
UtilityFunctions::push_warning("Failed to find a plan satisfying goal");
|
||||||
this->plan = {};
|
this->plan = {};
|
||||||
return this->plan;
|
return this->plan;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue