mirror of
https://github.com/curioustorvald/Terrarum.git
synced 2026-06-09 10:04:05 +09:00
buildingmaker: zoom using z key
This commit is contained in:
@@ -6,25 +6,21 @@ import com.badlogic.gdx.graphics.Color
|
|||||||
import com.badlogic.gdx.graphics.g2d.SpriteBatch
|
import com.badlogic.gdx.graphics.g2d.SpriteBatch
|
||||||
import com.badlogic.gdx.graphics.g2d.TextureRegion
|
import com.badlogic.gdx.graphics.g2d.TextureRegion
|
||||||
import net.torvald.terrarum.*
|
import net.torvald.terrarum.*
|
||||||
import net.torvald.terrarum.App.printdbg
|
|
||||||
import net.torvald.terrarum.TerrarumAppConfiguration.TILE_SIZE
|
import net.torvald.terrarum.TerrarumAppConfiguration.TILE_SIZE
|
||||||
import net.torvald.terrarum.blockproperties.Block
|
import net.torvald.terrarum.blockproperties.Block
|
||||||
import net.torvald.terrarum.blockproperties.BlockPropUtil
|
import net.torvald.terrarum.blockproperties.BlockPropUtil
|
||||||
import net.torvald.terrarum.blockstats.TileSurvey
|
|
||||||
import net.torvald.terrarum.gameactors.*
|
import net.torvald.terrarum.gameactors.*
|
||||||
import net.torvald.terrarum.gamecontroller.TerrarumKeyboardEvent
|
import net.torvald.terrarum.gamecontroller.TerrarumKeyboardEvent
|
||||||
import net.torvald.terrarum.gameitems.ItemID
|
import net.torvald.terrarum.gameitems.ItemID
|
||||||
import net.torvald.terrarum.gameparticles.ParticleBase
|
import net.torvald.terrarum.gameparticles.ParticleBase
|
||||||
import net.torvald.terrarum.gameworld.BlockLayerI16
|
import net.torvald.terrarum.gameworld.BlockLayerI16
|
||||||
import net.torvald.terrarum.gameworld.GameWorld
|
import net.torvald.terrarum.gameworld.GameWorld
|
||||||
import net.torvald.terrarum.gameworld.GameWorld.Companion.TERRAIN
|
|
||||||
import net.torvald.terrarum.gameworld.GameWorld.Companion.WALL
|
|
||||||
import net.torvald.terrarum.gameworld.WorldSimulator
|
|
||||||
import net.torvald.terrarum.modulebasegame.gameactors.ActorHumanoid
|
import net.torvald.terrarum.modulebasegame.gameactors.ActorHumanoid
|
||||||
import net.torvald.terrarum.gameworld.WorldTime
|
import net.torvald.terrarum.gameworld.WorldTime
|
||||||
import net.torvald.terrarum.modulebasegame.ui.UIBuildingMakerBlockChooser
|
import net.torvald.terrarum.modulebasegame.ui.UIBuildingMakerBlockChooser
|
||||||
import net.torvald.terrarum.modulebasegame.ui.UIBuildingMakerPenMenu
|
import net.torvald.terrarum.modulebasegame.ui.UIBuildingMakerPenMenu
|
||||||
import net.torvald.terrarum.modulebasegame.ui.UIPaletteSelector
|
import net.torvald.terrarum.modulebasegame.ui.UIPaletteSelector
|
||||||
|
import net.torvald.terrarum.modulebasegame.ui.UIScreenZoom
|
||||||
import net.torvald.terrarum.serialise.Common
|
import net.torvald.terrarum.serialise.Common
|
||||||
import net.torvald.terrarum.serialise.PointOfInterest
|
import net.torvald.terrarum.serialise.PointOfInterest
|
||||||
import net.torvald.terrarum.serialise.POILayer
|
import net.torvald.terrarum.serialise.POILayer
|
||||||
@@ -266,12 +262,15 @@ class BuildingMaker(batch: FlippingSpriteBatch) : IngameInstance(batch) {
|
|||||||
init {
|
init {
|
||||||
essentialOverlays.add(blockPointingCursor)
|
essentialOverlays.add(blockPointingCursor)
|
||||||
|
|
||||||
uiContainer.add(uiToolbox)
|
uiContainer.add(
|
||||||
uiContainer.add(uiPaletteSelector)
|
uiToolbox,
|
||||||
uiContainer.add(notifier)
|
uiPaletteSelector,
|
||||||
uiContainer.add(uiPalette)
|
notifier,
|
||||||
uiContainer.add(uiPenMenu)
|
uiPalette,
|
||||||
uiContainer.add(uiGetPoiName)
|
uiPenMenu,
|
||||||
|
uiGetPoiName,
|
||||||
|
UIScreenZoom(),
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -304,7 +303,7 @@ class BuildingMaker(batch: FlippingSpriteBatch) : IngameInstance(batch) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private var mousePrimaryClickLatched = false
|
private var disableMouseClick = false
|
||||||
var mousePrimaryJustDown = false; private set
|
var mousePrimaryJustDown = false; private set
|
||||||
|
|
||||||
override fun render(updateRate: Float) {
|
override fun render(updateRate: Float) {
|
||||||
@@ -332,7 +331,7 @@ class BuildingMaker(batch: FlippingSpriteBatch) : IngameInstance(batch) {
|
|||||||
|
|
||||||
|
|
||||||
if (!Gdx.input.isButtonPressed(App.getConfigInt("config_mouseprimary"))) {
|
if (!Gdx.input.isButtonPressed(App.getConfigInt("config_mouseprimary"))) {
|
||||||
mousePrimaryClickLatched = false
|
disableMouseClick = false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -458,7 +457,7 @@ class BuildingMaker(batch: FlippingSpriteBatch) : IngameInstance(batch) {
|
|||||||
_testMarkerDrawCalls = 0L
|
_testMarkerDrawCalls = 0L
|
||||||
|
|
||||||
IngameRenderer.invoke(false,
|
IngameRenderer.invoke(false,
|
||||||
1f,
|
screenZoom,
|
||||||
listOf(),
|
listOf(),
|
||||||
listOf(),
|
listOf(),
|
||||||
listOf(),
|
listOf(),
|
||||||
@@ -504,10 +503,10 @@ class BuildingMaker(batch: FlippingSpriteBatch) : IngameInstance(batch) {
|
|||||||
it.text = listOf("WH: $w\u00D7$h", "Name of the POI:")
|
it.text = listOf("WH: $w\u00D7$h", "Name of the POI:")
|
||||||
it.confirmCallback = { s ->
|
it.confirmCallback = { s ->
|
||||||
callback(s)
|
callback(s)
|
||||||
mousePrimaryClickLatched = true
|
disableMouseClick = true
|
||||||
}
|
}
|
||||||
it.cancelCallback = {
|
it.cancelCallback = {
|
||||||
mousePrimaryClickLatched = true
|
disableMouseClick = true
|
||||||
}
|
}
|
||||||
it.setPosition(
|
it.setPosition(
|
||||||
240,
|
240,
|
||||||
@@ -525,10 +524,10 @@ class BuildingMaker(batch: FlippingSpriteBatch) : IngameInstance(batch) {
|
|||||||
it.text = listOf("Name of the POI:")
|
it.text = listOf("Name of the POI:")
|
||||||
it.confirmCallback = { s ->
|
it.confirmCallback = { s ->
|
||||||
callback(s)
|
callback(s)
|
||||||
mousePrimaryClickLatched = true
|
disableMouseClick = true
|
||||||
}
|
}
|
||||||
it.cancelCallback = {
|
it.cancelCallback = {
|
||||||
mousePrimaryClickLatched = true
|
disableMouseClick = true
|
||||||
}
|
}
|
||||||
it.setPosition(
|
it.setPosition(
|
||||||
240,
|
240,
|
||||||
@@ -559,7 +558,7 @@ class BuildingMaker(batch: FlippingSpriteBatch) : IngameInstance(batch) {
|
|||||||
val world = gameWorld
|
val world = gameWorld
|
||||||
val palSelection = uiPaletteSelector.fore
|
val palSelection = uiPaletteSelector.fore
|
||||||
|
|
||||||
if (!mousePrimaryClickLatched) {
|
if (!disableMouseClick) {
|
||||||
when (currentPenMode) {
|
when (currentPenMode) {
|
||||||
// test paint terrain layer
|
// test paint terrain layer
|
||||||
PENMODE_PENCIL -> {
|
PENMODE_PENCIL -> {
|
||||||
@@ -604,7 +603,7 @@ class BuildingMaker(batch: FlippingSpriteBatch) : IngameInstance(batch) {
|
|||||||
|
|
||||||
PENMODE_IMPORT -> {
|
PENMODE_IMPORT -> {
|
||||||
importPoi(x, y)
|
importPoi(x, y)
|
||||||
mousePrimaryClickLatched = true
|
disableMouseClick = true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -57,12 +57,12 @@ class UIScreenZoom : UICanvas(
|
|||||||
|
|
||||||
override fun doOpening(delta: Float) {
|
override fun doOpening(delta: Float) {
|
||||||
Terrarum.ingame?.screenZoom = Movement.fastPullOut(handler.openCloseCounter / openCloseTime, zoomMin, zoomMax)
|
Terrarum.ingame?.screenZoom = Movement.fastPullOut(handler.openCloseCounter / openCloseTime, zoomMin, zoomMax)
|
||||||
handler.opacity = Terrarum.ingame?.screenZoom!! - zoomMin
|
handler.opacity = (Terrarum.ingame?.screenZoom ?: 1f) - zoomMin
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun doClosing(delta: Float) {
|
override fun doClosing(delta: Float) {
|
||||||
Terrarum.ingame?.screenZoom = Movement.fastPullOut(handler.openCloseCounter / openCloseTime, zoomMax, zoomMin)
|
Terrarum.ingame?.screenZoom = Movement.fastPullOut(handler.openCloseCounter / openCloseTime, zoomMax, zoomMin)
|
||||||
handler.opacity = Terrarum.ingame?.screenZoom!! - zoomMin
|
handler.opacity = (Terrarum.ingame?.screenZoom ?: 1f) - zoomMin
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun endOpening(delta: Float) {
|
override fun endOpening(delta: Float) {
|
||||||
|
|||||||
Reference in New Issue
Block a user