コード例 #1
0
    /// <summary>
    /// Cierra la Mision Actual Mostrada y Limpia la informacion de los soldados de ella.
    /// </summary>
    /// <param name="DesbloquearSoldados">Si se quieren desbloquear los soldados o no</param>
    /// <param name="nombreMision">El nombre de la mision que se quiere eliminar</param>
    public void CerrarYLimpiarMisionMostrada(bool DesbloquearSoldados)
    {
        Mision ScriptMM = GameObject.Find(_MisionPanel.NombreMisionMapa).GetComponent <Mision>();

        if (DesbloquearSoldados)
        {
            for (int n = 0; n < ScriptMM.EspacioTropas.Length; n++)
            {
                GameObject objSoldado  = ScriptMM.infoSoldadosDisponibles[n].SoldadoEnLista;
                GameObject objSoldadoM = ScriptMM.infoSoldadosDisponibles[n].SoldadoEnListaMision;
                Soldados   Soldado     = objSoldado != null?objSoldado.GetComponent <Soldados>() : null;

                Soldados SoldadoM = objSoldadoM != null?objSoldadoM.GetComponent <Soldados>() : null;

                if (Soldado != null && Soldado.InfoActualSoldado.MisionCompletada)
                {
                    Soldado.ActivarTropa();
                    SoldadoM.ActivarTropa();
                    SoldadoM.PosibleEnviarAMision       = true;
                    ScriptMM.infoSoldadosDisponibles[n] = new __informacionSoldados();
                    ScriptMM.EspacioTropas[n]           = false;
                }
            }
        }
        _MisionPanel.DesplegarOcultarPanel();
    }
コード例 #2
0
ファイル: Mision.cs プロジェクト: Sproilex/ROK
    /// <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();
    }