8#include <unordered_map>
80 std::vector<
Edge> edges_;
Component representing a navigation node in a navigation graph.
Definition navigation_node.h:25
GraphPosition position() const noexcept
Gets the graph position of this navigation node.
std::optional< std::reference_wrapper< Edge > > get_edge_to(const NavigationNode &neighbor) const
Retrieves the edge to a specific neighboring node, if it exists.
const std::vector< Edge > & get_edges() const
Retrieves the edges (connections) to neighboring nodes.
void update(float dt) override
Update is left empty as navigation nodes do not require per-frame updates.
Definition navigation_node.h:33
NavigationNode & add_edge(NavigationNode &neighbor, float cost)
Adds a neighboring node with the specified movement cost.
std::string type_name() const override
Provides a consistent type name for the component.
Base class for renderable components in the engine.
Definition renderable.h:16
Structure representing an edge in the navigation graph.
Definition graph.h:15
Structure representing a position in the navigation graph.
Definition graph.h:29