Exemplo n.º 1
0
    /// <summary>
    /// Actualiza los controles del vestuario para mostrarlo en el modo que corresponda
    /// </summary>
    /// <param name="_tipoVestuario"></param>
    public void ShowAs(TipoVestuario _tipoVestuario)
    {
        // Obtiene las referencias a los elementos de esta interfaz
        GetReferencias();
        // FPA (04/01/17): Eliminado GameAnalitics de momento.
        // GA.API.Design.NewEvent("EntradaTienda:"+(_tipoVestuario == TipoVestuario.LANZADOR ? "Lanzador":"Portero"), Interfaz.ultimaMisionDesbloqueada, new Vector3(Interfaz.MonedasSoft, Interfaz.MonedasHard, 0f));

        Debug.Log(">>> START: m_tipoVestuario=" + m_tipoVestuario);

        m_tipoVestuario = _tipoVestuario;

        // destacar el boton del modo seleccionado
        m_btnLanzador.Deselect();
        m_btnPortero.Deselect();
        if (_tipoVestuario == TipoVestuario.LANZADOR)
        {
            m_btnLanzador.Select();
        }
        else
        {
            m_btnPortero.Select();
        }

        // mostrar / ocultar los controles
        m_cntCompraEscudos.gameObject.SetActive(true);
        m_cntCompraPowerUpsLanzador.gameObject.SetActive(m_tipoVestuario == TipoVestuario.LANZADOR);
        m_cntCompraPowerUpsPortero.gameObject.SetActive(m_tipoVestuario == TipoVestuario.PORTERO);

        // refrescar la informacion de los controles
        RefreshInfo();

        // escudo multiplicador de puntuacion
        RefreshMultiplicadorPuntuacion();

        // mostrar un tooltip sobre el jugador si procede
        if (_tipoVestuario == TipoVestuario.LANZADOR)
        {
            m_tooltipItemDisponible.Show(InfoJugadores.instance.GetTirador(Interfaz.instance.Thrower));
        }
        else
        {
            m_tooltipItemDisponible.Show(InfoJugadores.instance.GetPortero(Interfaz.instance.Goalkeeper));
        }
    }
Exemplo n.º 2
0
    /// <summary>
    /// Obtiene las referencias a los elementos de esta interfaz
    /// </summary>
    private void GetReferencias()
    {
        // boton back
        if (m_btnBack == null)
        {
            m_btnBack        = transform.FindChild("btnAtras").GetComponent <btnButton>();
            m_backMethod     = Back;
            m_btnBack.action = Back;
        }

        // tooltip para mostrar si un jugador o una equipacion esta disponible
        if (m_tooltipItemDisponible == null)
        {
            m_tooltipItemDisponible = transform.FindChild("tooltipItemDisponible").GetComponent <cntTooltipItemDisponible>();
        }

        // boton lanzador
        if (m_btnLanzador == null)
        {
            m_btnLanzador = transform.FindChild("botones/btnLanzador").GetComponent <btnButton>();
        }
        m_btnLanzador.Toggle = true;
        m_btnLanzador.action = (_name) => {
            Interfaz.ClickFX();

            EquipacionManager.instance.ResetEquipacion(true);
            Interfaz.instance.ResetJugador(true);

            m_tipoVestuario = TipoVestuario.LANZADOR;

            // mostrar el modelo que corresponda
            Interfaz.instance.RefrescarModelosJugadores(true, false);

            // actualizar los controles
            ShowAs(m_tipoVestuario);
        };

        // boton portero
        if (m_btnPortero == null)
        {
            m_btnPortero = transform.FindChild("botones/btnPortero").GetComponent <btnButton>();
        }
        m_btnPortero.Toggle = true;
        m_btnPortero.action = (_name) => {
            Interfaz.ClickFX();

            EquipacionManager.instance.ResetEquipacion(false);
            Interfaz.instance.ResetJugador(false);

            m_tipoVestuario = TipoVestuario.PORTERO;

            // mostrar el modelo que corresponda
            Interfaz.instance.RefrescarModelosJugadores(false, true);

            // actualizar los controles
            ShowAs(m_tipoVestuario);
        };

        // grupos de items a comprar
        if (m_cntCompraPowerUpsLanzador == null)
        {
            m_cntCompraPowerUpsLanzador = transform.FindChild("CompraPowerUpsLanzador").GetComponent <cntCompraItemsContainer>();
        }
        if (m_cntCompraPowerUpsPortero == null)
        {
            m_cntCompraPowerUpsPortero = transform.FindChild("CompraPowerUpsPortero").GetComponent <cntCompraItemsContainer>();
        }
        if (m_cntCompraEscudos == null)
        {
            m_cntCompraEscudos = transform.FindChild("CompraEscudos").GetComponent <cntCompraItemsContainer>();
        }

        // boton info lanzador
        if (m_btnInfo == null)
        {
            m_btnInfo        = transform.FindChild("btnInfo").GetComponent <btnButton>();
            m_btnInfo.action = (_name) => {
                Interfaz.ClickFX();
                GeneralSounds_menu.instance.playOneShot(GeneralSounds_menu.instance.popupOnClip);

                // desplegar la info
                if (m_tipoVestuario == TipoVestuario.LANZADOR)
                {
                    ifcDialogoInfoJugador.instance.Show(InfoJugadores.instance.GetTirador(Interfaz.instance.Thrower));
                }
                else
                {
                    ifcDialogoInfoJugador.instance.Show(InfoJugadores.instance.GetPortero(Interfaz.instance.Goalkeeper));
                }
                ifcDialogoInfoJugador.instance.Desplegar();

                // ocultar este boton
                m_btnInfo.gameObject.SetActive(false);
            };
        }


        // boton listo
        if (m_btnListo == null)
        {
            m_btnListo        = transform.FindChild("btnListo").GetComponent <btnButton>();
            m_btnListo.action = (_name) => {
                GeneralSounds_menu.instance.playOneShot(GeneralSounds_menu.instance.confirmClip);
                // si la pantalla anterior era el "MainMenu" (estoy en modo multiplayer)
                bool estoyJugandoDuelo = (m_pantallaAnterior == ifcMainMenu.instance);

                // comprobar la fase desbloqueada
                int faseMinima = 4;
                if (estoyJugandoDuelo && Interfaz.ultimaMisionDesbloqueada < faseMinima)
                {
                    ifcDialogBox.instance.ShowOneButtonDialog(
                        ifcDialogBox.OneButtonType.POSITIVE,
                        LocalizacionManager.instance.GetTexto(258).ToUpper(),
                        string.Format(LocalizacionManager.instance.GetTexto(259), "<color=#ddf108>" + LocalizacionManager.instance.GetTexto(11) + " " + ((int)(faseMinima / 10) + 1) + "-" + (faseMinima % 10) + "</color>"),
                        LocalizacionManager.instance.GetTexto(45).ToUpper());
                    return;
                }

                // si el usuario necesita al menos un lanzador para jugar => comprobar que lo tenga
                if ((estoyJugandoDuelo || (!estoyJugandoDuelo && GameplayService.initialGameMode == GameMode.Shooter)) &&
                    !InfoJugadores.instance.HayAlgunLanzadorAdquirido())
                {
                    ifcDialogBox.instance.ShowOneButtonDialog(
                        ifcDialogBox.OneButtonType.POSITIVE,
                        LocalizacionManager.instance.GetTexto(84).ToUpper(),
                        LocalizacionManager.instance.GetTexto(94),
                        LocalizacionManager.instance.GetTexto(45).ToUpper());

                    return;
                }

                // si el usuario necesita al menos un portero para jugar => comprobar que lo tenga
                if ((estoyJugandoDuelo || (!estoyJugandoDuelo && GameplayService.initialGameMode == GameMode.GoalKeeper)) &&
                    !InfoJugadores.instance.HayAlgunPorteroAdquirido())
                {
                    ifcDialogBox.instance.ShowOneButtonDialog(
                        ifcDialogBox.OneButtonType.POSITIVE,
                        LocalizacionManager.instance.GetTexto(84).ToUpper(),
                        LocalizacionManager.instance.GetTexto(95),
                        LocalizacionManager.instance.GetTexto(45).ToUpper());

                    return;
                }

                Interfaz.ClickFX();

                // pedir el alias al usuario
                if (estoyJugandoDuelo && Interfaz.m_uname == "")
                {
                    PedirAlias(Interfaz.m_uname);
                    return;
                }

                // al salir de esta pantalla verificar que los jugadores y las equipaciones seleccionadas estan adquiridas
                ComprobarJugadoresYEquipacionesAdquiridos();

                // comprobar si se esta jugando en modo "single" o "multi"
                if (m_pantallaAnterior == ifcMainMenu.instance)
                {
                    // estoy jugando Duelo => ir al "Lobby"

                    // ocultar la barra superior
                    //cntBarraSuperior.instance.SetVisible(false);
#if DEBUG_MULTI
                    GoDuelo();
#else
                    Interfaz.instance.getServerIP(Stats.tipo, Stats.zona);
#endif
                    ifcDialogBox.instance.ShowZeroButtonDialog(
                        LocalizacionManager.instance.GetTexto(96).ToUpper(),
                        LocalizacionManager.instance.GetTexto(97));
                    //ifcDialogBox.instance.Show(ifcDialogBox.TipoBotones.NONE, "Conectando...", "Por favor, espere.");
                }
                else if (m_pantallaAnterior == ifcCarrera.instance)
                {
                    // estoy jugando Single => jugar mision
                    Cortinilla.instance.Play();
                }
            };
        }

        // escudo multiplicador de puntuacion
        if (m_imgEscudo == null)
        {
            m_imgEscudo = transform.FindChild("escudo").GetComponent <GUITexture>();
        }
        if (m_txtMultiplicador == null)
        {
            m_txtMultiplicador = transform.FindChild("escudo/txtMultiplicador").GetComponent <GUIText>();
        }
    }