[Editor] Simplify temporary MainView code
This commit is contained in:
@@ -1,22 +1,14 @@
|
||||
package com.bartlomiejpluta.base.editor.controller.map
|
||||
|
||||
import com.bartlomiejpluta.base.editor.command.service.UndoRedoService
|
||||
import com.bartlomiejpluta.base.editor.controller.tileset.TileSetController
|
||||
import com.bartlomiejpluta.base.editor.model.map.map.GameMap
|
||||
import com.bartlomiejpluta.base.editor.model.tileset.TileSet
|
||||
import org.springframework.stereotype.Component
|
||||
import tornadofx.Controller
|
||||
|
||||
@Component
|
||||
class MapController : Controller() {
|
||||
private val undoRedoService: UndoRedoService by inject()
|
||||
private val tileSetController: TileSetController by inject()
|
||||
|
||||
private val map1 = GameMap(tileSetController.tileset, 20, 20)
|
||||
|
||||
private val map2 = GameMap(tileSetController.tileset, 50, 50)
|
||||
|
||||
fun getMap(id: Int) = when (id) {
|
||||
1 -> map1
|
||||
else -> map2
|
||||
}
|
||||
fun createMap(tileSet: TileSet, rows: Int, columns: Int) = GameMap(tileSet, rows, columns)
|
||||
}
|
||||
@@ -1,52 +1,30 @@
|
||||
package com.bartlomiejpluta.base.editor.view.main
|
||||
|
||||
import com.bartlomiejpluta.base.editor.command.context.UndoableScope
|
||||
import com.bartlomiejpluta.base.editor.command.service.UndoRedoService
|
||||
import com.bartlomiejpluta.base.editor.controller.map.MapController
|
||||
import com.bartlomiejpluta.base.editor.event.RedrawMapRequestEvent
|
||||
import com.bartlomiejpluta.base.editor.controller.tileset.TileSetController
|
||||
import com.bartlomiejpluta.base.editor.view.map.MapFragment
|
||||
import javafx.scene.control.TabPane
|
||||
import org.kordamp.ikonli.javafx.FontIcon
|
||||
import tornadofx.*
|
||||
|
||||
|
||||
class MainView : View() {
|
||||
private val undoRedoService: UndoRedoService by di()
|
||||
private val mapController: MapController by di()
|
||||
private val tileSetController: TileSetController by di()
|
||||
private val tabPane = TabPane()
|
||||
|
||||
override val root = borderpane {
|
||||
top = hbox {
|
||||
button("Map 1") {
|
||||
top = toolbar {
|
||||
button(graphic = FontIcon("fa-file-o")) {
|
||||
action {
|
||||
val map = mapController.getMap(1)
|
||||
val tileSet = tileSetController.tileset
|
||||
val map = mapController.createMap(tileSet, 25, 25)
|
||||
tabPane += find<MapFragment>(UndoableScope(), MapFragment::map to map).apply {
|
||||
title = "Map 1"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
button("Map 2") {
|
||||
action {
|
||||
val map = mapController.getMap(2)
|
||||
tabPane += find<MapFragment>(UndoableScope(), MapFragment::map to map).apply {
|
||||
title = "Map 2"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
button("Undo") {
|
||||
action {
|
||||
undoRedoService.undo()
|
||||
fire(RedrawMapRequestEvent)
|
||||
}
|
||||
}
|
||||
|
||||
button("Redo") {
|
||||
action {
|
||||
undoRedoService.redo()
|
||||
fire(RedrawMapRequestEvent)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
center = tabPane
|
||||
|
||||
Reference in New Issue
Block a user