blackears / cyclopsLevelBuilder

A Godot plugin to let you block in levels inside the Godot editor.
MIT License
1.09k stars 44 forks source link

Add support for "click-click" block drawing workflow, in addition to "click-hold-release" #5

Open Calinou opened 1 year ago

Calinou commented 1 year ago

Right now, when you click once with a shape drawing mode, nothing happens. This is likely because only a "click-hold-release" workflow is programmed, and since the mouse hasn't been moved by more than a few pixels between the mouse press and release, drawing is canceled.

Instead, I expect the first point to be visible, allowing me to move the mouse to the desired location, then clicking a second time to set the shape's depth.

To implement this, there should be an "hysteresis" distance below which the shape is considered to be drawn in "click-click" fashion. This means that if the mouse has moved by less than 8 pixels between its click and release location, it should be considered as a click and not a drag.

blackears commented 1 year ago

I don't think this wold work with the current design since the block tool also doubles as the selection and move tool. It's a design idea I got from Trenchbroom, so clicking once right now has the function of deselecting your object (or selecting a different object).

One of the redesign ideas I have is to make a separate move tool so the block tool can just draw blocks. But I don't think I can implement this until that happens.