From 7603d77d1da00ba584305c8ba9bc8d36e55f7038 Mon Sep 17 00:00:00 2001
From: Poommetee Ketson <poommetee@protonmail.com>
Date: Tue, 11 Jul 2017 21:04:41 +0700
Subject: [PATCH] AStar: add bool has_point(id)

(cherry picked from commit 2c9f6312e2d737be76a0ed14ae87df31a96e73a4)
---
 core/math/a_star.cpp | 7 +++++++
 core/math/a_star.h   | 1 +
 2 files changed, 8 insertions(+)

diff --git a/core/math/a_star.cpp b/core/math/a_star.cpp
index 7938cd0178a..67d88db13c0 100644
--- a/core/math/a_star.cpp
+++ b/core/math/a_star.cpp
@@ -123,6 +123,12 @@ void AStar::disconnect_points(int p_id, int p_with_id) {
 	a->neighbours.erase(b);
 	b->neighbours.erase(a);
 }
+
+bool AStar::has_point(int p_id) const {
+
+	return points.has(p_id);
+}
+
 bool AStar::are_points_connected(int p_id, int p_with_id) const {
 
 	Segment s(p_id, p_with_id);
@@ -400,6 +406,7 @@ void AStar::_bind_methods() {
 	ObjectTypeDB::bind_method(_MD("get_point_pos", "id"), &AStar::get_point_pos);
 	ObjectTypeDB::bind_method(_MD("get_point_weight_scale", "id"), &AStar::get_point_weight_scale);
 	ObjectTypeDB::bind_method(_MD("remove_point", "id"), &AStar::remove_point);
+	ObjectTypeDB::bind_method(_MD("has_point", "id"), &AStar::has_point);
 
 	ObjectTypeDB::bind_method(_MD("connect_points", "id", "to_id", "bidirectional"), &AStar::connect_points, DEFVAL(true));
 	ObjectTypeDB::bind_method(_MD("disconnect_points", "id", "to_id"), &AStar::disconnect_points);
diff --git a/core/math/a_star.h b/core/math/a_star.h
index 665698b7e30..d928f4232ac 100644
--- a/core/math/a_star.h
+++ b/core/math/a_star.h
@@ -104,6 +104,7 @@ public:
 	Vector3 get_point_pos(int p_id) const;
 	float get_point_weight_scale(int p_id) const;
 	void remove_point(int p_id);
+	bool has_point(int p_id) const;
 
 	void connect_points(int p_id, int p_with_id, bool bidirectional = true);
 	void disconnect_points(int p_id, int p_with_id);