Adjusted the tileset class to have ground and doodad tiles and made it so that doodad tiles get ripped into left and right halves
This commit is contained in:
@@ -26,7 +26,7 @@ import FileChooser.ExtensionFilter
|
||||
import fmon._
|
||||
import fmon.draw.Palette
|
||||
import fmon.draw.tile._
|
||||
import fmon.util.Direction
|
||||
import fmon.util.{Direction, YamlHelper}
|
||||
import fmon.world._
|
||||
|
||||
import Direction._
|
||||
@@ -40,6 +40,10 @@ class MapBuilder {
|
||||
|
||||
var imgSeq: IndexedSeq[ImageView] = _
|
||||
|
||||
val tilesets = {
|
||||
val dir = new File(raw"C:\Users\James\Documents\Design\Project\Progena\Data")
|
||||
YamlHelper.extractSeq[TilesetToken](new FileInputStream(new File(dir, "Tilesets.yaml"))).map(t => (t.name, t)).toMap
|
||||
}
|
||||
var tileset: Tileset = _
|
||||
var currTile: AutoTile = _
|
||||
|
||||
@@ -62,7 +66,8 @@ class MapBuilder {
|
||||
|
||||
@FXML
|
||||
def initialize(): Unit = {
|
||||
tileset = new Tileset(new TilesetToken("Tileset", null, raw"C:\Users\dalyj\Documents\Design\Images\AutoTiles\tilea2.png", null, null, null, null, null, IndexedSeq()))
|
||||
val resourceDir = new File(raw"C:\Users\James\Documents\Design\Project\Progena\Resources\tilesets")
|
||||
tileset = tilesets("Outside").load(resourceDir)
|
||||
level = new GameMap(10, 10, tileset)
|
||||
setup()
|
||||
}
|
||||
@@ -82,11 +87,8 @@ class MapBuilder {
|
||||
tileSelector.children ++= icons
|
||||
currTile = tileset.groundTiles.head
|
||||
|
||||
val doodadFile = new File(raw"C:\Users\dalyj\Documents\Design\Images\Icons\equipment-icons-tileset.png")
|
||||
val doodadPalette = Palette.bySize(doodadFile, Config.tileSize, Config.tileSize)
|
||||
|
||||
val doodads = doodadPalette.images.map(d => {
|
||||
val view = new ImageView(d.croppedImage())
|
||||
val doodads = tileset.doodadTiles.map(d => {
|
||||
val view = new ImageView(d.icon.croppedImage())
|
||||
view.delegate
|
||||
})
|
||||
doodadSelector.children.clear()
|
||||
|
||||
@@ -209,7 +209,7 @@ class TilesetBuilder extends Savable {
|
||||
|
||||
def setB(): Unit = {
|
||||
currTileset.b.value = getSelected(bChooser)
|
||||
bPalette = if (getSelected(bChooser) == null) IndexedSeq() else AutoTilePalette.basic(getSelected(bChooser), Config.tileSize).tiles
|
||||
bPalette = if (getSelected(bChooser) == null) IndexedSeq() else AutoTilePalette.partitioned(getSelected(bChooser), 2, Config.tileSize).tiles
|
||||
if (bPalette.size != currTileset.bSize()) {
|
||||
val priorSize = currTileset.a1Size() + currTileset.a2Size() + currTileset.a3Size() + currTileset.a4Size() + currTileset.a5Size()
|
||||
currTileset.tileInfo.removeRange(priorSize, priorSize + currTileset.bSize())
|
||||
@@ -222,7 +222,7 @@ class TilesetBuilder extends Savable {
|
||||
|
||||
def setC(): Unit = {
|
||||
currTileset.c.value = getSelected(cChooser)
|
||||
cPalette = if (getSelected(cChooser) == null) IndexedSeq() else AutoTilePalette.basic(getSelected(cChooser), Config.tileSize).tiles
|
||||
cPalette = if (getSelected(cChooser) == null) IndexedSeq() else AutoTilePalette.partitioned(getSelected(cChooser), 2, Config.tileSize).tiles
|
||||
if (cPalette.size != currTileset.cSize()) {
|
||||
val priorSize = currTileset.a1Size() + currTileset.a2Size() + currTileset.a3Size() + currTileset.a4Size() + currTileset.a5Size() + currTileset.bSize()
|
||||
currTileset.tileInfo.removeRange(priorSize, priorSize + currTileset.cSize())
|
||||
|
||||
Reference in New Issue
Block a user