terrain brush dragging cleanups

This commit is contained in:
AzaezelX 2021-01-27 23:36:23 -06:00
parent 762a84550f
commit 66db6ac376

View file

@ -1841,6 +1841,7 @@ void TerrainEditor::on3DMouseMove(const Gui3DMouseEvent & event)
if(!hitTerrain) if(!hitTerrain)
{ {
mMouseBrush->reset(); mMouseBrush->reset();
return;
} }
else else
{ {
@ -1875,17 +1876,19 @@ void TerrainEditor::on3DMouseDragged(const Gui3DMouseEvent & event)
return; return;
Point3F pos; Point3F pos;
if ( !mSelectionLocked )
{
if ( !collide( event, pos) )
mMouseBrush->reset();
}
// check if the mouse has actually moved in grid space
bool selChanged = false; bool selChanged = false;
if ( !mSelectionLocked ) if ( !mSelectionLocked )
{ {
TerrainBlock* hitTerrain = collide(event, pos);
if (!hitTerrain)
{
mMouseBrush->reset();
return;
}
// check if the mouse has actually moved in grid space
Point2I gMouse; Point2I gMouse;
Point2I gLastMouse; Point2I gLastMouse;
worldToGrid( pos, gMouse ); worldToGrid( pos, gMouse );
@ -1896,8 +1899,8 @@ void TerrainEditor::on3DMouseDragged(const Gui3DMouseEvent & event)
selChanged = gMouse != gLastMouse; selChanged = gMouse != gLastMouse;
} }
if (selChanged)
mCurrentAction->process( mMouseBrush, event, true, TerrainAction::Update ); mCurrentAction->process( mMouseBrush, event, true, TerrainAction::Update );
} }
void TerrainEditor::on3DMouseUp(const Gui3DMouseEvent & event) void TerrainEditor::on3DMouseUp(const Gui3DMouseEvent & event)