You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-15 13:51:40 +00:00
Added GridMap settings which allows the user to enter a pick distance.
This commit is contained in:
@@ -220,7 +220,9 @@ void GridMapEditor::_menu_option(int p_option) {
|
|||||||
|
|
||||||
|
|
||||||
} break;
|
} break;
|
||||||
|
case MENU_OPTION_GRIDMAP_SETTINGS: {
|
||||||
|
settings_dialog->popup_centered(settings_vbc->get_combined_minimum_size() + Size2(50, 50));
|
||||||
|
} break;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -304,7 +306,7 @@ bool GridMapEditor::do_input_action(Camera* p_camera,const Point2& p_point,bool
|
|||||||
p.d=edit_floor[edit_axis]*node->get_cell_size();
|
p.d=edit_floor[edit_axis]*node->get_cell_size();
|
||||||
|
|
||||||
Vector3 inters;
|
Vector3 inters;
|
||||||
if (!p.intersects_segment(from,from+normal*500,&inters))
|
if (!p.intersects_segment(from, from + normal * settings_pick_distance->get_val(), &inters))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
|
||||||
@@ -1249,6 +1251,24 @@ GridMapEditor::GridMapEditor(EditorNode *p_editor) {
|
|||||||
//options->get_popup()->add_separator();
|
//options->get_popup()->add_separator();
|
||||||
//options->get_popup()->add_item("Configure",MENU_OPTION_CONFIGURE);
|
//options->get_popup()->add_item("Configure",MENU_OPTION_CONFIGURE);
|
||||||
|
|
||||||
|
options->get_popup()->add_separator();
|
||||||
|
options->get_popup()->add_item("Settings", MENU_OPTION_GRIDMAP_SETTINGS);
|
||||||
|
|
||||||
|
settings_dialog = memnew(ConfirmationDialog);
|
||||||
|
settings_dialog->set_title("GridMap Settings");
|
||||||
|
add_child(settings_dialog);
|
||||||
|
settings_vbc = memnew(VBoxContainer);
|
||||||
|
settings_vbc->set_custom_minimum_size(Size2(200, 0));
|
||||||
|
settings_dialog->add_child(settings_vbc);
|
||||||
|
settings_dialog->set_child_rect(settings_vbc);
|
||||||
|
|
||||||
|
settings_pick_distance = memnew(SpinBox);
|
||||||
|
settings_pick_distance->set_max(10000.0f);
|
||||||
|
settings_pick_distance->set_min(500.0f);
|
||||||
|
settings_pick_distance->set_step(1.0f);
|
||||||
|
settings_pick_distance->set_val(EDITOR_DEF("gridmap_editor/pick_distance", 5000.0));
|
||||||
|
settings_vbc->add_margin_child("Pick Distance:", settings_pick_distance);
|
||||||
|
|
||||||
clip_mode=CLIP_DISABLED;
|
clip_mode=CLIP_DISABLED;
|
||||||
options->get_popup()->connect("item_pressed", this,"_menu_option");
|
options->get_popup()->connect("item_pressed", this,"_menu_option");
|
||||||
|
|
||||||
|
|||||||
@@ -78,6 +78,9 @@ class GridMapEditor : public VBoxContainer {
|
|||||||
ToolButton *mode_thumbnail;
|
ToolButton *mode_thumbnail;
|
||||||
ToolButton *mode_list;
|
ToolButton *mode_list;
|
||||||
HBoxContainer *spatial_editor_hb;
|
HBoxContainer *spatial_editor_hb;
|
||||||
|
ConfirmationDialog *settings_dialog;
|
||||||
|
VBoxContainer *settings_vbc;
|
||||||
|
SpinBox *settings_pick_distance;
|
||||||
|
|
||||||
struct SetItem {
|
struct SetItem {
|
||||||
|
|
||||||
@@ -165,8 +168,8 @@ class GridMapEditor : public VBoxContainer {
|
|||||||
MENU_OPTION_SELECTION_MAKE_AREA,
|
MENU_OPTION_SELECTION_MAKE_AREA,
|
||||||
MENU_OPTION_SELECTION_MAKE_EXTERIOR_CONNECTOR,
|
MENU_OPTION_SELECTION_MAKE_EXTERIOR_CONNECTOR,
|
||||||
MENU_OPTION_SELECTION_CLEAR,
|
MENU_OPTION_SELECTION_CLEAR,
|
||||||
MENU_OPTION_REMOVE_AREA
|
MENU_OPTION_REMOVE_AREA,
|
||||||
|
MENU_OPTION_GRIDMAP_SETTINGS
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -443,6 +443,7 @@ void EditorSettings::_load_defaults() {
|
|||||||
set("scenetree_editor/duplicate_node_name_num_separator",0);
|
set("scenetree_editor/duplicate_node_name_num_separator",0);
|
||||||
hints["scenetree_editor/duplicate_node_name_num_separator"]=PropertyInfo(Variant::INT,"scenetree_editor/duplicate_node_name_num_separator",PROPERTY_HINT_ENUM, "None,Space,Underscore,Dash");
|
hints["scenetree_editor/duplicate_node_name_num_separator"]=PropertyInfo(Variant::INT,"scenetree_editor/duplicate_node_name_num_separator",PROPERTY_HINT_ENUM, "None,Space,Underscore,Dash");
|
||||||
|
|
||||||
|
set("gridmap_editor/pick_distance", 5000.0);
|
||||||
|
|
||||||
set("3d_editor/default_fov",45.0);
|
set("3d_editor/default_fov",45.0);
|
||||||
set("3d_editor/default_z_near",0.1);
|
set("3d_editor/default_z_near",0.1);
|
||||||
|
|||||||
Reference in New Issue
Block a user