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