AutoUse Pencil on Polygon creation

This commit is contained in:
Scayze 2017-08-25 19:51:07 +02:00 committed by Rémi Verschelde
parent 98ad0e5a02
commit fbda0cc45c
4 changed files with 18 additions and 0 deletions

View file

@ -344,6 +344,10 @@ void CollisionPolygon2DEditor::edit(Node *p_collision_polygon) {
if (p_collision_polygon) { if (p_collision_polygon) {
node = Object::cast_to<CollisionPolygon2D>(p_collision_polygon); node = Object::cast_to<CollisionPolygon2D>(p_collision_polygon);
//Enable the pencil tool if the polygon is empty
if (node->get_polygon().size() == 0) {
_menu_option(MODE_CREATE);
}
if (!canvas_item_editor->get_viewport_control()->is_connected("draw", this, "_canvas_draw")) if (!canvas_item_editor->get_viewport_control()->is_connected("draw", this, "_canvas_draw"))
canvas_item_editor->get_viewport_control()->connect("draw", this, "_canvas_draw"); canvas_item_editor->get_viewport_control()->connect("draw", this, "_canvas_draw");
wip.clear(); wip.clear();

View file

@ -468,6 +468,10 @@ void CollisionPolygonEditor::edit(Node *p_collision_polygon) {
if (p_collision_polygon) { if (p_collision_polygon) {
node = Object::cast_to<CollisionPolygon>(p_collision_polygon); node = Object::cast_to<CollisionPolygon>(p_collision_polygon);
//Enable the pencil tool if the polygon is empty
if (node->get_polygon().size() == 0) {
_menu_option(MODE_CREATE);
}
wip.clear(); wip.clear();
wip_active = false; wip_active = false;
edited_point = -1; edited_point = -1;

View file

@ -69,6 +69,7 @@ void NavigationPolygonEditor::_create_nav() {
undo_redo->add_do_method(node, "set_navigation_polygon", Ref<NavigationPolygon>(memnew(NavigationPolygon))); undo_redo->add_do_method(node, "set_navigation_polygon", Ref<NavigationPolygon>(memnew(NavigationPolygon)));
undo_redo->add_undo_method(node, "set_navigation_polygon", Variant(REF())); undo_redo->add_undo_method(node, "set_navigation_polygon", Variant(REF()));
undo_redo->commit_action(); undo_redo->commit_action();
_menu_option(MODE_CREATE);
} }
void NavigationPolygonEditor::_menu_option(int p_option) { void NavigationPolygonEditor::_menu_option(int p_option) {
@ -423,6 +424,11 @@ void NavigationPolygonEditor::edit(Node *p_collision_polygon) {
if (p_collision_polygon) { if (p_collision_polygon) {
node = Object::cast_to<NavigationPolygonInstance>(p_collision_polygon); node = Object::cast_to<NavigationPolygonInstance>(p_collision_polygon);
//Enable the pencil tool if the polygon is empty
if (!node->get_navigation_polygon().is_null()) {
if (node->get_navigation_polygon()->get_polygon_count() == 0)
_menu_option(MODE_CREATE);
}
if (!canvas_item_editor->get_viewport_control()->is_connected("draw", this, "_canvas_draw")) if (!canvas_item_editor->get_viewport_control()->is_connected("draw", this, "_canvas_draw"))
canvas_item_editor->get_viewport_control()->connect("draw", this, "_canvas_draw"); canvas_item_editor->get_viewport_control()->connect("draw", this, "_canvas_draw");
wip.clear(); wip.clear();

View file

@ -720,6 +720,10 @@ void Polygon2DEditor::edit(Node *p_collision_polygon) {
if (p_collision_polygon) { if (p_collision_polygon) {
node = Object::cast_to<Polygon2D>(p_collision_polygon); node = Object::cast_to<Polygon2D>(p_collision_polygon);
//Enable the pencil tool if the polygon is empty
if (node->get_polygon().size() == 0) {
_menu_option(MODE_CREATE);
}
if (!canvas_item_editor->get_viewport_control()->is_connected("draw", this, "_canvas_draw")) if (!canvas_item_editor->get_viewport_control()->is_connected("draw", this, "_canvas_draw"))
canvas_item_editor->get_viewport_control()->connect("draw", this, "_canvas_draw"); canvas_item_editor->get_viewport_control()->connect("draw", this, "_canvas_draw");