public void MostrarDetallesPokemon(PokemonModelo pokemonDatos)
    {
        gameObject.SetActive(true);
        UIControlador.Instancia.DetallesPokemon.imagen.sprite = pokemonDatos.DatosFijos.sprite;
        UIControlador.Instancia.DetallesPokemon.nombre.text   = pokemonDatos.DatosFijos.nombre;
        string ele = string.Empty;

        if (pokemonDatos.DatosFijos.tipoElemento1 != Elemento.NINGUNO)
        {
            ele = Herramientas.TextoAtaqueElemento(pokemonDatos.DatosFijos.tipoElemento1);
        }
        if (pokemonDatos.DatosFijos.tipoElemento2 != Elemento.NINGUNO)
        {
            ele = string.Concat(ele, " ", Herramientas.TextoAtaqueElemento(pokemonDatos.DatosFijos.tipoElemento2));
        }
        UIControlador.Instancia.DetallesPokemon.elementos.text = ele;

        UIControlador.Instancia.DetallesPokemon.ataques1.MostrarAtaque(pokemonDatos.Ataques()[0], pokemonDatos);
        UIControlador.Instancia.DetallesPokemon.ataques2.MostrarAtaque(pokemonDatos.Ataques()[1], pokemonDatos);
        UIControlador.Instancia.DetallesPokemon.ataques3.MostrarAtaque(pokemonDatos.Ataques()[2], pokemonDatos);
        UIControlador.Instancia.DetallesPokemon.ataques4.MostrarAtaque(pokemonDatos.Ataques()[3], pokemonDatos);

        UIControlador.Instancia.DetallesPokemon.salud.text         = pokemonDatos.EstadisticaSaludMaxima().ToString();
        UIControlador.Instancia.DetallesPokemon.ataqueFisico.text  = pokemonDatos.EstadisticaAtaqueFisico().ToString();
        UIControlador.Instancia.DetallesPokemon.defensaFisica.text = pokemonDatos.EstadisticaDefensaFisica().ToString();
        UIControlador.Instancia.DetallesPokemon.ataqueMagico.text  = pokemonDatos.EstadisticaAtaqueMagico().ToString();
        UIControlador.Instancia.DetallesPokemon.defensaMagica.text = pokemonDatos.EstadisticaDefensaMagica().ToString();
        UIControlador.Instancia.DetallesPokemon.velocidad.text     = pokemonDatos.EstadisticaVelocidad().ToString();
    }
Beispiel #2
0
 public void MostrarPokemon(PokemonModelo pokemonDatos, UIPCControlador uiMoverPokemon)
 {
     this.uiPcPokemon = uiMoverPokemon;
     if (pokemonDatos == null || pokemonDatos.ID == PokemonID.NINGUNO)
     {
         gameObject.SetActive(false);
     }
     else
     {
         PokemonDatos          = pokemonDatos;
         imagenPokemon.sprite  = pokemonDatos.DatosFijos.sprite;
         nivelPokemon.text     = string.Concat(pokemonDatos.DatosFijos.nombre, "\n Lvl. ", pokemonDatos.Nivel);
         barraSalud.fillAmount = pokemonDatos.SaludEnEscalaDe1();
         textoSalud.text       = string.Concat(pokemonDatos.Salud, "/", pokemonDatos.EstadisticaSaludMaxima());
         if (pokemonDatos.EstadoAlterado != EstadoAlterado.NINGUNO)
         {
             estadoAlterado.text = pokemonDatos.EstadoAlterado.ToString().Substring(0, 3).ToUpper();
         }
         else
         {
             estadoAlterado.text = "   ";
         }
         gameObject.SetActive(true);
     }
 }
Beispiel #3
0
    public bool SacarPokemonDelPC(PokemonModelo pokemon)
    {
        if (HayEspacioEnElEquipo())
        {
            bool existe = false;
            if (_pokemonAlmacenadosEnPC != null && _pokemonAlmacenadosEnPC.Count > 0)
            {
                for (int i = 0; i < _pokemonAlmacenadosEnPC.Count; i++)
                {
                    if (_pokemonAlmacenadosEnPC[i].IdentificardorUnico == pokemon.IdentificardorUnico)
                    {
                        _pokemonAlmacenadosEnPC.RemoveAt(i);
                        existe = true;
                        break;
                    }
                }
            }

            if (!existe)
            {
                return(false);
            }
            AniadirPokemonAlEquipo(pokemon);
            return(true);
        }
        else
        {
            return(false);
        }
    }
Beispiel #4
0
 public EventoProximaAccionCombate(TipoAccion tipoAccion, AtaqueID ataque, Item item, PokemonModelo proximoPokemon = null)
 {
     TipoAccion     = tipoAccion;
     Ataque         = ataque;
     Item           = item;
     ProximoPokemon = proximoPokemon;
 }
 public void CambiarPokemonActivoDelJugador(PokemonModelo activarPokemon)
 {
     for (int i = 0; i < EquipoPokemonJugador.Count; i++)
     {
         if (EquipoPokemonJugador[i].Pokemon.IdentificardorUnico == activarPokemon.IdentificardorUnico)
         {
             pokemonJugadorActivoIndice = i;
             break;
         }
     }
 }
 private void PokemonPulsado(PokemonModelo pokemon)
 {
     if (pokemonsEnPC != null && pokemonsEnPC.Count != 0)
     {
         pokemonsEnPC.ForEach((p) => p.PokemonPulsado(pokemon));
     }
     if (pokemonsEnEquipo != null && pokemonsEnEquipo.Count != 0)
     {
         pokemonsEnEquipo.ForEach((p) => p.PokemonPulsado(pokemon));
     }
 }
 public void PokemonEquipoPulsado(PokemonModelo pokemon)
 {
     ultimoPokemonPulsado        = pokemon;
     ultimoPokemonPulsadoEsDelPC = false;
     PokemonPulsado(pokemon);
     if (ControladorDatos.Instancia.Datos.NumeroDePokemonEnElEquipo() == 6)
     {
         return;
     }
     botonMoverAPC.enabled = true;
 }
Beispiel #8
0
 private void AniadirPokemonAlEquipo(PokemonModelo pokemon)
 {
     for (int i = 0; i < _equipoPokemon.Length; i++)
     {
         if (_equipoPokemon[i] == null || _equipoPokemon[i].ID == PokemonID.NINGUNO)
         {
             _equipoPokemon[i] = pokemon;
             break;
         }
     }
 }
    private void AccionConfirmacion()
    {
        for (int i = 0; i < darLogroAlObtenerlo.Length; i++)
        {
            if (darLogroAlObtenerlo[i] != Logro.NINGUNO)
            {
                ControladorDatos.Instancia.Datos.AniadirLogro(darLogroAlObtenerlo[i]);
            }
        }
        PokemonModelo pokemonDatos = new PokemonModelo(pokemon, nivel, calidad, new AtaqueID[] { ataque1, ataque2, ataque3, ataque4 }, 1);

        ControladorDatos.Instancia.Datos.AniadirNuevoPokemonCapturado(pokemonDatos);
        gameObject.SetActive(false);
    }
    public void PokemonPulsado(PokemonModelo pokemon)
    {
        if (!gameObject.activeSelf)
        {
            return;
        }

        panelFondo.color = panelFondoColorOriginal;

        // Si el pokemon es NULL significa que debemos establecer todos los botones como si no estuviesen pulsados
        if (pokemon != null && PokemonDatos.IdentificardorUnico == pokemon.IdentificardorUnico)
        {
            panelFondo.color = Color.green;
        }
    }
 public void MostrarAtaque(AtaquesModelo ataque, PokemonModelo pokemon)
 {
     if (ataque == null || ataque.ID == AtaqueID.NINGUNO || pokemon == null)
     {
         gameObject.SetActive(false);
     }
     else
     {
         nombre.text     = pokemon.Ataque(ataque.ID).DatosFijos.nombre;
         elemento.text   = Herramientas.TextoAtaqueElemento(pokemon.Ataque(ataque.ID).DatosFijos.ataqueElemento);
         pp.text         = pokemon.Ataque(ataque.ID).TextoPPActualYMaximo();
         poderYTipo.text = string.Concat(pokemon.Ataque(ataque.ID).DatosFijos.poder, " ", pokemon.Ataque(ataque.ID).DatosFijos.TextoTipoAtaque());
         gameObject.SetActive(true);
     }
 }
 public void MostrarPokemon(PokemonModelo pokemonDatos, UIPCControlador uiMoverPokemon)
 {
     this.uiPcPokemon = uiMoverPokemon;
     if (pokemonDatos == null || pokemonDatos.ID == PokemonID.NINGUNO)
     {
         gameObject.SetActive(false);
     }
     else
     {
         PokemonDatos         = pokemonDatos;
         imagenPokemon.sprite = pokemonDatos.DatosFijos.sprite;
         nivelPokemon.text    = string.Concat(pokemonDatos.DatosFijos.nombre, "\n Lvl. ", pokemonDatos.Nivel);
         gameObject.SetActive(true);
     }
 }
    public void BotonMoverAEquipoPulsado()
    {
        if (ultimoPokemonPulsado == null)
        {
            return;
        }

        bool resultado = ControladorDatos.Instancia.Datos.SacarPokemonDelPC(ultimoPokemonPulsado);

        if (resultado)
        {
            ultimoPokemonPulsado = null;
            PokemonPulsado(null);
            Rebuild();
        }
    }
Beispiel #14
0
    private bool AniadirPokemonAlPC(PokemonModelo pokemon)
    {
        if (_pokemonAlmacenadosEnPC != null && _pokemonAlmacenadosEnPC.Count > 0)
        {
            for (int i = 0; i < _pokemonAlmacenadosEnPC.Count; i++)
            {
                if (_pokemonAlmacenadosEnPC[i].IdentificardorUnico == pokemon.IdentificardorUnico)
                {
                    Debug.Log("El pokemon ya existe en el PC");
                    return(false);
                }
            }
        }

        _pokemonAlmacenadosEnPC.Add(pokemon);
        return(true);
    }
Beispiel #15
0
    private bool EliminarPokemonDelEquipo(PokemonModelo pokemon)
    {
        if (pokemon == null)
        {
            return(false);
        }


        for (int i = 0; i < _equipoPokemon.Length; i++)
        {
            if (_equipoPokemon[i] != null && _equipoPokemon[i].IdentificardorUnico == pokemon.IdentificardorUnico)
            {
                _equipoPokemon[i] = null;
                return(true);
            }
        }
        Debug.Log("No existe el pokemon en el equipo");
        return(false);
    }
Beispiel #16
0
 public bool DejarPokemonDelEquipoEnPC(PokemonModelo pokemon)
 {
     if (NumeroDePokemonEnElEquipo() < 2)
     {
         return(false);
     }
     else
     {
         if (!EliminarPokemonDelEquipo(pokemon))
         {
             return(false);
         }
         if (!AniadirPokemonAlPC(pokemon))
         {
             return(false);
         }
         return(true);
     }
 }
Beispiel #17
0
    public void AniadirNuevoPokemonCapturado(PokemonModelo pokemon)
    {
        if (_pokedex.ContieneClave(pokemon.ID))
        {
            _pokedex.CambiarValor(pokemon.ID, PokedexTipoAvistamiento.Capturado);
        }
        else
        {
            _pokedex.Aniadir(pokemon.ID, PokedexTipoAvistamiento.Capturado);
        }

        if (HayEspacioEnElEquipo())
        {
            AniadirPokemonAlEquipo(pokemon);
        }
        else
        {
            AniadirPokemonAlPC(pokemon);
        }
    }
    public void MostrarIncrementoEstadisticas(PokemonModelo pokemon)
    {
        saludActual.text         = pokemon.EstadisticaSaludMaxima().ToString();
        ataqueFisicoActual.text  = pokemon.EstadisticaAtaqueFisico().ToString();
        defensaFisicaActual.text = pokemon.EstadisticaDefensaFisica().ToString();
        ataqueMagicoActual.text  = pokemon.EstadisticaAtaqueMagico().ToString();
        defensaMagicaActual.text = pokemon.EstadisticaDefensaMagica().ToString();
        velocidadActual.text     = pokemon.EstadisticaVelocidad().ToString();

        IncrementoEstadisticas incrementos = pokemon.IncrementoDeEstadisticasRespectoAlNivelAnterior();

        saludIncremento.text         = string.Concat("+", incrementos.saludIncremento.ToString());
        ataqueFisicoIncremento.text  = string.Concat("+", incrementos.ataqueFisicoIncremento.ToString());
        defensaFisicaIncremento.text = string.Concat("+", incrementos.defensaFisicaIncremento.ToString());
        ataqueMagicoIncremento.text  = string.Concat("+", incrementos.ataqueMagicoIncremento.ToString());
        defensaMagicaIncremento.text = string.Concat("+", incrementos.defensaMagicaIncremento.ToString());
        velocidadIncremento.text     = string.Concat("+", incrementos.velocidadIncremento.ToString());

        gameObject.SetActive(true);
    }
    public void MostrarVentana(PokemonModelo pokemon, AtaqueID nuevoAtaque)
    {
        this.pokemon        = pokemon;
        nuevoAtaqueAprender = ControladorDatos.Instancia.ObtenerAtaque(nuevoAtaque);
        AtaqueSeleccionado  = null;

        nuevoAtaqueNombre.text     = nuevoAtaqueAprender.nombre;
        nuevoAtaqueElemento.text   = Herramientas.TextoAtaqueElemento(nuevoAtaqueAprender.ataqueElemento);
        nuevoAtaquePoderYTipo.text = string.Concat(nuevoAtaqueAprender.poder, " ", nuevoAtaqueAprender.TextoTipoAtaque());

        for (int i = 0; i < detallesAtaques.Length; i++)
        {
            detallesAtaques[i].gameObject.SetActive(false);
        }

        for (int i = 0; i < pokemon.Ataques().Length; i++)
        {
            detallesAtaques[i].MostrarAtaque(pokemon.Ataques()[i].DatosFijos, this);
        }

        gameObject.SetActive(true);
    }
    public IEnumerator SubeDeNivelComprobarAtaquesAprendidos(PokemonModelo pokemon)
    {
        for (int i = 0; i < pokemon.DatosFijos.listaDeAtaques.Count; i++)
        {
            if (pokemon.DatosFijos.listaDeAtaques[i].nivelAprender == pokemon.Nivel && pokemon.DatosFijos.listaDeAtaques[i].ataque != AtaqueID.NINGUNO)
            {
                Ataque ataque = ControladorDatos.Instancia.ObtenerAtaque(pokemon.DatosFijos.listaDeAtaques[i].ataque);

                //... Si tiene menos de 4 ataques aprendidos lo asignamos directamente
                if (pokemon.Ataques().Count(x => x.ID == AtaqueID.NINGUNO) > 0)
                {
                    pokemon.AprenderNuevoAtaque(AtaqueID.NINGUNO, pokemon.DatosFijos.listaDeAtaques[i].ataque);

                    string texto = Ajustes.Instancia.textoNuevoAtaqueAprendido
                                   .Replace(Ajustes.Instancia.palabraParaReemplazarEnLosTexto1, pokemon.DatosFijos.nombre)
                                   .Replace(Ajustes.Instancia.palabraParaReemplazarEnLosTexto2, ataque.nombre);
                    yield return(StartCoroutine(UIControlador.Instancia.Dialogo.componentePrincipal.MostrarTextoCorrutina(texto, false)));
                }
                else
                {
                    string texto = Ajustes.Instancia.textoPreguntarAprenderNuevoAtaque
                                   .Replace(Ajustes.Instancia.palabraParaReemplazarEnLosTexto1, pokemon.DatosFijos.nombre)
                                   .Replace(Ajustes.Instancia.palabraParaReemplazarEnLosTexto2, ataque.nombre);
                    yield return(StartCoroutine(UIControlador.Instancia.Dialogo.componentePrincipal.MostrarTextoCorrutina(texto, false, true)));

                    UIControlador.Instancia.AprenderAtaque.MostrarVentana(pokemon, pokemon.DatosFijos.listaDeAtaques[i].ataque);
                    while (UIControlador.Instancia.AprenderAtaque.gameObject.activeSelf)
                    {
                        yield return(null);
                    }
                }
                break;
            }
            yield return(null);
        }

        yield return(new WaitForSeconds(0.5f));
    }
    public void BotonMoverAPcPulsado()
    {
        if (ultimoPokemonPulsado == null)
        {
            return;
        }
        print("Equipo " + ControladorDatos.Instancia.Datos.NumeroDePokemonEnElEquipo().ToString());
        if (ControladorDatos.Instancia.Datos.NumeroDePokemonEnElEquipo() == 1)
        {
            return;
        }

        bool resultado = ControladorDatos.Instancia.Datos.DejarPokemonDelEquipoEnPC(ultimoPokemonPulsado);

        if (resultado)
        {
            ultimoPokemonPulsado = null;
            PokemonPulsado(null);


            Rebuild();
        }
    }
 //Constructor para los Pokémon del jugador
 public PokemonLuchador(PokemonModelo pokemonJugador)
 {
     Pokemon = pokemonJugador;
     Debug.Log("Pokemon jugador " + Pokemon.ToString());
 }
 //Constructor para los Pokémon enemigos
 public PokemonLuchador(PokemonID pokemonID, int nivel, int calidadDelPokemon, AtaqueID[] ataques)
 {
     Pokemon = new PokemonModelo(pokemonID, nivel, calidadDelPokemon, ataques, 1);
     Debug.Log("Pokemon enemigo " + Pokemon.ToString());
 }
Beispiel #24
0
 public EventoPokemonEnMapa(PokemonModelo pokemonDatos)
 {
     PokemonDatos = pokemonDatos;
 }