1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-02-21 13:09:42 +00:00

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()
{
if (mWorldspaceWidget)
{
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!";
tryUpdate();
}
void CSVRender::DrawTerrainSelectionCommand::undo()
{
if (mWorldspaceWidget)
{
if (CSVRender::TerrainShapeMode* terrainMode = dynamic_cast<CSVRender::TerrainShapeMode *> (mWorldspaceWidget->getEditMode()) )
{
terrainMode->getTerrainSelection()->update();
return;
}
else
{
Log(Debug::Verbose) << "Can't undo terrain selection in current EditMode";
return;
}
}
else
Log(Debug::Verbose) << "Can't undo terrain selection, no WorldspaceWidget found!";
tryUpdate();
}
void CSVRender::DrawTerrainSelectionCommand::tryUpdate()
{
if (!mWorldspaceWidget)
{
Log(Debug::Verbose) << "Can't undo terrain selection, no WorldspaceWidget found!";
return;
}
auto terrainMode = dynamic_cast<CSVRender::TerrainShapeMode*>(mWorldspaceWidget->getEditMode());
if (!terrainMode)
{
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 undo() override;
void tryUpdate();
};
}