Can now add and remove from selection using shift and alt

This commit is contained in:
Yousef Khadadeh 2025-08-05 19:04:47 +03:00
parent 137b1603e5
commit 1a5815a994
12 changed files with 103 additions and 61 deletions

View file

@ -285,6 +285,7 @@ void DrawingProgram::update() {
else if(world.main.input.key(InputManager::KEY_DRAW_TOOL_EDIT).pressed)
switch_to_tool(DrawingProgramToolType::EDIT);
selection.update();
drawTool->tool_update();
if(controls.leftClickReleased)
@ -293,8 +294,6 @@ void DrawingProgram::update() {
check_delayed_update_timers();
check_updateable_components();
selection.update();
if(drawTool->get_type() == DrawingProgramToolType::ERASER) {
EraserTool* eraserTool = static_cast<EraserTool*>(drawTool.get());
compCache.test_rebuild_dont_include_set_dont_include_nodes(components.client_list(), eraserTool->erasedComponents, eraserTool->erasedBVHNodes);
@ -312,7 +311,7 @@ void DrawingProgram::switch_to_tool_ptr(std::unique_ptr<DrawingProgramToolBase>
void DrawingProgram::switch_to_tool(DrawingProgramToolType newToolType) {
if(newToolType != drawTool->get_type()) {
drawTool->switch_tool(drawTool->get_type());
drawTool->switch_tool(newToolType);
drawTool = DrawingProgramToolBase::allocate_tool_type(*this, newToolType);
}
}