1
0
mirror of https://github.com/godotengine/godot.git synced 2025-12-03 16:55:53 +00:00

Fix dragging blend position

This commit is contained in:
Paviel Kraskoŭski
2025-10-18 23:21:18 +03:00
parent eb3d6d8cd3
commit f68242f533
4 changed files with 17 additions and 3 deletions

View File

@@ -288,9 +288,14 @@ void AnimationNodeBlendSpace2DEditor::_blend_space_gui_input(const Ref<InputEven
tree->set(get_blend_position_path(), blend_pos);
dragging_blend_position = true;
blend_space_draw->queue_redraw();
}
if (mb.is_valid() && !mb->is_pressed() && dragging_blend_position && mb->get_button_index() == MouseButton::LEFT) {
dragging_blend_position = false;
}
Ref<InputEventMouseMotion> mm = p_event;
if (mm.is_valid() && dragging_selected_attempt) {
@@ -311,7 +316,7 @@ void AnimationNodeBlendSpace2DEditor::_blend_space_gui_input(const Ref<InputEven
blend_space_draw->queue_redraw();
}
if (mm.is_valid() && !dragging_selected_attempt && ((tool_select->is_pressed() && mm->is_shift_pressed()) || tool_blend->is_pressed()) && (mm->get_button_mask().has_flag(MouseButtonMask::LEFT))) {
if (mm.is_valid() && dragging_blend_position && !dragging_selected_attempt && ((tool_select->is_pressed() && mm->is_shift_pressed()) || tool_blend->is_pressed()) && (mm->get_button_mask().has_flag(MouseButtonMask::LEFT))) {
Vector2 blend_pos = (mm->get_position() / blend_space_draw->get_size());
blend_pos.y = 1.0 - blend_pos.y;
blend_pos *= (blend_space->get_max_space() - blend_space->get_min_space());
@@ -1118,4 +1123,5 @@ AnimationNodeBlendSpace2DEditor::AnimationNodeBlendSpace2DEditor() {
dragging_selected = false;
dragging_selected_attempt = false;
dragging_blend_position = false;
}