diff --git a/modules/terraman/editor/terrain_world_editor.cpp b/modules/terraman/editor/terrain_world_editor.cpp index 4968b65f7..50408e3fa 100644 --- a/modules/terraman/editor/terrain_world_editor.cpp +++ b/modules/terraman/editor/terrain_world_editor.cpp @@ -116,6 +116,8 @@ EditorPlugin::AfterGUIInput TerrainWorldEditor::forward_spatial_input_event(Came } break; case TOOL_MODE_SPAWN_BRUSH: { } break; + case TOOL_MODE_CHUNK_REMOVE: { + } break; } return EditorPlugin::AFTER_GUI_INPUT_PASS; @@ -161,6 +163,8 @@ EditorPlugin::AfterGUIInput TerrainWorldEditor::forward_spatial_input_event(Came } break; case TOOL_MODE_SPAWN_BRUSH: { } break; + case TOOL_MODE_CHUNK_REMOVE: { + } break; } return EditorPlugin::AFTER_GUI_INPUT_STOP; @@ -228,6 +232,8 @@ EditorPlugin::AfterGUIInput TerrainWorldEditor::forward_spatial_input_event(Came } break; case TOOL_MODE_SPAWN_BRUSH: { } break; + case TOOL_MODE_CHUNK_REMOVE: { + } break; } return EditorPlugin::AFTER_GUI_INPUT_PASS; @@ -250,6 +256,8 @@ EditorPlugin::AfterGUIInput TerrainWorldEditor::forward_spatial_input_event(Came } break; case TOOL_MODE_SPAWN_BRUSH: { } break; + case TOOL_MODE_CHUNK_REMOVE: { + } break; } _mouse_down = false; @@ -518,6 +526,8 @@ void TerrainWorldEditor::edit(TerrainWorld *p_world) { } break; case TOOL_MODE_SPAWN_BRUSH: { } break; + case TOOL_MODE_CHUNK_REMOVE: { + } break; } _channel_type = _world->get_channel_index_info(TerrainWorld::CHANNEL_TYPE_INFO_TYPE); @@ -693,6 +703,14 @@ TerrainWorldEditor::TerrainWorldEditor(EditorNode *p_editor) { _paint_picker_button->set_shortcut(ED_SHORTCUT("terrain_world_editor/paint_picker", "Paint Picker", KEY_L)); _tool_button_container->add_child(_paint_picker_button); + _chunk_remove_button = memnew(ToolButton); + _chunk_remove_button->set_toggle_mode(true); + _chunk_remove_button->set_button_group(_tool_button_group); + _chunk_remove_button->set_meta("tool_mode", TOOL_MODE_CHUNK_REMOVE); + _chunk_remove_button->connect("button_up", this, "_on_tool_button_pressed"); + _chunk_remove_button->set_shortcut(ED_SHORTCUT("terrain_world_editor/chunk_remove", "Chunk Remove", KEY_U)); + _tool_button_container->add_child(_chunk_remove_button); + _add_button = memnew(ToolButton); //_add_button->set_text("Add"); _add_button->set_toggle_mode(true); @@ -939,6 +957,8 @@ void TerrainWorldEditor::_notification(int p_what) { // Spawn Brush _spawn_brush_button->set_icon(get_theme_icon("AssetLib", "EditorIcons")); + // Chunk Remove + _chunk_remove_button->set_icon(get_theme_icon("Clear", "EditorIcons")); } break; } } @@ -1082,6 +1102,8 @@ void TerrainWorldEditor::_on_tool_button_pressed() { break; case TOOL_MODE_SPAWN_BRUSH: break; + case TOOL_MODE_CHUNK_REMOVE: + break; default: break; } diff --git a/modules/terraman/editor/terrain_world_editor.h b/modules/terraman/editor/terrain_world_editor.h index e88c1095c..cf4d37ea5 100644 --- a/modules/terraman/editor/terrain_world_editor.h +++ b/modules/terraman/editor/terrain_world_editor.h @@ -57,6 +57,7 @@ public: TOOL_MODE_PAINT_BRUSH, TOOL_MODE_PAINT_PICKER, TOOL_MODE_SPAWN_BRUSH, + TOOL_MODE_CHUNK_REMOVE, //TOOL_MODE_DELETE_BRUSH, //Sets data in channel to 0 // TODO object manipulation tools. }; @@ -161,6 +162,7 @@ private: ToolButton *_paint_brush_button; ToolButton *_paint_picker_button; ToolButton *_spawn_brush_button; + ToolButton *_chunk_remove_button; HFlowContainer *_tool_button_container; Ref _tool_button_group;