Skip to content
Snippets Groups Projects

Ciudad

Merged izajime requested to merge ciudad into develop
2 files
+ 29
15
Compare changes
  • Side-by-side
  • Inline
Files
2
package com.example.ellegadodepintia.exploradoresDePintia
import android.content.DialogInterface
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
@@ -11,11 +10,12 @@ import androidx.fragment.app.DialogFragment
import com.example.ellegadodepintia.R
import com.example.ellegadodepintia.exploradoresDePintia.model.GameState
import com.example.ellegadodepintia.exploradoresDePintia.model.objeto.Objeto
import com.example.ellegadodepintia.repositorios.RepositorioJugador
class ModalConfirmacion : DialogFragment() {
var objeto: Objeto? = null
var coste: Int? = null
private var onDismissListener: (() -> Unit)? = null
var onDismissListener: ((isMejora: Boolean) -> Unit)? = null
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
@@ -29,29 +29,33 @@ class ModalConfirmacion : DialogFragment() {
val nivelActual = GameState.jugador.nivelCiudad
val costeNuevoNivel = 50 * nivelActual
val monedasJugador = GameState.jugador.monedas
val textoInformacion = view.findViewById<TextView>(R.id.textoInformacion)
("Vas a mejorar la taberna por el coste de $costeNuevoNivel monedas. ¿Estás seguro?").also { textoInformacion.text = it }
val botonMejorar = view.findViewById<Button>(R.id.botonMejorar)
botonMejorar.setOnClickListener{
val nObjetos = (nivelActual + 1) * 2
GameState.jugador.actualizarObjetosTienda(nObjetos)
GameState.jugador.actualizarObjetosArmeria(nObjetos)
GameState.jugador.actualizarNivelCiudad(nivelActual + 1)
"Se ha subido de nivel la taberna correctamente".also { textoInformacion.text = it }
dismiss()
if (monedasJugador >= costeNuevoNivel){
val nObjetos = (nivelActual + 1) * 2
GameState.jugador.actualizarObjetosTienda(nObjetos)
GameState.jugador.actualizarObjetosArmeria(nObjetos)
GameState.jugador.actualizarNivelCiudad(nivelActual + 1)
GameState.jugador.actualizarMonedas(monedasJugador - costeNuevoNivel)
RepositorioJugador.setMonedas(monedasJugador - costeNuevoNivel)
onDismissListener?.invoke(true)
dismiss()
} else {
onDismissListener?.invoke(false)
dismiss()
}
}
val botonCancelar = view.findViewById<Button>(R.id.botonCancelar)
botonCancelar.setOnClickListener{
onDismissListener?.invoke(false)
dismiss()
}
}
override fun onDismiss(dialog: DialogInterface) {
super.onDismiss(dialog)
onDismissListener?.invoke()
}
}
Loading