Restucture code

This commit is contained in:
unelsson 2021-08-22 20:09:21 +03:00
parent cb42b5287d
commit 4b14818035
2 changed files with 22 additions and 30 deletions

View file

@ -17,38 +17,28 @@ CSVRender::DrawTerrainSelectionCommand::DrawTerrainSelectionCommand(WorldspaceWi
void CSVRender::DrawTerrainSelectionCommand::redo() void CSVRender::DrawTerrainSelectionCommand::redo()
{ {
if (mWorldspaceWidget) tryUpdate();
{
if (CSVRender::TerrainShapeMode* terrainMode = dynamic_cast<CSVRender::TerrainShapeMode *> (mWorldspaceWidget->getEditMode()) )
{
terrainMode->getTerrainSelection()->update();
return;
}
else
{
Log(Debug::Verbose) << "Can't update terrain selection in current EditMode";
return;
}
}
else
Log(Debug::Verbose) << "Can't update terrain selection, no WorldspaceWidget found!";
} }
void CSVRender::DrawTerrainSelectionCommand::undo() void CSVRender::DrawTerrainSelectionCommand::undo()
{ {
if (mWorldspaceWidget) tryUpdate();
{ }
if (CSVRender::TerrainShapeMode* terrainMode = dynamic_cast<CSVRender::TerrainShapeMode *> (mWorldspaceWidget->getEditMode()) )
{ void CSVRender::DrawTerrainSelectionCommand::tryUpdate()
terrainMode->getTerrainSelection()->update(); {
return; if (!mWorldspaceWidget)
} {
else Log(Debug::Verbose) << "Can't undo terrain selection, no WorldspaceWidget found!";
{ return;
Log(Debug::Verbose) << "Can't undo terrain selection in current EditMode"; }
return;
} auto terrainMode = dynamic_cast<CSVRender::TerrainShapeMode*>(mWorldspaceWidget->getEditMode());
} if (!terrainMode)
else {
Log(Debug::Verbose) << "Can't undo terrain selection, no WorldspaceWidget found!"; Log(Debug::Verbose) << "Can't undo terrain selection in current EditMode";
return;
}
terrainMode->getTerrainSelection()->update();
} }

View file

@ -34,6 +34,8 @@ namespace CSVRender
void redo() override; void redo() override;
void undo() override; void undo() override;
void tryUpdate();
}; };
} }