Ejemplo n.º 1
0
    /// <summary>
    /// Muestra el dialogo
    /// </summary>
    /// <param name="_showHardCoinPacks">Indica si en el dialogo hay que mostrar packs de hardcoins o de softcoins</param>
    public void Show(bool _showHardCoinPacks)
    {
#if UNITY_IPHONE || UNITY_ANDROID
        string[] precios = PurchaseManager.GetPreciosOrdenados();
#else
        //string[] precios = {"0.0 €","0.0 €","0.0 €","0.0 €","0.0 €","0.0 €","0.0 €","0.0 €","0.0 €","0.0 €","0.0 €","0.0 €"};
        string[] precios = { "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?" };
#endif

#if !UNITY_EDITOR
        // verificar que se haya obtenido los precios de la tienda
        if (precios == null || precios[0] == "?")
        {
            ifcDialogBox.instance.ShowOneButtonDialog(ifcDialogBox.OneButtonType.POSITIVE, LocalizacionManager.instance.GetTexto(84).ToUpper(), LocalizacionManager.instance.GetTexto(290), LocalizacionManager.instance.GetTexto(45).ToUpper());
            return;
        }
#endif

        m_interfazAnterior = ifcBase.activeIface; // guardar la interfaz anterior para recuperarla
        GeneralSounds_menu.instance.playOneShot(GeneralSounds_menu.instance.popupOnClip);

        // inicializar los botones de compra de monedas
        for (int i = 0; i < PurchaseManager.HARDCASH_PACKS; ++i)
        {
            int idx      = (i + 1);
            int index    = i;
            int skuIndex = index + ((_showHardCoinPacks) ? 0 : PurchaseManager.HARDCASH_PACKS);

            // accion al pulsar el boton
            btnButton btn = transform.FindChild("caja/pack_" + idx).GetComponent <btnButton>();
            btn.GetComponent <GUITexture>().texture = (_showHardCoinPacks) ? m_texturaHardCoins : m_texturaSoftCoins;
            btn.m_current = (_showHardCoinPacks) ? m_texturaHardCoins : m_texturaSoftCoins;
            btn.action    = (_name) => {
                GeneralSounds_menu.instance.playOneShot(GeneralSounds_menu.instance.compraMonedaClip);
                Debug.Log("Comprar paquete " + skuIndex);
                BillingManager.instance.purchaseProduct(PurchaseManager.skus[skuIndex]);


                // incrementar los diferentes tipos de moneda
                //Interfaz.MonedasHard += cantidadMonedasHard;
                //Interfaz.MonedasSoft += cantidadMonedasSoft;

                // ocultar este control
                //this.gameObject.SetActive(false);
                //cntBarraSuperior.instance.ActualizarDinero();
            };

            // actualizar el texto con la cantidad de moneda del pack
            btn.transform.FindChild("Amount").GetComponent <GUIText>().text        = ((_showHardCoinPacks) ? PurchaseManager.m_valoresPackMonedasHard[index] : PurchaseManager.m_valoresPackMonedasSoft[index]).ToString();
            btn.transform.FindChild("Amount/Shadow").GetComponent <GUIText>().text = ((_showHardCoinPacks) ? PurchaseManager.m_valoresPackMonedasHard[index] : PurchaseManager.m_valoresPackMonedasSoft[index]).ToString();

            // actualizar el texto con el precio del pack
            btn.transform.FindChild("HardCashPrice/Text").GetComponent <GUIText>().text       = precios[skuIndex];
            btn.transform.FindChild("HardCashPrice/TextSombra").GetComponent <GUIText>().text = precios[skuIndex];

            _hardCashPackButtons.Add(btn);
        }

        this.gameObject.SetActive(true);   // mostrar este control
    }
Ejemplo n.º 2
0
    /// <summary>
    /// Muestra la pantalla recibida como parametro y la lleva (con el supertweener a la posicion "_posicionDestino")
    /// </summary>
    /// <param name="_pantallaDestino"></param>
    /// <param name="_posicionDestino"></param>
    private void ShowPantalla(ifcBase _pantallaDestino, Vector3 _posicionDestino)
    {
        // obtener la interfaz actual
        ifcBase interfazActual = ifcBase.activeIface;

        // posicion destino de la interfaz que se va a ocultar
        Vector3 posicionDestinoInterfaz = new Vector3(-1.0f, 0.0f, 0.0f);

        // si la interfaz actual no es ninguna de las que se accede desde esta barra de botones => guardarla
        if (interfazActual != ifcPerfil.instance &&
            interfazActual != ifcLogros.instance)
        {
            m_ultimaPantallaVisitada           = interfazActual;
            m_posVisibleUltimaPantallaVisitada = interfazActual.transform.localPosition;

            // calcular la posicion destino de la interfaz que se va a ocultar
            posicionDestinoInterfaz = new Vector3(-1.0f, m_posVisibleUltimaPantallaVisitada.y, m_posVisibleUltimaPantallaVisitada.z);

            // guardar el estado de visibilidad de los modelos de los jugadores
            m_modeloLanzadorVisibleUltimaPantallaVisitada = Interfaz.instance.GetModeloLanzadorEstaVisible();
            m_modeloPorteroVisibleUltimaPantallaVisitada  = Interfaz.instance.GetModeloPorteroEstaVisible();
        }

        Interfaz.ClickFX();
        Interfaz.instance.CleanPlayers();

        // ocultar esta pantalla y pasar a la que corresponda
        new SuperTweener.move(interfazActual.gameObject, 0.25f, posicionDestinoInterfaz, SuperTweener.CubicOut,
                              // on endCallback
                              (_name) => {
            if (interfazActual == ifcPerfil.instance)
            {
                ifcPerfil.instance.SetVisible(false);
            }

            if (interfazActual == ifcLogros.instance)
            {
                ifcLogros.instance.SetVisible(false);
            }
        });
        new SuperTweener.move(_pantallaDestino.gameObject, 0.25f, _posicionDestino, SuperTweener.CubicOut);
        ifcBase.activeIface = _pantallaDestino;
    }
Ejemplo n.º 3
0
    /// <summary>
    /// Muestra un popup
    /// </summary>
    /// <param name="_title"></param>
    /// <param name="_text"></param>
    /// <param name="_fixPosition">Si es true hace que el PopUp se muestre directamente en su posicion de pantalla (sin ser desplazado por el supertweener) en los casos de mostrar un popUp se pueda solapar con la cortinilla (que hace un flush del supertweener)</param>
    public void Show(string _title, string _text)
    {
        m_interfazAnterior  = ifcBase.activeIface;
        ifcBase.activeIface = this;

        GeneralSounds_menu.instance.playOneShot(GeneralSounds_menu.instance.popupOnClip);

        InputManager.instance.Blocked = true;
        gameObject.SetActive(true);
        transform.Find("Titulo").GetComponent <GUIText>().text = _title;
        GUIText gt    = transform.Find("Texto").GetComponent <GUIText>();
        int     lines = 0;

        gt.text = ifcTooltip.warp(_text, 270.0f, gt.font, gt.fontSize, out lines);
        transform.Find("Texto").GetComponent <txtText>().Fix();


        transform.position = new Vector3(-1, -0.2f, 0);
        new SuperTweener.move(gameObject, 0.33f, new Vector3(0, -0.2f, 0));
    }
Ejemplo n.º 4
0
    /// <summary>
    /// Inicializa y muestra las partes comunes a todos los tipos de dialogo
    /// </summary>
    /// <param name="_titulo"></param>
    /// <param name="_texto"></param>
    private void GenericShowDialog(string _titulo, string _texto, bool _mostrarCerrar = false, btnButton.guiAction _onCerrarCallback = null, bool _mute = false)
    {
        //guardar la interfaz actual para recuperarla al cerrar el dialogo
        m_interfazAnterior = ifcBase.activeIface;

        // indicar que no hay cierre de este dialogo por tiempo
        m_timeLimit         = 0.0f;
        m_timeLimitCallback = null;

        // titulo
        m_titulo.text       = _titulo.ToUpper();
        m_tituloSombra.text = m_titulo.text;

        // texto del control
        m_texto.text = _texto;
        m_texto.GetComponent <txtText>().Fix();                                     // <= ajustar los retornos de carro
        m_texto.pixelOffset = new Vector2(m_texto.pixelOffset.x, m_yTextoSinCrono); // posicionar el texto a la altura que le corresponde (sin crono)

        // inicializar el boton "Cerrar"
        if (_mostrarCerrar)
        {
            m_btnCerrar.action = (_name) => {
                // hacer sonar el click y ocultar este dialogo
                GeneralSounds_menu.instance.playOneShot(GeneralSounds_menu.instance.popupOffClip);

                // indicar que ya no hay cierre de este dialogo por tiempo
                m_timeLimit         = 0.0f;
                m_timeLimitCallback = null;

                // ocultar este control
                gameObject.SetActive(false);

                // ejecutar el callback correspondiente
                if (_onCerrarCallback != null)
                {
                    _onCerrarCallback(_name);
                }
            };

            m_btnVelo.action = (_name) => {
                // hacer sonar el click y ocultar este dialogo
                GeneralSounds_menu.instance.playOneShot(GeneralSounds_menu.instance.popupOffClip);

                // indicar que ya no hay cierre de este dialogo por tiempo
                m_timeLimit         = 0.0f;
                m_timeLimitCallback = null;

                // ocultar este control
                gameObject.SetActive(false);

                // ejecutar el callback correspondiente
                if (_onCerrarCallback != null)
                {
                    _onCerrarCallback(_name);
                }
            };

            m_btnCerrar.gameObject.SetActive(true);
        }
        else
        {
            m_btnCerrar.gameObject.SetActive(false);
            m_btnVelo.action = null;
        }

        // ocultar el cronometro
        m_cronometro.gameObject.SetActive(false);

        // ocultar la caja de texto
        m_mostrandoTextInput = false;

        // mostrar este control
        this.gameObject.SetActive(true);

        if (!_mute)
        {
            GeneralSounds_menu.instance.playOneShot(GeneralSounds_menu.instance.popupOnClip);
        }
    }
Ejemplo n.º 5
0
 /// <summary>
 /// Pantalla desde la que se llama a esta
 /// </summary>
 /// <param name="_pantalla"></param>
 public void SetPantallaBack(ifcBase _pantalla)
 {
     m_pantallaAnterior = _pantalla;
 }