Esempio n. 1
0
 public void DesplegarOcultarPanel(bool Cerrar = false)
 {
     if (!Cerrar)
     {
         if (_Animator.GetBool("Bajar") == false && _Animator.GetBool("Subir") == false)
         {
             MGM.ActivarDesactivarSeleccionablesDelMapa(false, false, false, false);
             MGM.ActivarDesactivarMovimientoMapa("Ciudad", false);
             _Animator.SetBool("Subir", true);
         }
         else
         {
             bool Subir = !_Animator.GetBool("Subir");
             MGM.ActivarDesactivarSeleccionablesDelMapa(false, false, !Subir, false);
             MGM.ActivarDesactivarMovimientoMapa("Ciudad", !Subir);
             _Animator.SetBool("Subir", Subir);
             _Animator.SetBool("Bajar", !Subir);
         }
     }
     else
     {
         _Animator.SetBool("Subir", false);
         _Animator.SetBool("Bajar", true);
     }
 }
Esempio n. 2
0
    public void DesplegarOcultarPanel(bool Cerrar = false)
    {
        if (!Cerrar)
        {
            if (_animatorMLS.GetBool("Subir") == false && _animatorMLS.GetBool("Bajar") == false)
            {
                MGM.ActivarDesactivarSeleccionablesDelMapa(false, false, false, true);
                _animatorMLS.SetBool("Subir", true);
                _animatorMLS.SetBool("Bajar", false);
            }
            else
            {
                bool Bajar = !_animatorMLS.GetBool("Bajar");
                MGM.ActivarDesactivarSeleccionablesDelMapa(false, false, Bajar, false);
                MGM.ActivarDesactivarMovimientoMapa(GameObject.FindGameObjectWithTag("Mapa").name, Bajar);
                _animatorMLS.SetBool("Subir", !Bajar);
                _animatorMLS.SetBool("Bajar", Bajar);
            }

            GameObject BotonSoldados = GameObject.Find("Boton_Desplegar_Panel_Soldados");
            BotonSoldados.GetComponent <Button>().interactable = _animatorMLS.GetBool("Bajar");
            BotonSoldados.GetComponent <Image>().color         = new Color(1, 1, 1, _animatorMLS.GetBool("Subir") ? 0 : 1);
        }
        else
        {
            _animatorMLS.SetBool("Subir", false);
            _animatorMLS.SetBool("Bajar", true);

            GameObject BotonSoldados = GameObject.Find("Boton_Desplegar_Panel_Soldados");
            BotonSoldados.GetComponent <Button>().interactable = true;
            BotonSoldados.GetComponent <Image>().color         = new Color(1, 1, 1, 1);
        }
    }
    public void DesplegarOcultarPanel(bool cerrar = false)
    {
        if (!cerrar)
        {
            if (!_animatorPanel.GetBool("Izquierda") && !_animatorPanel.GetBool("Derecha"))
            {
                _animatorPanel.SetBool("Derecha", true);
            }
            else
            {
                _animatorPanel.SetBool("Izquierda", !(_animatorPanel.GetBool("Izquierda")));
                _animatorPanel.SetBool("Derecha", !(_animatorPanel.GetBool("Derecha")));
            }
            Transform CuadriculaPos = GameObject.FindGameObjectWithTag("Mapa_Sin_Misiones").transform.Find("Cuadricula");
            if (_animatorPanel.GetBool("Izquierda"))
            {
                int numeroHijos = CuadriculaPos.childCount;
                for (int n = 0; n < numeroHijos; n++)
                {
                    Destroy(CuadriculaPos.GetChild(n).gameObject);
                }

                MGM.ActivarDesactivarSeleccionablesDelMapa(false, false, true, false);

                GameObject BotonConstrucciones = GameObject.Find("Boton_Abrir_Construcciones_Ciudad");
                BotonConstrucciones.GetComponent <Image>().color = new Color(1, 1, 1, 1);
            }
            else
            {
                CuadriculaPos.parent.GetComponent <SistemaConstruccionesCiudad>().CrearCuadricula();
                MGM.ActivarDesactivarSeleccionablesDelMapa(false, false, false, false);

                GameObject BotonConstrucciones = GameObject.Find("Boton_Abrir_Construcciones_Ciudad");
                BotonConstrucciones.GetComponent <Button>().interactable = true;
                BotonConstrucciones.GetComponent <Image>().color         = new Color(1, 1, 1, 0);
            }
        }
        else
        {
            if (_animatorPanel.GetBool("Derecha"))
            {
                Transform CuadriculaPos = GameObject.FindGameObjectWithTag("Mapa_Sin_Misiones").transform.Find("Cuadricula");
                int       numeroHijos   = CuadriculaPos.childCount;
                for (int n = 0; n < numeroHijos; n++)
                {
                    Destroy(CuadriculaPos.GetChild(n).gameObject);
                }
            }
            _animatorPanel.SetBool("Derecha", false);
            _animatorPanel.SetBool("Izquierda", true);

            GameObject BotonConstrucciones = GameObject.Find("Boton_Abrir_Construcciones_Ciudad");
            BotonConstrucciones.GetComponent <Button>().interactable = true;
            BotonConstrucciones.GetComponent <Image>().color         = new Color(1, 1, 1, 1);
        }
    }
 public void OcultarDesplegarPanel(bool cerrar = false)
 {
     if (!cerrar)
     {
         bool Subir = _Animator.GetBool("Arriba");
         MGM.ActivarDesactivarSeleccionablesDelMapa(false, false, !Subir, false);
         MGM.ActivarDesactivarMovimientoMapa("Mapa_Principal", !Subir);
         _Animator.SetBool("Arriba", !Subir);
         _Animator.SetBool("Abajo", Subir);
     }
     else
     {
         _Animator.SetBool("Abajo", false);
         _Animator.SetBool("Arriba", true);
     }
 }
Esempio n. 5
0
    public void DesplegarOcultarPanel(bool cerrar = false)
    {
        if (!cerrar)
        {
            bool Izq = _animatorFiltro.GetBool("Izquierda");
            bool Der = _animatorFiltro.GetBool("Derecha");

            MGM.ActivarDesactivarSeleccionablesDelMapa(false, false, Izq, false);

            _animatorFiltro.SetBool("Izquierda", !Izq);
            _animatorFiltro.SetBool("Derecha", !Der);
        }
        else
        {
            _animatorFiltro.SetBool("Izquierda", false);
            _animatorFiltro.SetBool("Derecha", true);
        }
    }
Esempio n. 6
0
    /// <summary>
    /// Guardar informacion de soldados, crear informacion de la mision, bloquear la mision y limpiar la mision mostrada.
    /// </summary>
    public void Enviar()
    {
        //Verificar si hay almenos un soldado:
        string NombreMision = MGM.MisionPanel.NombreMisionMapa;

        ScriptMM = GameObject.Find(NombreMision).GetComponent <Mision>();
        bool HaySoldados = false;

        for (int contador = 0; contador < ScriptMM.EspacioTropas.Length; contador++)
        {
            if (ScriptMM.EspacioTropas[contador])
            {
                HaySoldados = true;
                break;
            }
        }

        if (HaySoldados)
        {
            ManejadorGeneralMundo ManejadorG = GameObject.FindGameObjectWithTag("MGM").GetComponent <ManejadorGeneralMundo>();

            //Bloquear Soldados:
            for (int n = 0; n < ScriptMM.EspacioTropas.Length; n++)
            {
                if (ScriptMM.infoSoldadosDisponibles[n].Nombre != null)
                {
                    ScriptMM.infoSoldadosDisponibles[n].SoldadoEnLista.GetComponent <Soldados>().InfoActualSoldado.MisionCompletada       = false;
                    ScriptMM.infoSoldadosDisponibles[n].SoldadoEnListaMision.GetComponent <Soldados>().InfoActualSoldado.MisionCompletada = false;
                }
            }
            //Instanciar el prefab en el panel de informacion de misiones:
            Transform  PosAgrupador     = GameObject.FindGameObjectWithTag("Agrupador_Panel_Informacion_Misiones").transform;
            GameObject ObjetoDeLaMision = null;
            for (int contador = 0; contador < PosAgrupador.childCount; contador++)
            {
                if (PosAgrupador.GetChild(contador).childCount == 0 && PosAgrupador.GetChild(contador).name != "Espacio_Misiones_Ocultas")
                {
                    ObjetoDeLaMision = Instantiate(_PrefabMisionesInformacion, PosAgrupador.GetChild(contador));
                    break;
                }
                else if (contador + 1 == PosAgrupador.childCount)
                {
                    ObjetoDeLaMision = Instantiate(_PrefabMisionesInformacion, PosAgrupador.GetChild(contador));
                }
            }

            //Cambiar Texto de Informacion:

            PosAgrupador.parent.parent.Find("Encabezado").GetChild(0).GetChild(0).GetComponent <Text>().text = "Resumen de Misiones Enviadas";
            //Cambiar Datos:
            Transform PosInformacionP = ObjetoDeLaMision.transform.Find("SubPanel_Informacion");
            PosInformacionP.Find("Texto_Mision_Espacio").GetComponent <Text>().text = ScriptMM.NombreBatalla;
            PosInformacionP.Find("Icono_Mision").GetComponent <Image>().sprite      = ScriptMM.IconoMision;
            string tiempoTotalMisionEnTexto = ScriptMM.TiempoFinal <= 60 ? (Mathf.Round(ScriptMM.TiempoFinal)).ToString() + " Segundos" :
                                              (Mathf.Round(ScriptMM.TiempoFinal / 60)) > 60 ?
                                              (Mathf.Round((ScriptMM.TiempoFinal / 60) / 60)).ToString() + " Horas" :
                                              (Mathf.Round(ScriptMM.TiempoFinal / 60)).ToString() + " Minutos";

            PosInformacionP.Find("Texto_Restante_Mision_Espacio").GetComponent <Text>().text = tiempoTotalMisionEnTexto;
            PosInformacionP.Find("Panel_Recompensas").Find("Texto_Recompensa_Experiencia_Espacio")
            .GetComponent <Text>().text = ScriptMM.EXPADarASoldados.ToString();

            for (int contador = 0; contador < 3; contador++)
            {
                Transform PosCarta = PosInformacionP.Find("Espacio_Soldado_" + (contador + 1)).Find("Carta");
                if (contador < ScriptMM.EspacioTropas.Length && ScriptMM.EspacioTropas[contador])
                {
                    PosCarta.Find("Icono_Soldado").GetComponent <Image>().sprite = ScriptMM.infoSoldadosDisponibles[contador].Icono;
                    Transform PosDetalles = PosCarta.Find("Detalles_Diseño");
                    PosDetalles.Find("Level_Soldado").GetComponent <Text>().text  = ScriptMM.infoSoldadosDisponibles[contador].Nivel.ToString();
                    PosDetalles.Find("Nombre_Soldado").GetComponent <Text>().text = ScriptMM.infoSoldadosDisponibles[contador].Nombre.ToString();
                }
                else
                {
                    Destroy(PosCarta.gameObject);
                }
            }

            //Instanciar y agregar informacion al manejador de la mision:
            ManejadorPanelInformacionMisiones MPIM = GameObject.FindObjectOfType <ManejadorPanelInformacionMisiones>();
            string ComplementoFinal = MPIM.ContadorActualMisiones.ToString();
            MPIM.ContadorActualMisiones++;
            DesplazamientoListadoInformacionMisiones[] SFlechas = GameObject.FindObjectsOfType <DesplazamientoListadoInformacionMisiones>();
            foreach (DesplazamientoListadoInformacionMisiones CS in SFlechas)
            {
                CS.Misiones.Add(ObjetoDeLaMision);
                if (CS.gameObject.name == "Boton_Bajar" && CS.Misiones.Count > 3)
                {
                    CS.GetComponent <Button>().interactable = true;
                }
            }

            Vector3    PosCiudad             = GameObject.FindGameObjectWithTag("Ciudad_En_Mapa").transform.position;
            GameObject ObjetoManejadorMision = Instantiate(_PrefabManejador, new Vector3(PosCiudad.x, PosCiudad.y, -4f),
                                                           new Quaternion(), ScriptMM.transform.parent);
            MisionInformacionManejador MIM = ObjetoManejadorMision.GetComponent <MisionInformacionManejador>();
            MIM.BotonTerminarMision          = PosInformacionP.parent.Find("SubPanel_Resultado").Find("Boton_Finalizar").gameObject;
            MIM.PosMision                    = ScriptMM.gameObject;
            MIM.porcentajeGanar              = ScriptMM.ProbabilidadExitoJugador;
            MIM.TiempoRestanteMostrarMision  = PosInformacionP.Find("Texto_Restante_Mision_Espacio").gameObject;
            MIM.infoSoldados                 = ScriptMM.infoSoldadosDisponibles;
            MIM.EspacioTropas                = ScriptMM.EspacioTropas;
            MIM.ExperenciaADar               = ScriptMM.EXPADarASoldados;
            MIM.CantidadMinimaEnergiaAQuitar = ScriptMM.CantidadMinimaEnergiaRestarSoldados;
            MIM.CantidadMaximaEnergiaAQuitar = ScriptMM.CantidadMaximaEnergiaRestarSoldados;
            MIM.TiempoCombate                = ManejadorGeneralMundo.CambiarTiempoAFormato(ScriptMM.FormatoTiempoPeleaBatalla, ScriptMM.TiempoPeleaBatalla);
            MIM.NombreMisionInformaciones    = ComplementoFinal;

            GameObject Linea = Instantiate(Resources.Load(@"Prefabs\Misiones\LineaSeguimientoMision") as GameObject);
            Linea.transform.SetParent(ObjetoManejadorMision.transform);
            LineRenderer LR = Linea.GetComponent <LineRenderer>();
            LR.SetPosition(0, new Vector3(PosCiudad.x, PosCiudad.y, -0.01f));
            LR.SetPosition(1, new Vector3(ScriptMM.transform.position.x, ScriptMM.transform.position.y, -0.01f));
            MIM.LineaSeguimiento = LR;

            //Cambiar nombre a cada objeto a uno unico:
            ObjetoDeLaMision.name      = ComplementoFinal;
            ObjetoManejadorMision.name = "ObjetoManejadorMision:" + ComplementoFinal;

            GameObject _posMision = ScriptMM.gameObject;
            _posMision.GetComponent <BoxCollider2D>().enabled  = false;
            _posMision.GetComponent <Mision>().SoldadoEnCamino = true;
            _posMision.transform.Find("Icono_Mision").GetComponent <SpriteRenderer>().color = new Color(0.5f, 0.5f, 0.5f);
            ManejadorG.ActivarDesactivarSeleccionablesDelMapa(true, false, true, true);
            ManejadorG.CerrarYLimpiarMisionMostrada(false);
            Text TextoCantidadMisiones = GameObject.FindGameObjectWithTag("TextoCantidadMisionesEnviadas").GetComponent <Text>();
            TextoCantidadMisiones.text = (System.Convert.ToInt32(TextoCantidadMisiones.text) + 1).ToString();
        }
    }
Esempio n. 7
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();
    }