Skip to content

Commit

Permalink
Renamed NavigationPolygonInstance to NavigationRegion2D
Browse files Browse the repository at this point in the history
  • Loading branch information
AndreaCatania committed Feb 28, 2020
1 parent 2e0fb66 commit 4839946
Show file tree
Hide file tree
Showing 13 changed files with 108 additions and 39 deletions.
2 changes: 1 addition & 1 deletion doc/classes/Navigation2D.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
2D navigation and pathfinding node.
</brief_description>
<description>
Navigation2D provides navigation and pathfinding within a 2D area, specified as a collection of [NavigationPolygon] resources. These are automatically collected from child [NavigationPolygonInstance] nodes.
Navigation2D provides navigation and pathfinding within a 2D area, specified as a collection of [NavigationPolygon] resources. These are automatically collected from child [NavigationRegion2D] nodes.
</description>
<tutorials>
</tutorials>
Expand Down
4 changes: 2 additions & 2 deletions doc/classes/NavigationPolygon.xml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
var outline = PackedVector2Array([Vector2(0, 0), Vector2(0, 50), Vector2(50, 50), Vector2(50, 0)])
polygon.add_outline(outline)
polygon.make_polygons_from_outlines()
$NavigationPolygonInstance.navpoly = polygon
$NavigationRegion2D.navpoly = polygon
[/codeblock]
Using [method add_polygon] and indices of the vertices array.
[codeblock]
Expand All @@ -20,7 +20,7 @@
polygon.set_vertices(vertices)
var indices = PackedInt32Array(0, 3, 1)
polygon.add_polygon(indices)
$NavigationPolygonInstance.navpoly = polygon
$NavigationRegion2D.navpoly = polygon
[/codeblock]
</description>
<tutorials>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="NavigationPolygonInstance" inherits="Node2D" version="4.0">
<class name="NavigationRegion2D" inherits="Node2D" version="4.0">
<brief_description>
</brief_description>
<description>
Expand Down
1 change: 0 additions & 1 deletion editor/icons/NavigationPolygonInstance.svg

This file was deleted.

67 changes: 67 additions & 0 deletions editor/icons/NavigationRegion2D.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions editor/plugins/navigation_polygon_editor_plugin.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ Node2D *NavigationPolygonEditor::_get_node() const {

void NavigationPolygonEditor::_set_node(Node *p_polygon) {

node = Object::cast_to<NavigationPolygonInstance>(p_polygon);
node = Object::cast_to<NavigationRegion2D>(p_polygon);
}

int NavigationPolygonEditor::_get_polygon_count() const {
Expand Down Expand Up @@ -127,5 +127,5 @@ NavigationPolygonEditor::NavigationPolygonEditor(EditorNode *p_editor) :
}

NavigationPolygonEditorPlugin::NavigationPolygonEditorPlugin(EditorNode *p_node) :
AbstractPolygon2DEditorPlugin(p_node, memnew(NavigationPolygonEditor(p_node)), "NavigationPolygonInstance") {
AbstractPolygon2DEditorPlugin(p_node, memnew(NavigationPolygonEditor(p_node)), "NavigationRegion2D") {
}
2 changes: 1 addition & 1 deletion editor/plugins/navigation_polygon_editor_plugin.h
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ class NavigationPolygonEditor : public AbstractPolygon2DEditor {

GDCLASS(NavigationPolygonEditor, AbstractPolygon2DEditor);

NavigationPolygonInstance *node;
NavigationRegion2D *node;

Ref<NavigationPolygon> _ensure_navpoly() const;

Expand Down
4 changes: 2 additions & 2 deletions editor/plugins/tile_set_editor_plugin.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -109,8 +109,8 @@ void TileSetEditor::_import_node(Node *p_node, Ref<TileSet> p_library) {

Node *child2 = mi->get_child(j);

if (Object::cast_to<NavigationPolygonInstance>(child2))
nav_poly = Object::cast_to<NavigationPolygonInstance>(child2)->get_navigation_polygon();
if (Object::cast_to<NavigationRegion2D>(child2))
nav_poly = Object::cast_to<NavigationRegion2D>(child2)->get_navigation_polygon();

if (Object::cast_to<LightOccluder2D>(child2))
occluder = Object::cast_to<LightOccluder2D>(child2)->get_occluder_polygon();
Expand Down
36 changes: 18 additions & 18 deletions scene/2d/navigation_polygon.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -370,7 +370,7 @@ NavigationPolygon::~NavigationPolygon() {
memdelete(navmesh_generation);
}

void NavigationPolygonInstance::set_enabled(bool p_enabled) {
void NavigationRegion2D::set_enabled(bool p_enabled) {

if (enabled == p_enabled)
return;
Expand All @@ -394,25 +394,25 @@ void NavigationPolygonInstance::set_enabled(bool p_enabled) {
update();
}

bool NavigationPolygonInstance::is_enabled() const {
bool NavigationRegion2D::is_enabled() const {

return enabled;
}

/////////////////////////////
#ifdef TOOLS_ENABLED
Rect2 NavigationPolygonInstance::_edit_get_rect() const {
Rect2 NavigationRegion2D::_edit_get_rect() const {

return navpoly.is_valid() ? navpoly->_edit_get_rect() : Rect2();
}

bool NavigationPolygonInstance::_edit_is_selected_on_click(const Point2 &p_point, double p_tolerance) const {
bool NavigationRegion2D::_edit_is_selected_on_click(const Point2 &p_point, double p_tolerance) const {

return navpoly.is_valid() ? navpoly->_edit_is_selected_on_click(p_point, p_tolerance) : false;
}
#endif

void NavigationPolygonInstance::_notification(int p_what) {
void NavigationRegion2D::_notification(int p_what) {

switch (p_what) {
case NOTIFICATION_ENTER_TREE: {
Expand Down Expand Up @@ -496,7 +496,7 @@ void NavigationPolygonInstance::_notification(int p_what) {
}
}

void NavigationPolygonInstance::set_navigation_polygon(const Ref<NavigationPolygon> &p_navpoly) {
void NavigationRegion2D::set_navigation_polygon(const Ref<NavigationPolygon> &p_navpoly) {

if (p_navpoly == navpoly) {
return;
Expand All @@ -518,18 +518,18 @@ void NavigationPolygonInstance::set_navigation_polygon(const Ref<NavigationPolyg
update_configuration_warning();
}

Ref<NavigationPolygon> NavigationPolygonInstance::get_navigation_polygon() const {
Ref<NavigationPolygon> NavigationRegion2D::get_navigation_polygon() const {

return navpoly;
}

void NavigationPolygonInstance::_navpoly_changed() {
void NavigationRegion2D::_navpoly_changed() {

if (is_inside_tree() && (Engine::get_singleton()->is_editor_hint() || get_tree()->is_debugging_navigation_hint()))
update();
}

String NavigationPolygonInstance::get_configuration_warning() const {
String NavigationRegion2D::get_configuration_warning() const {

if (!is_visible_in_tree() || !is_inside_tree())
return String();
Expand All @@ -547,24 +547,24 @@ String NavigationPolygonInstance::get_configuration_warning() const {
c = Object::cast_to<Node2D>(c->get_parent());
}

return TTR("NavigationPolygonInstance must be a child or grandchild to a Navigation2D node. It only provides navigation data.");
return TTR("NavigationRegion2D must be a child or grandchild to a Navigation2D node. It only provides navigation data.");
}

void NavigationPolygonInstance::_bind_methods() {
void NavigationRegion2D::_bind_methods() {

ClassDB::bind_method(D_METHOD("set_navigation_polygon", "navpoly"), &NavigationPolygonInstance::set_navigation_polygon);
ClassDB::bind_method(D_METHOD("get_navigation_polygon"), &NavigationPolygonInstance::get_navigation_polygon);
ClassDB::bind_method(D_METHOD("set_navigation_polygon", "navpoly"), &NavigationRegion2D::set_navigation_polygon);
ClassDB::bind_method(D_METHOD("get_navigation_polygon"), &NavigationRegion2D::get_navigation_polygon);

ClassDB::bind_method(D_METHOD("set_enabled", "enabled"), &NavigationPolygonInstance::set_enabled);
ClassDB::bind_method(D_METHOD("is_enabled"), &NavigationPolygonInstance::is_enabled);
ClassDB::bind_method(D_METHOD("set_enabled", "enabled"), &NavigationRegion2D::set_enabled);
ClassDB::bind_method(D_METHOD("is_enabled"), &NavigationRegion2D::is_enabled);

ClassDB::bind_method(D_METHOD("_navpoly_changed"), &NavigationPolygonInstance::_navpoly_changed);
ClassDB::bind_method(D_METHOD("_navpoly_changed"), &NavigationRegion2D::_navpoly_changed);

ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "navpoly", PROPERTY_HINT_RESOURCE_TYPE, "NavigationPolygon"), "set_navigation_polygon", "get_navigation_polygon");
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "enabled"), "set_enabled", "is_enabled");
}

NavigationPolygonInstance::NavigationPolygonInstance() {
NavigationRegion2D::NavigationRegion2D() {

enabled = true;
set_notify_transform(true);
Expand All @@ -573,6 +573,6 @@ NavigationPolygonInstance::NavigationPolygonInstance() {
navigation = NULL;
}

NavigationPolygonInstance::~NavigationPolygonInstance() {
NavigationRegion2D::~NavigationRegion2D() {
Navigation2DServer::get_singleton()->free(region);
}
8 changes: 4 additions & 4 deletions scene/2d/navigation_polygon.h
Original file line number Diff line number Diff line change
Expand Up @@ -96,9 +96,9 @@ class NavigationPolygon : public Resource {

class Navigation2D;

class NavigationPolygonInstance : public Node2D {
class NavigationRegion2D : public Node2D {

GDCLASS(NavigationPolygonInstance, Node2D);
GDCLASS(NavigationRegion2D, Node2D);

bool enabled;
RID region;
Expand All @@ -125,8 +125,8 @@ class NavigationPolygonInstance : public Node2D {

String get_configuration_warning() const;

NavigationPolygonInstance();
~NavigationPolygonInstance();
NavigationRegion2D();
~NavigationRegion2D();
};

#endif // NAVIGATIONPOLYGON_H
6 changes: 3 additions & 3 deletions scene/3d/navigation_region.h
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,8 @@
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/*************************************************************************/

#ifndef navigation_region_H
#define navigation_region_H
#ifndef NAVIGATION_REGION_H
#define NAVIGATION_REGION_H

#include "scene/3d/spatial.h"
#include "scene/resources/mesh.h"
Expand Down Expand Up @@ -72,4 +72,4 @@ class NavigationRegion : public Spatial {
~NavigationRegion();
};

#endif // navigation_region_H
#endif // NAVIGATION_REGION_H
5 changes: 4 additions & 1 deletion scene/register_scene_types.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -726,7 +726,7 @@ void register_scene_types() {

ClassDB::register_class<Navigation2D>();
ClassDB::register_class<NavigationPolygon>();
ClassDB::register_class<NavigationPolygonInstance>();
ClassDB::register_class<NavigationRegion2D>();
ClassDB::register_class<NavigationAgent2D>();
ClassDB::register_class<NavigationObstacle2D>();

Expand All @@ -746,6 +746,9 @@ void register_scene_types() {
ClassDB::add_compatibility_class("VisualShaderNodeScalarUniform", "VisualShaderNodeFloatUniform");
ClassDB::add_compatibility_class("VisualShaderNodeScalarOp", "VisualShaderNodeFloatOp");
ClassDB::add_compatibility_class("VisualShaderNodeScalarFunc", "VisualShaderNodeFloatFunc");
ClassDB::add_compatibility_class("NavigationMeshInstance", "NavigationRegion");
ClassDB::add_compatibility_class("NavigationPolygonInstance", "NavigationRegion2D");
ClassDB::add_compatibility_class("PlaneShape", "WorldMarginShape");
#endif

OS::get_singleton()->yield(); //may take time to init
Expand Down
6 changes: 3 additions & 3 deletions scene/resources/world_margin_shape.h
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,8 @@
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/*************************************************************************/

#ifndef world_margin_shape_H
#define world_margin_shape_H
#ifndef WORLD_MARGIN_SHAPE_H
#define WORLD_MARGIN_SHAPE_H

#include "scene/resources/shape.h"

Expand All @@ -54,4 +54,4 @@ class WorldMarginShape : public Shape {

WorldMarginShape();
};
#endif // world_margin_shape_H
#endif // WORLD_MARGIN_SHAPE_H

0 comments on commit 4839946

Please sign in to comment.