Пример #1
0
    public IEnumerator VerificarTiempoEnMapa()
    {
        ContadorTiempoEnMapaBatalla -= Time.deltaTime;
        ManejadorMisionPanel ManejadorMision = GameObject.FindObjectOfType <ManejadorMisionPanel>();

        if (ManejadorMision.GetComponent <Animator>().GetBool("Bajar") && ManejadorMision.NombreMisionMapa == this.name)
        {
            Transform PosTexto = ManejadorMision.transform.Find("Detalles_Mision").Find("Panel_Informacion_Y_Enemigos")
                                 .Find("Elementos_Mision").Find("Panel_Duracion_Descripcion_Enviar").Find("Texto_Expiracion");

            string TextoColocar = "Expira en : ";
            float  TiempoP      = Mathf.Round(ContadorTiempoEnMapaBatalla);
            if (TiempoP <= 59)
            {
                float Tiempo = Mathf.Round(ContadorTiempoEnMapaBatalla);
                TextoColocar += Tiempo + (Tiempo == 1 ? " segundo" : " segundos");
            }
            else if (TiempoP <= 3599)
            {
                float Tiempo = Mathf.Round(ContadorTiempoEnMapaBatalla / 60);
                TextoColocar += Tiempo + (Tiempo == 1 ? " minuto" : " minutos");
            }
            else if (TiempoP <= 86399)
            {
                float Tiempo = Mathf.Round(ContadorTiempoEnMapaBatalla / 3600);
                TextoColocar += Tiempo + (Tiempo == 1 ? " hora" : " horas");
            }
            else
            {
                float Tiempo = Mathf.Round(ContadorTiempoEnMapaBatalla / 86400);
                TextoColocar += Tiempo + (Tiempo == 1 ? " día" : " días");
            }

            PosTexto.GetComponent <Text>().text = TextoColocar;
        }

        if (ContadorTiempoEnMapaBatalla <= 0)
        {
            ManejadorMisionPanel MMP = GameObject.FindObjectOfType <ManejadorMisionPanel>();

            if (MMP.GetComponent <Animator>().GetBool("Bajar") && MMP.NombreMisionMapa == this.name)
            {
                MGM.ActivarDesactivarSeleccionablesDelMapa(true, true, true, true);
            }
            MGM.MisionesEnMapa.Remove(this);

            if (EsMisionUnica)
            {
                SpawnMisiones[] ManejadoresSpawn = GameObject.FindObjectsOfType <SpawnMisiones>();

                foreach (SpawnMisiones CSpawn in ManejadoresSpawn)
                {
                    CSpawn.MisionesBetadas.Remove(this);
                }
            }

            _ManejadorDeSpawn.GetComponent <SpawnMisiones>().GenerarMision = true;
            Destroy(Temporizador);
            Destroy(this.gameObject);
        }
        yield return(new WaitForSeconds(.5f));
    }
Пример #2
0
    /// <summary>
    /// Inicializacion de Variables y asignacion de valores por defecto a objetos de la escena
    /// </summary>
    void Start()
    {
        if (!DatosCargados)
        {
            CargarDatos();
        }

        GraphicRaycasterPrincipal = GameObject.Find("Interfaz").GetComponent <GraphicRaycaster>();
        Transform AIM = GameObject.FindGameObjectWithTag("Agrupador_Informacion_Misiones").transform;

        _MapasMisiones    = GameObject.FindGameObjectsWithTag("Mapa");
        _MapasSinMisiones = GameObject.FindGameObjectsWithTag("Mapa_Sin_Misiones");

        GameObject[] Mapas = GameObject.FindGameObjectsWithTag("Mapa");
        foreach (GameObject Cmapa in Mapas)
        {
            if (Cmapa.name != "Mapa_Principal")
            {
                Cmapa.SetActive(false);
            }
        }
        GameObject[] Mapas2 = GameObject.FindGameObjectsWithTag("Mapa_Sin_Misiones");
        foreach (GameObject Cmapa2 in Mapas2)
        {
            Cmapa2.SetActive(false);
        }
        _MisionPanel = GameObject.FindGameObjectWithTag("Mision_Para_Enviar").GetComponent <ManejadorMisionPanel>();
        //Colocar valores por defecto a el panel de cuartel de soldados:
        Transform posPanelCreacionSoldados = GameObject.FindGameObjectWithTag("Interfaz_Panel_Soldados").transform.Find("Contenedor_Informacion_Creacion_Soldados");

        posPanelCreacionSoldados.Find("Panel_Cartas_Disponibles").Find("SubPanel_Cartas_Disponibles").Find("Texto_Cartas_Disponibles")
        .GetComponent <UnityEngine.UI.Text>().text = "0/" + NumeroMaximoSoldados;

        posPanelCreacionSoldados.Find("Panel_Cartas_Por_Crear").Find("SubPanel_Cartas_Por_Crear").Find("Texto_Cartas_Por_Crear")
        .GetComponent <UnityEngine.UI.Text>().text = NumeroMaximoSoldados + "/" + NumeroMaximoSoldados;

        //Colocar los valores por defecto a el panel de lista de soldados:
        Transform posListaSoldados = GameObject.FindGameObjectWithTag("Interfaz_Soldados").transform;

        posListaSoldados.Find("Visor_Seleccion_Cartas").Find("Cantidad_Soldados").GetComponent <UnityEngine.UI.Text>().text = "Soldados 0/" + NumeroMaximoSoldados;

        //Para Testear Rapidamente:
        if (GenerarSoldadosDePrueba)
        {
            Sprite[] Iconos = Resources.LoadAll <Sprite>("Iconos/Soldados/Atlas_razas_soldados");
            __informacionSoldados InfoSoldado = new __informacionSoldados(pDano: 1, pVida: 10, pHeroe: true,
                                                                          pNombre: "Jose", pIcono: Iconos[2],
                                                                          pRaza: "Gnomo", pClase: "Alquimista");

            __informacionSoldados InfoSoldado2 = new __informacionSoldados(pDano: 1, pVida: 10, pHeroe: false,
                                                                           pNombre: "Anton", pIcono: Iconos[1],
                                                                           pRaza: "Enano", pClase: "Pescador");

            __informacionSoldados InfoSoldado3 = new __informacionSoldados(pDano: 1, pVida: 10, pHeroe: false,
                                                                           pNombre: "Mariano", pIcono: Iconos[3],
                                                                           pRaza: "Humano", pClase: "Saqueador");

            __informacionSoldados InfoSoldado4 = new __informacionSoldados(pDano: 1, pVida: 10, pHeroe: false,
                                                                           pNombre: "Mariano", pIcono: Iconos[3],
                                                                           pRaza: "Humano", pClase: "Saqueador");

            //__informacionSoldados InfoSoldado4 = new __informacionSoldados(pDano: 1, pVida: 10, pHeroe: false,
            //                                                                          pNombre: "Malacath", pIcono: Iconos[2],
            //                                                                          pRaza: "Gnomo", pClase: "Granjero");

            __informacionSoldados InfoSoldado5 = new __informacionSoldados(pDano: 1, pVida: 10, pHeroe: false,
                                                                           pNombre: "Joselfas", pIcono: Iconos[0],
                                                                           pRaza: "Elfo", pClase: "Observador");

            __informacionSoldados InfoSoldado6 = new __informacionSoldados(pDano: 1, pVida: 10, pHeroe: false,
                                                                           pNombre: "Ark", pIcono: Iconos[0],
                                                                           pRaza: "Elfo", pClase: "Archivador");

            CrearCartaSoldados(InfoSoldado);
            CrearCartaSoldados(InfoSoldado2);
            CrearCartaSoldados(InfoSoldado3);
            CrearCartaSoldados(InfoSoldado4);
            CrearCartaSoldados(InfoSoldado5);
            CrearCartaSoldados(InfoSoldado6);
        }
    }
Пример #3
0
    /// <summary>
    /// Muestra la info de la mision en el panel correspondiente.
    /// </summary>
    /// <param name="CerrarMisionAnterior">Si se quiere cerrar una mision previamente abierta</param>
    public void MostrarLaInfoMision(bool CerrarMisionAnterior = false)
    {
        Transform InfoMisionPosicion = GameObject.FindGameObjectWithTag("Mision_Para_Enviar").transform;

        ManejadorMisionPanel InfoMision = InfoMisionPosicion.GetComponent <ManejadorMisionPanel>();

        //InfoMision.resetearDatos();
        GameObject.FindObjectOfType <ManejadorDetallesPanelMision>().ResetearDatos();

        //Colocar Datos en el Encabezado:
        Transform EncabezadoPosicion = InfoMisionPosicion.Find("Encabezado_Mision").Find("Panel_Encabezado_Texto_Mision");

        EncabezadoPosicion.Find("Texto_Nombre_Batalla").GetComponent <Text>().text      = NombreBatalla;
        EncabezadoPosicion.Find("Texto_Descripcion_Batalla").GetComponent <Text>().text = '"' + DescripcionBatalla + '"';

        //Colocar Datos en los Elementos de la Mision:
        Transform ElementosMisionPosicion = InfoMisionPosicion.Find("Detalles_Mision").Find("Panel_Informacion_Y_Enemigos").Find("Elementos_Mision");

        if (EspacioTropas.Length < 3)
        {
            for (int contador = 1; contador <= (3 - EspacioTropas.Length); contador++)
            {
                ElementosMisionPosicion.Find("Espacio_Soldado_" + (EspacioTropas.Length + contador)).gameObject.SetActive(false);
            }
        }

        for (int contador = 0; contador < NombresEnemigos.Length; contador++)
        {
            Transform PosEnemigo = ElementosMisionPosicion.Find("Enemigo_" + (contador + 1));
            PosEnemigo.Find("Level").GetComponent <Text>().text    = InfoEnemigos[contador].Level.ToString();
            PosEnemigo.Find("Icono").GetComponent <Image>().sprite = InfoEnemigos[contador].Icono;
        }

        //Eliminar espacios de enemigos y tropas que sobran
        if (NombresEnemigos.Length < 3)
        {
            for (int contador = 1; contador <= (3 - NombresEnemigos.Length); contador++)
            {
                ElementosMisionPosicion.Find("Enemigo_" + (NombresEnemigos.Length + contador)).gameObject.SetActive(false);
            }
        }


        //Colocar Datos en Panel de Duracion, Descripcion y Enviar:
        Transform PanelDDE           = ElementosMisionPosicion.Find("Panel_Duracion_Descripcion_Enviar");
        string    textoPonerDuracion = "Finaliza en : ";
        Transform CEM  = GameObject.FindGameObjectWithTag("Ciudad_En_Mapa").transform;
        Vector3   posf = transform.localPosition - CEM.localPosition;

        _tiempoFinal  = posf.magnitude * 100 / (MGM.VelocidadMovimientoTropas);
        _tiempoFinal += ManejadorGeneralMundo.CambiarTiempoAFormato(FormatoTiempoPeleaBatalla, TiempoPeleaBatalla);

        if (_tiempoFinal > 59 && _tiempoFinal <= 3599)
        {
            float tiempoListo = Mathf.Round(_tiempoFinal / 60);
            textoPonerDuracion += tiempoListo + (tiempoListo != 1 ? " Minutos" : " Minuto");
        }
        else if (_tiempoFinal > 3599)
        {
            float tiempoListo = Mathf.Round(_tiempoFinal / 3600);
            textoPonerDuracion += tiempoListo + (tiempoListo != 1 ? " Horas" : " Hora");
        }
        else
        {
            float tiempoListo = Mathf.Round(_tiempoFinal);
            textoPonerDuracion += tiempoListo + (tiempoListo != 1 ? " Segundos" : " Segundo");
        }

        PanelDDE.Find("Texto_Duracion").GetComponent <Text>().text       = textoPonerDuracion;
        PanelDDE.Find("Texto_Recompensa_EXP").GetComponent <Text>().text = "+ " + EXPADarASoldados + " puntos XP";

        int NivelMinimo = InfoEnemigos[0].Level;

        for (int contador2 = 0; contador2 < NombresEnemigos.Length; contador2++)
        {
            if (InfoEnemigos[contador2].Level < NivelMinimo)
            {
                NivelMinimo = InfoEnemigos[contador2].Level;
            }
        }
        NivelMinimo -= 2;
        List <Soldados> SoldadosMision = new List <Soldados>();
        Transform       PosCartas      = InfoMision.transform.Find("Detalles_Mision").Find("Panel_Lista_Tropas");

        for (int contador = 1; contador <= 5; contador++)
        {
            GameObject ObjetoSoldado = null;
            if (PosCartas.Find("Borde_Seleccion_Carta_" + contador).childCount > 0)
            {
                ObjetoSoldado = PosCartas.Find("Borde_Seleccion_Carta_" + contador).GetChild(0).gameObject;
            }
            if (ObjetoSoldado != null)
            {
                SoldadosMision.Add(ObjetoSoldado.GetComponent <Soldados>());
            }
        }

        for (int contador = 0; contador < PosCartas.Find("Espacio_Ocultos").childCount; contador++)
        {
            GameObject ObjetoSoldado = PosCartas.Find("Espacio_Ocultos").GetChild(contador).gameObject;
            if (ObjetoSoldado != null)
            {
                SoldadosMision.Add(ObjetoSoldado.GetComponent <Soldados>());
            }
        }

        foreach (Soldados CSoldado in SoldadosMision)
        {
            if (CSoldado.InfoActualSoldado.Nivel < NivelMinimo)
            {
                CSoldado.GetComponent <Image>().color = new Color(1, 0, 0, 1);
                CSoldado.NoEsNivelMision = true;
            }
            else
            {
                CSoldado.GetComponent <Image>().color = new Color(1, 1, 1, 1);
                CSoldado.NoEsNivelMision = false;
            }
        }

        InfoMision.NombreMisionMapa = this.name;
        MGM.ActivarDesactivarSeleccionablesDelMapa(false, false);
        InfoMision.DesplegarOcultarPanel();
    }