Disable spectators from changing unit names (#7737)

This commit is contained in:
Xander Lenstra
2022-09-04 15:23:50 +02:00
committed by GitHub
parent 63324b3272
commit f46ab1de3a
2 changed files with 17 additions and 7 deletions

View File

@ -64,11 +64,14 @@ class PromotionPickerScreen(val unit: MapUnit) : PickerScreen(), RecreateOnResiz
renameButton.isEnabled = true renameButton.isEnabled = true
renameButton.onClick { renameButton.onClick {
if (!canChangeState) return@onClick
UnitRenamePopup( UnitRenamePopup(
screen = this, screen = this,
unit = unit, unit = unit,
actionOnClose = { actionOnClose = {
this.game.replaceCurrentScreen(PromotionPickerScreen(unit)) }) game.replaceCurrentScreen(PromotionPickerScreen(unit))
}
)
} }
availablePromotionsGroup.add(renameButton) availablePromotionsGroup.add(renameButton)
availablePromotionsGroup.row() availablePromotionsGroup.row()

View File

@ -75,7 +75,11 @@ class UnitTable(val worldScreen: WorldScreen) : Table(){
deselectUnitButton.add(ImageGetter.getImage("OtherIcons/Close")).size(20f).pad(10f) deselectUnitButton.add(ImageGetter.getImage("OtherIcons/Close")).size(20f).pad(10f)
deselectUnitButton.pack() deselectUnitButton.pack()
deselectUnitButton.touchable = Touchable.enabled deselectUnitButton.touchable = Touchable.enabled
deselectUnitButton.onClick { selectUnit(); worldScreen.shouldUpdate=true; this@UnitTable.isVisible=false } deselectUnitButton.onClick {
selectUnit()
worldScreen.shouldUpdate = true
this@UnitTable.isVisible = false
}
addActor(deselectUnitButton) addActor(deselectUnitButton)
}).left() }).left()
@ -137,12 +141,15 @@ class UnitTable(val worldScreen: WorldScreen) : Table(){
unitNameLabel.clearListeners() unitNameLabel.clearListeners()
unitNameLabel.onClick { unitNameLabel.onClick {
if (!worldScreen.canChangeState) return@onClick
UnitRenamePopup( UnitRenamePopup(
screen = worldScreen, screen = worldScreen,
unit = unit, unit = unit,
actionOnClose = { actionOnClose = {
unitNameLabel.setText(buildNameLabelText(unit)) unitNameLabel.setText(buildNameLabelText(unit))
selectedUnitHasChanged = true }) selectedUnitHasChanged = true
}
)
} }
unitDescriptionTable.clear() unitDescriptionTable.clear()
@ -234,7 +241,7 @@ class UnitTable(val worldScreen: WorldScreen) : Table(){
// Since Clear also clears the listeners, we need to re-add them every time // Since Clear also clears the listeners, we need to re-add them every time
promotionsTable.onClick { promotionsTable.onClick {
if (selectedUnit == null || selectedUnit!!.promotions.promotions.isEmpty()) return@onClick if (selectedUnit == null || selectedUnit!!.promotions.promotions.isEmpty()) return@onClick
UncivGame.Current.pushScreen(PromotionPickerScreen(selectedUnit!!)) worldScreen.game.pushScreen(PromotionPickerScreen(selectedUnit!!))
} }
unitIconHolder.onClick { unitIconHolder.onClick {