@@ -347,6 +347,15 @@ real_t NavigationPolygon::get_cell_size() const {
347
347
return cell_size;
348
348
}
349
349
350
+ void NavigationPolygon::set_border_size (real_t p_value) {
351
+ ERR_FAIL_COND (p_value < 0.0 );
352
+ border_size = p_value;
353
+ }
354
+
355
+ real_t NavigationPolygon::get_border_size () const {
356
+ return border_size;
357
+ }
358
+
350
359
void NavigationPolygon::set_parsed_geometry_type (ParsedGeometryType p_geometry_type) {
351
360
ERR_FAIL_INDEX (p_geometry_type, PARSED_GEOMETRY_MAX);
352
361
parsed_geometry_type = p_geometry_type;
@@ -410,6 +419,24 @@ real_t NavigationPolygon::get_agent_radius() const {
410
419
return agent_radius;
411
420
}
412
421
422
+ void NavigationPolygon::set_baking_rect (const Rect2 &p_rect) {
423
+ baking_rect = p_rect;
424
+ emit_changed ();
425
+ }
426
+
427
+ Rect2 NavigationPolygon::get_baking_rect () const {
428
+ return baking_rect;
429
+ }
430
+
431
+ void NavigationPolygon::set_baking_rect_offset (const Vector2 &p_rect_offset) {
432
+ baking_rect_offset = p_rect_offset;
433
+ emit_changed ();
434
+ }
435
+
436
+ Vector2 NavigationPolygon::get_baking_rect_offset () const {
437
+ return baking_rect_offset;
438
+ }
439
+
413
440
void NavigationPolygon::_bind_methods () {
414
441
ClassDB::bind_method (D_METHOD (" set_vertices" , " vertices" ), &NavigationPolygon::set_vertices);
415
442
ClassDB::bind_method (D_METHOD (" get_vertices" ), &NavigationPolygon::get_vertices);
@@ -440,6 +467,9 @@ void NavigationPolygon::_bind_methods() {
440
467
ClassDB::bind_method (D_METHOD (" set_cell_size" , " cell_size" ), &NavigationPolygon::set_cell_size);
441
468
ClassDB::bind_method (D_METHOD (" get_cell_size" ), &NavigationPolygon::get_cell_size);
442
469
470
+ ClassDB::bind_method (D_METHOD (" set_border_size" , " border_size" ), &NavigationPolygon::set_border_size);
471
+ ClassDB::bind_method (D_METHOD (" get_border_size" ), &NavigationPolygon::get_border_size);
472
+
443
473
ClassDB::bind_method (D_METHOD (" set_parsed_geometry_type" , " geometry_type" ), &NavigationPolygon::set_parsed_geometry_type);
444
474
ClassDB::bind_method (D_METHOD (" get_parsed_geometry_type" ), &NavigationPolygon::get_parsed_geometry_type);
445
475
@@ -458,6 +488,11 @@ void NavigationPolygon::_bind_methods() {
458
488
ClassDB::bind_method (D_METHOD (" set_agent_radius" , " agent_radius" ), &NavigationPolygon::set_agent_radius);
459
489
ClassDB::bind_method (D_METHOD (" get_agent_radius" ), &NavigationPolygon::get_agent_radius);
460
490
491
+ ClassDB::bind_method (D_METHOD (" set_baking_rect" , " rect" ), &NavigationPolygon::set_baking_rect);
492
+ ClassDB::bind_method (D_METHOD (" get_baking_rect" ), &NavigationPolygon::get_baking_rect);
493
+ ClassDB::bind_method (D_METHOD (" set_baking_rect_offset" , " rect_offset" ), &NavigationPolygon::set_baking_rect_offset);
494
+ ClassDB::bind_method (D_METHOD (" get_baking_rect_offset" ), &NavigationPolygon::get_baking_rect_offset);
495
+
461
496
ClassDB::bind_method (D_METHOD (" clear" ), &NavigationPolygon::clear);
462
497
463
498
ADD_PROPERTY (PropertyInfo (Variant::PACKED_VECTOR2_ARRAY, " vertices" , PROPERTY_HINT_NONE, " " , PROPERTY_USAGE_NO_EDITOR | PROPERTY_USAGE_INTERNAL), " set_vertices" , " get_vertices" );
@@ -473,8 +508,12 @@ void NavigationPolygon::_bind_methods() {
473
508
ADD_PROPERTY_DEFAULT (" source_geometry_group_name" , StringName (" navigation_polygon_source_geometry_group" ));
474
509
ADD_GROUP (" Cells" , " " );
475
510
ADD_PROPERTY (PropertyInfo (Variant::FLOAT, " cell_size" , PROPERTY_HINT_RANGE, " 1.0,50.0,1.0,or_greater,suffix:px" ), " set_cell_size" , " get_cell_size" );
511
+ ADD_PROPERTY (PropertyInfo (Variant::FLOAT, " border_size" , PROPERTY_HINT_RANGE, " 0.0,500.0,1.0,or_greater,suffix:px" ), " set_border_size" , " get_border_size" );
476
512
ADD_GROUP (" Agents" , " agent_" );
477
513
ADD_PROPERTY (PropertyInfo (Variant::FLOAT, " agent_radius" , PROPERTY_HINT_RANGE, " 0.0,500.0,0.01,or_greater,suffix:px" ), " set_agent_radius" , " get_agent_radius" );
514
+ ADD_GROUP (" Filters" , " " );
515
+ ADD_PROPERTY (PropertyInfo (Variant::RECT2, " baking_rect" ), " set_baking_rect" , " get_baking_rect" );
516
+ ADD_PROPERTY (PropertyInfo (Variant::VECTOR2, " baking_rect_offset" ), " set_baking_rect_offset" , " get_baking_rect_offset" );
478
517
479
518
BIND_ENUM_CONSTANT (PARSED_GEOMETRY_MESH_INSTANCES);
480
519
BIND_ENUM_CONSTANT (PARSED_GEOMETRY_STATIC_COLLIDERS);
0 commit comments