From a2877531c7e047c4ef3d21e1b9bf95470ba74867 Mon Sep 17 00:00:00 2001
From: izajime <izan.jimenez@estudiantes.uva.es>
Date: Fri, 22 Nov 2024 16:51:20 +0100
Subject: [PATCH] Fix: Arreglado problema con los observers

---
 .../ellegadodepintia/TiendaActivity.kt        | 18 ++++++++----
 .../exploradoresDePintia/model/Jugador.kt     | 28 -------------------
 app/src/main/res/layout/activity_tienda.xml   |  2 +-
 3 files changed, 14 insertions(+), 34 deletions(-)

diff --git a/app/src/main/java/com/example/ellegadodepintia/TiendaActivity.kt b/app/src/main/java/com/example/ellegadodepintia/TiendaActivity.kt
index 56b94d5..fe94523 100644
--- a/app/src/main/java/com/example/ellegadodepintia/TiendaActivity.kt
+++ b/app/src/main/java/com/example/ellegadodepintia/TiendaActivity.kt
@@ -2,7 +2,7 @@ package com.example.ellegadodepintia
 
 import android.graphics.Color
 import android.os.Bundle
-import android.view.ViewGroup
+import android.view.View
 import android.widget.Button
 import android.widget.ImageView
 import android.widget.TextView
@@ -25,14 +25,23 @@ class TiendaActivity : AppCompatActivity() {
         val nivelCiudad = GameState.jugador.nivelCiudad
         val nObjetos = nivelCiudad * 2
 
+        val texto = findViewById<TextView>(R.id.textoInformacion)
+
         val botonRefrescar = findViewById<Button>(R.id.botonRefrescar)
         botonRefrescar.setOnClickListener {
-            GameState.jugador.actualizarObjetosTienda(nObjetos)
+            if(GameState.jugador.monedas >= 5){
+                GameState.jugador.actualizarObjetosTienda(nObjetos)
+                RepositorioJugador.setMonedas(GameState.jugador.monedas - 5)
+                GameState.jugador.actualizarMonedas(GameState.jugador.monedas - 5)
+                "Se ha actualizado la tienda".also { texto.text = it }
+            } else {
+                "No tienes suficientes monedas para refrescar".also { texto.text = it }
+            }
+
         }
 
         val textoMonedas = findViewById<TextView>(R.id.textoMonedas)
         GameState.jugador.monedas.toString().also { textoMonedas.text = it }
-
         cargarObjetos()
     }
 
@@ -109,8 +118,7 @@ class TiendaActivity : AppCompatActivity() {
 
         monedas.forEachIndexed { index, moneda ->
             if (index >= nObjetos) {
-                val parent = moneda.parent as? ViewGroup
-                parent?.removeView(moneda)
+                moneda.visibility = View.GONE
             }
         }
     }
diff --git a/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/model/Jugador.kt b/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/model/Jugador.kt
index e19e2d4..34d7526 100644
--- a/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/model/Jugador.kt
+++ b/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/model/Jugador.kt
@@ -13,8 +13,6 @@ import com.example.ellegadodepintia.exploradoresDePintia.model.habilidad.efectoH
 import com.example.ellegadodepintia.exploradoresDePintia.model.habilidad.efectoHabilidad.EfectoBuffo
 import com.example.ellegadodepintia.exploradoresDePintia.model.objeto.Objeto
 import com.example.ellegadodepintia.exploradoresDePintia.model.objeto.ObjetoEquipable
-import com.example.ellegadodepintia.exploradoresDePintia.model.objeto.ObjetoUtilidad
-import com.example.ellegadodepintia.exploradoresDePintia.model.objeto.efectoObjeto.EfectoEquipableAumento
 import com.example.ellegadodepintia.repositorios.RepositorioJugador
 import com.example.ellegadodepintia.repositorios.RepositorioObjetos
 
@@ -37,32 +35,6 @@ class Jugador {
         atributos[Atributo.Investigacion] = 1
         atributos[Atributo.Energia] = 10
 
-        inventario.add(
-            ObjetoUtilidad(
-                nombre = "Ticket",
-                descripcion = "Representa una invitación a un evento relacionado con la cultura vaccea, como una feria arqueológica o un festival cultural",
-                imagen = R.drawable.asi_objeto_ticket
-            )
-        )
-
-        inventario.add(
-            ObjetoEquipable(
-                nombre = "Espada de Hierro",
-                descripcion = "Una espada de hierro sencilla y confiable perfecta para un aventurero novato.",
-                efecto = EfectoEquipableAumento(1, Atributo.Ataque),
-                imagen = R.drawable.asi_objeto_espadadefault
-            )
-        )
-
-        inventario.add(
-            ObjetoUtilidad(
-                nombre = "Pico Vacceo",
-                descripcion = "Un pico viejo y oscuro con dibujos extraños que parecen brillar cerca de las piedras, como si estuviera esperando que lo uses para algo importante.",
-                imagen = R.drawable.asi_objeto_pico
-            )
-        )
-
-
         habilidades.add(
             Habilidad(
                 nombre = "Furia del Vacceo",
diff --git a/app/src/main/res/layout/activity_tienda.xml b/app/src/main/res/layout/activity_tienda.xml
index e3985be..3d00eba 100644
--- a/app/src/main/res/layout/activity_tienda.xml
+++ b/app/src/main/res/layout/activity_tienda.xml
@@ -441,7 +441,7 @@
         android:layout_marginTop="20dp"
         android:backgroundTint="@color/pintiaButton"
         android:fontFamily="@font/pixeled"
-        android:text="Refrescar tienda por 1 moneda"
+        android:text="Refrescar tienda por 5 monedas"
         android:textColor="@color/pintiaButtonText"
         android:textStyle="bold"
         app:layout_constraintTop_toBottomOf="@id/textoInformacion"
-- 
GitLab