[Editor] Close opened map right upon its deletion
This commit is contained in:
@@ -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)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -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()
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user