Fix cloaking device being deactivated once something is bought
This commit is contained in:
parent
6412292044
commit
b20a93a574
2 changed files with 7 additions and 3 deletions
|
@ -28,7 +28,9 @@ class TTTPlayer(player: Player, role: Role) {
|
|||
var role by Delegates.observable(role) { _, _, _ -> scoreboard.updateRole() }
|
||||
val roleHistory = mutableListOf<Role>()
|
||||
|
||||
var itemInHand by Delegates.observable<TTTItem?>(null) { _, oldItem, newItem -> onItemInHandChanged(oldItem, newItem) }
|
||||
var itemInHand by Delegates.observable<TTTItem?>(null) { _, oldItem, newItem ->
|
||||
if (oldItem !== newItem) onItemInHandChanged(oldItem, newItem)
|
||||
}
|
||||
var credits by Delegates.observable(10) { _, _, _ -> scoreboard.updateCredits() }
|
||||
var invisible by Delegates.observable(false) { _, _, value ->
|
||||
if (value) {
|
||||
|
@ -65,6 +67,9 @@ class TTTPlayer(player: Player, role: Role) {
|
|||
}
|
||||
|
||||
private fun onItemInHandChanged(oldItem: TTTItem?, newItem: TTTItem?) {
|
||||
println(oldItem)
|
||||
println(newItem)
|
||||
|
||||
if (oldItem !== null && oldItem is Selectable) {
|
||||
oldItem.onDeselect(this)
|
||||
}
|
||||
|
|
|
@ -37,8 +37,7 @@ object CloakingDevice: TTTItem,
|
|||
val isc = InversedStateContainer(State::class)
|
||||
|
||||
override fun onSelect(tttPlayer: TTTPlayer) {}
|
||||
override fun onDeselect(tttPlayer: TTTPlayer) =
|
||||
setEnabled(tttPlayer, false)
|
||||
override fun onDeselect(tttPlayer: TTTPlayer) = setEnabled(tttPlayer, false)
|
||||
|
||||
fun setEnabled(tttPlayer: TTTPlayer, value: Boolean?) {
|
||||
val state = isc.getOrCreate(tttPlayer)
|
||||
|
|
Reference in a new issue