Jelajahi Sumber

Update NavPoly in the editor canvas when the resource is changed via the Inspector

Michael Alexsander Silva Dias 6 tahun lalu
induk
melakukan
f69dbc0953
1 mengubah file dengan 5 tambahan dan 5 penghapusan
  1. 5 5
      scene/2d/navigation_polygon.cpp

+ 5 - 5
scene/2d/navigation_polygon.cpp

@@ -349,8 +349,6 @@ void NavigationPolygonInstance::set_enabled(bool p_enabled) {
 
 	if (Engine::get_singleton()->is_editor_hint() || get_tree()->is_debugging_navigation_hint())
 		update();
-
-	//update_gizmo();
 }
 
 bool NavigationPolygonInstance::is_enabled() const {
@@ -461,26 +459,28 @@ void NavigationPolygonInstance::_notification(int p_what) {
 
 void NavigationPolygonInstance::set_navigation_polygon(const Ref<NavigationPolygon> &p_navpoly) {
 
-	if (p_navpoly == navpoly)
+	if (p_navpoly == navpoly) {
 		return;
+	}
 
 	if (navigation && nav_id != -1) {
 		navigation->navpoly_remove(nav_id);
 		nav_id = -1;
 	}
+
 	if (navpoly.is_valid()) {
 		navpoly->disconnect(CoreStringNames::get_singleton()->changed, this, "_navpoly_changed");
 	}
 	navpoly = p_navpoly;
-
 	if (navpoly.is_valid()) {
 		navpoly->connect(CoreStringNames::get_singleton()->changed, this, "_navpoly_changed");
 	}
+	_navpoly_changed();
 
 	if (navigation && navpoly.is_valid() && enabled) {
 		nav_id = navigation->navpoly_add(navpoly, get_relative_transform_to_parent(navigation), this);
 	}
-	//update_gizmo();
+
 	_change_notify("navpoly");
 	update_configuration_warning();
 }