Skip to content
Snippets Groups Projects
Commit 5f859e4b authored by izajime's avatar izajime
Browse files

Merge branch 'inventarioDB' into 'develop'

Inventario db

See merge request !61
parents 543e39bb 5a797df6
No related branches found
No related tags found
2 merge requests!65Feature:,!61Inventario db
...@@ -13,7 +13,6 @@ import com.example.ellegadodepintia.exploradoresDePintia.model.habilidad.efectoH ...@@ -13,7 +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.habilidad.efectoHabilidad.EfectoBuffo
import com.example.ellegadodepintia.exploradoresDePintia.model.objeto.Objeto import com.example.ellegadodepintia.exploradoresDePintia.model.objeto.Objeto
import com.example.ellegadodepintia.exploradoresDePintia.model.objeto.ObjetoEquipable import com.example.ellegadodepintia.exploradoresDePintia.model.objeto.ObjetoEquipable
import com.example.ellegadodepintia.exploradoresDePintia.model.objeto.ObjetoUtilidad
import com.example.ellegadodepintia.repositorios.RepositorioJugador import com.example.ellegadodepintia.repositorios.RepositorioJugador
import com.example.ellegadodepintia.repositorios.RepositorioObjetos import com.example.ellegadodepintia.repositorios.RepositorioObjetos
...@@ -38,8 +37,6 @@ class Jugador { ...@@ -38,8 +37,6 @@ class Jugador {
atributos[Atributo.Energia] = 10 atributos[Atributo.Energia] = 10
atributos[Atributo.Critico] = 8 atributos[Atributo.Critico] = 8
inventario.add(RepositorioObjetos.obtenerObjetoPorNombre("Puñal Vacceo")!!)
habilidades.add( habilidades.add(
Habilidad( Habilidad(
nombre = "Furia del Vacceo", nombre = "Furia del Vacceo",
...@@ -108,6 +105,11 @@ class Jugador { ...@@ -108,6 +105,11 @@ class Jugador {
fun conseguirObjeto(objeto: Objeto): String { fun conseguirObjeto(objeto: Objeto): String {
return if (inventario.size < 9) { return if (inventario.size < 9) {
inventario.add(objeto) inventario.add(objeto)
val nuevoInventarioNombres = ArrayList<String>()
for(objetoInventario in inventario){
nuevoInventarioNombres.add(objetoInventario.nombre)
}
RepositorioJugador.setInventario(nuevoInventarioNombres)
"Se ha añadido ${objeto.nombre} al inventario" "Se ha añadido ${objeto.nombre} al inventario"
} else { } else {
"¡El inventario está lleno!" "¡El inventario está lleno!"
...@@ -126,6 +128,11 @@ class Jugador { ...@@ -126,6 +128,11 @@ class Jugador {
fun destruirObjeto(objeto: Objeto) { fun destruirObjeto(objeto: Objeto) {
inventario.remove(objeto) inventario.remove(objeto)
val nuevoInventarioNombres = ArrayList<String>()
for(objetoInventario in inventario){
nuevoInventarioNombres.add(objetoInventario.nombre)
}
RepositorioJugador.setInventario(nuevoInventarioNombres)
notifyObservers() notifyObservers()
} }
...@@ -192,6 +199,8 @@ class Jugador { ...@@ -192,6 +199,8 @@ class Jugador {
vidaMax = 10 vidaMax = 10
energiaMax = 10 energiaMax = 10
actualizarObjetosTienda(nivelCiudad*2) actualizarObjetosTienda(nivelCiudad*2)
actualizarObjetosArmeria(nivelCiudad*2)
RepositorioJugador.setInventario(ArrayList())
} }
fun destruirObjetoRandom(){ fun destruirObjetoRandom(){
......
...@@ -28,6 +28,15 @@ object RepositorioJugador { ...@@ -28,6 +28,15 @@ object RepositorioJugador {
?: ArrayList() ?: ArrayList()
GameState.jugador.objetosArmeria = objetosArmeria GameState.jugador.objetosArmeria = objetosArmeria
val inventario = (it.get("inventario") as? List<*>)
?.filterIsInstance<String>()
?.toCollection(ArrayList())
?: ArrayList()
for(nombreObjeto in inventario){
GameState.jugador.inventario.add(RepositorioObjetos.obtenerObjetoPorNombre(nombreObjeto)!!)
}
} }
} }
...@@ -37,6 +46,7 @@ object RepositorioJugador { ...@@ -37,6 +46,7 @@ object RepositorioJugador {
"monedas" to 0, "monedas" to 0,
"username" to username, "username" to username,
"nivelCiudad" to 1, "nivelCiudad" to 1,
"inventario" to ArrayList<String>(),
"objetosTienda" to RepositorioObjetos.obtenerObjetosAleatoriosTienda(2), "objetosTienda" to RepositorioObjetos.obtenerObjetosAleatoriosTienda(2),
"objetosArmeria" to RepositorioObjetos.obtenerObjetosAleatoriosArmeria(2) "objetosArmeria" to RepositorioObjetos.obtenerObjetosAleatoriosArmeria(2)
) )
...@@ -63,6 +73,11 @@ object RepositorioJugador { ...@@ -63,6 +73,11 @@ object RepositorioJugador {
userRef.set(hashMapOf("nivelCiudad" to nivelCiudad), SetOptions.merge()) userRef.set(hashMapOf("nivelCiudad" to nivelCiudad), SetOptions.merge())
} }
fun setInventario(objetos : ArrayList<String>) {
val userRef = db.collection("users").document(email)
userRef.set(hashMapOf("inventario" to objetos), SetOptions.merge())
}
fun cargarJugadores(callback: (List<PlayerLeaderBoard>) -> Unit) { fun cargarJugadores(callback: (List<PlayerLeaderBoard>) -> Unit) {
db.collection("users") db.collection("users")
.get() .get()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment