mirror of
https://github.com/yairm210/Unciv.git
synced 2025-09-25 04:43:05 -04:00
special nuke animation, to make it feel more momentous
This commit is contained in:
parent
c765287333
commit
78737b6c2d
@ -1,9 +1,12 @@
|
||||
package com.unciv.ui.screens.worldscreen.bottombar
|
||||
|
||||
import com.badlogic.gdx.graphics.Color
|
||||
import com.badlogic.gdx.math.Interpolation
|
||||
import com.badlogic.gdx.scenes.scene2d.Touchable
|
||||
import com.badlogic.gdx.scenes.scene2d.actions.Actions
|
||||
import com.badlogic.gdx.scenes.scene2d.ui.Label
|
||||
import com.badlogic.gdx.scenes.scene2d.ui.Table
|
||||
import com.badlogic.gdx.utils.Align
|
||||
import com.unciv.logic.battle.AirInterception
|
||||
import com.unciv.logic.battle.AttackableTile
|
||||
import com.unciv.logic.battle.Battle
|
||||
@ -18,11 +21,7 @@ import com.unciv.models.UncivSound
|
||||
import com.unciv.models.ruleset.unique.UniqueType
|
||||
import com.unciv.models.translations.tr
|
||||
import com.unciv.ui.audio.SoundPlayer
|
||||
import com.unciv.ui.components.extensions.addBorderAllowOpacity
|
||||
import com.unciv.ui.components.extensions.addSeparator
|
||||
import com.unciv.ui.components.extensions.disable
|
||||
import com.unciv.ui.components.extensions.toLabel
|
||||
import com.unciv.ui.components.extensions.toTextButton
|
||||
import com.unciv.ui.components.extensions.*
|
||||
import com.unciv.ui.components.fonts.Fonts
|
||||
import com.unciv.ui.components.input.onClick
|
||||
import com.unciv.ui.components.widgets.UnitIconGroup
|
||||
@ -348,6 +347,27 @@ class BattleTable(val worldScreen: WorldScreen) : Table() {
|
||||
else {
|
||||
attackButton.onClick(attacker.getAttackSound()) {
|
||||
Nuke.NUKE(attacker, targetTile)
|
||||
|
||||
val nukeCircle = ImageGetter.getCircle()
|
||||
nukeCircle.setSize(10f)
|
||||
nukeCircle.setOrigin(Align.center)
|
||||
nukeCircle.addAction(Actions.sequence(
|
||||
Actions.fadeOut(0f),
|
||||
Actions.parallel(
|
||||
Actions.fadeIn(1f, Interpolation.pow2In),
|
||||
Actions.scaleTo(200f, 200f, 1f, Interpolation.linear),
|
||||
),
|
||||
Actions.delay(1f),
|
||||
Actions.fadeOut(1f, Interpolation.pow2Out),
|
||||
Actions.removeActor()
|
||||
)
|
||||
)
|
||||
val targetTileGroup = worldScreen.mapHolder.tileGroups[targetTile]!!
|
||||
nukeCircle.x = targetTileGroup.x
|
||||
nukeCircle.y = targetTileGroup.y
|
||||
targetTileGroup.parent.addActor(nukeCircle)
|
||||
|
||||
|
||||
worldScreen.mapHolder.removeUnitActionOverlay() // the overlay was one of attacking
|
||||
worldScreen.shouldUpdate = true
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user