[Editor] Close opened map right upon its deletion

This commit is contained in:
2021-02-21 20:56:00 +01:00
parent 85b53862da
commit b5e527b251
2 changed files with 11 additions and 0 deletions

View File

@@ -1,8 +1,10 @@
package com.bartlomiejpluta.base.editor.main.controller package com.bartlomiejpluta.base.editor.main.controller
import com.bartlomiejpluta.base.editor.asset.model.Asset
import com.bartlomiejpluta.base.editor.command.context.UndoableScope import com.bartlomiejpluta.base.editor.command.context.UndoableScope
import com.bartlomiejpluta.base.editor.image.view.importing.ImportImageFragment import com.bartlomiejpluta.base.editor.image.view.importing.ImportImageFragment
import com.bartlomiejpluta.base.editor.image.viewmodel.ImageAssetDataVM import com.bartlomiejpluta.base.editor.image.viewmodel.ImageAssetDataVM
import com.bartlomiejpluta.base.editor.map.asset.GameMapAsset
import com.bartlomiejpluta.base.editor.map.model.map.GameMap import com.bartlomiejpluta.base.editor.map.model.map.GameMap
import com.bartlomiejpluta.base.editor.map.view.wizard.MapCreationWizard import com.bartlomiejpluta.base.editor.map.view.wizard.MapCreationWizard
import com.bartlomiejpluta.base.editor.map.viewmodel.GameMapBuilderVM import com.bartlomiejpluta.base.editor.map.viewmodel.GameMapBuilderVM
@@ -104,4 +106,12 @@ class MainController : Controller() {
openModal(block = true, resizable = false) openModal(block = true, resizable = false)
} }
} }
fun closeAsset(asset: Asset) {
when (asset) {
is GameMapAsset -> openMaps.entries.firstOrNull { (_, map) -> map.uid == asset.uid }?.key?.let {
openMaps.remove(it)
}
}
}
} }

View File

@@ -88,6 +88,7 @@ class ProjectStructureView : View() {
} }
private fun deleteAsset(asset: Asset) { private fun deleteAsset(asset: Asset) {
mainController.closeAsset(asset)
projectContext.deleteAsset(asset) projectContext.deleteAsset(asset)
projectContext.save() projectContext.save()
} }