/// <summary> /// Muestra la informacion asociada a un logro /// </summary> /// <param name="_idLogroDesbloqueado"></param> /// <param name="_onCloseCallback"></param> public void ShowLogroDesbloqueado(string _idLogroDesbloqueado, btnButton.guiAction _onCloseCallback = null) { // obtener las referencias a los elementos de esta interfaz GetReferencias(); // obtener la informacion del logro y del grupo al que pertenece GrupoLogros grupoContenedorLogroDesbloqueado = null; Logro logroDesbloqueado = LogrosManager.instance.GetLogro(_idLogroDesbloqueado, ref grupoContenedorLogroDesbloqueado); // textura de la moneda m_imgCash.texture = m_textureRewardHardCash; ShowImagen(m_imgCash); // textos m_txtTitulo.text = string.Format(LocalizacionManager.instance.GetTexto(287), "<color=#ddf108>" + grupoContenedorLogroDesbloqueado.nombre + "</color>").ToUpper(); m_txtTituloSombra.text = string.Format(LocalizacionManager.instance.GetTexto(287), grupoContenedorLogroDesbloqueado.nombre).ToUpper(); m_txtTexto.text = string.Format(grupoContenedorLogroDesbloqueado.descriptionConFormato, "<color=#ddf108>" + logroDesbloqueado.valorSuperarLogro + "</color>"); m_txtCantidadCash.text = logroDesbloqueado.recompensa.ToString(); m_txtCantidadCashSombra.text = m_txtCantidadCash.text; // boton cancelar => ocultarlo m_btnCancelar.gameObject.SetActive(false); // mostrar este dialogo transform.gameObject.SetActive(true); MostrarDialogoConSuperTweener(_onCloseCallback); }
/// <summary> /// Inicializa los botones para cerrar el dialogo /// </summary> /// <param name="_onCloseCallback"></param> private void InicializarBotonesCerrarDialogo(btnButton.guiAction _onCloseCallback = null) { // boton aceptar m_btnAceptar.action = (_name) => { // ocultar formulario transform.gameObject.SetActive(false); // ejecutar la accion asociada if (_onCloseCallback != null) { _onCloseCallback(""); } GeneralSounds_menu.instance.playOneShot(GeneralSounds_menu.instance.popupOffClip); Interfaz.ClickFX(); }; // velo (funciona como el boton aceptar) m_velo.action = (_name) => { // ocultar formulario transform.gameObject.SetActive(false); // ejecutar la accion asociada if (_onCloseCallback != null) { _onCloseCallback(""); } GeneralSounds_menu.instance.playOneShot(GeneralSounds_menu.instance.popupOffClip); }; }
/// <summary> /// Muestra la informacion asociada a una equipacion /// </summary> /// <param name="_equipacion"></param> /// <param name="_onCloseCallback">Accion a realizar cuando se cierre el dialogo</param> public void ShowEquipacionDesbloqueada(Equipacion _equipacion, btnButton.guiAction _onCloseCallback = null) { // obtener las referencias a los elementos de esta interfaz GetReferencias(); // textura de la equipacion if (EquipacionManager.instance.EsEquipacionDeLanzador(_equipacion.assetName)) { m_imgAvatar.texture = AvataresManager.instance.GetTexturaAvatarEquipacionesLanzador(_equipacion.idTextura); } else { m_imgAvatar.texture = AvataresManager.instance.GetTexturaAvatarEquipacionesPortero(_equipacion.idTextura); } ShowImagen(m_imgAvatar); // textos m_txtTitulo.text = LocalizacionManager.instance.GetTexto(254).ToUpper(); m_txtTituloSombra.text = m_txtTitulo.text; m_txtTexto.text = string.Format(LocalizacionManager.instance.GetTexto(255), "<color=#ddf108>" + LocalizacionManager.instance.GetTexto(256) + "</color>"); // boton cancelar => ocultarlo m_btnCancelar.gameObject.SetActive(false); // mostrar este dialogo transform.gameObject.SetActive(true); MostrarDialogoConSuperTweener(_onCloseCallback); }
/// <summary> /// Activa la cuenta atras del temporizador y le asigna el callback al que se llamara si se termina la cuenta atras /// </summary> /// <param name="_timeLimitCallBack">Accion a realizar si se termina el tiempo</param> /// <param name="_tiempo">tiempo en segundos a esperar</param> public void Activar(btnButton.guiAction _timeLimitCallBack, float _tiempo = Stats.CUENTA_ATRAS_TIRO_TIEMPO_TOTAL) { m_textoContador.gameObject.SetActive(false); m_timeLimitCallback = _timeLimitCallBack; m_tiempoRestante = _tiempo; m_activado = true; }
/// <summary> /// Aplica un supertweener a este dialogo para que aparezca desde fuera de la pantalla /// </summary> /// <param name="_onCloseCallback">Accion a realizar cuando se cierre el dialogo</param> private void MostrarDialogoConSuperTweener(btnButton.guiAction _onCloseCallback = null) { // colocar el dialogo por fuera de la pantalla y hacerlo aparecer con un supertweener m_caja.transform.position = new Vector3(-0.5f, 0.5f, 200.0f); new SuperTweener.move(m_caja.gameObject, 0.25f, new Vector3(0.5f, 0.5f, 200.0f), null, // callback para cuando el supertweener termine (_name) => { InicializarBotonesCerrarDialogo(_onCloseCallback); }); }
public static void ThrowError(int _code, btnButton.guiAction _action = null, string _extraInfo = "") { string msg = string.Format(LocalizacionManager.instance.GetTexto(errMsg[_code]), _extraInfo); /*switch(_code) * { * case 0: * * }*/ ifcDialogBox.instance.ShowOneButtonDialog(ifcDialogBox.OneButtonType.POSITIVE, LocalizacionManager.instance.GetTexto(errTitle[_code]), msg, LocalizacionManager.instance.GetTexto(45).ToUpper(), _action); //ifcDialogBox.instance.Show(ifcDialogBox.TipoBotones.ACEPTAR_CERRAR, "ERROR " + _code, msg, _action); }
/// <summary> /// Inicializa el cronometro /// NOTA: esta funcion lo inicializa pero no lo activa, para que el cronometro empiece a contar llamar a la funcion "SetActivo(true)" /// </summary> /// <param name="_tiempoCronometro"></param> /// <param name="_callbackTiempoAgotado"></param> public void Inicializar(float _tiempoCronometro, btnButton.guiAction _callbackTiempoAgotado) { m_tiempoRestante = _tiempoCronometro; m_callbackTiempoAgotado = _callbackTiempoAgotado; m_activado = false; // mostrar este control transform.gameObject.SetActive(true); // ocultar el marcador de tiempo adicional m_textoTiempoAdicional.gameObject.SetActive(false); // pintar el tiempo como corresponda PintarTiempo(); }
/// <summary> /// Hace que si el usuario no pulsa ningun boton del dialogo, transcurridos "_timeLimit" segundos este se cierre solo (y ejecute el callback "_timeLimitCallBack") /// NOTA: llamar a esta funcion despues de la llamada "Show" correspondiente (si se hace despues "Show" la anulara) /// NOTA: el tiempo debe ser mayor que "0.0f" /// </summary> /// <param name="_timeLimit"></param> /// <param name="_timeLimitCallBack"></param> public void WaitToCloseAutomatically(float _timeLimit = 0.0f, btnButton.guiAction _timeLimitCallBack = null) { // comprobar si el formulario tiene limite de tiempo if (_timeLimit > 0.0f) { m_timeLimit = _timeLimit; m_tiempoMostrandoDialogo = 0.0f; m_timeLimitCallback = _timeLimitCallBack; // mostrar el cronometro m_cronometro.text = ((int)_timeLimit).ToString(); m_cronometro.gameObject.SetActive(true); m_texto.pixelOffset = new Vector2(m_texto.pixelOffset.x, m_yTextoConCrono); // posicionar el texto a la altura que le corresponde (con crono) } else { m_timeLimit = 0.0f; m_cronometro.gameObject.SetActive(false); } }
/// <summary> /// Muestra la informacion asociada a un escudo /// </summary> /// <param name="_escudo"></param> /// <param name="_onCloseCallback"></param> public void ShowEscudoDesbloqueado(Escudo _escudo, btnButton.guiAction _onCloseCallback = null) { // obtener las referencias a los elementos de esta interfaz GetReferencias(); // textura del boton m_imgEscudo.texture = AvataresManager.instance.GetTexturasEscudosDesbloqueados(_escudo.idTextura); ShowImagen(m_imgEscudo); // textos m_txtTitulo.text = LocalizacionManager.instance.GetTexto(254).ToUpper(); m_txtTituloSombra.text = m_txtTitulo.text; m_txtTexto.text = string.Format(LocalizacionManager.instance.GetTexto(255), "<color=#ddf108>" + LocalizacionManager.instance.GetTexto(257) + "</color>"); m_txtEscudoBoost.text = _escudo.boost.ToString("f1"); // boton cancelar => ocultarlo m_btnCancelar.gameObject.SetActive(false); // mostrar este dialogo transform.gameObject.SetActive(true); MostrarDialogoConSuperTweener(_onCloseCallback); }
// ------------------------------------------------------------------------------ // --- METODOS ---------------------------------------------------------------- // ------------------------------------------------------------------------------ /// <summary> /// Inicializa este control (define las acciones que tiene que realizar en cada uno de sus estados) /// </summary> /// <param name="_onClickOnModoA">Accion a realizar si se pulsa el boton en modo A</param> /// <param name="_onClickOnModoB">Accion a realizar si se pulsa el boton en modo B</param> public void Init(btnButton.guiAction _onClickOnModoA = null, btnButton.guiAction _onClickOnModoB = null) { this.action = (_name) => { // realizar una accion en funcion del modo en el que se encuentra actualmente el boton if (m_estoyEnModoA) { if (_onClickOnModoA != null) { _onClickOnModoA(_name); } } else { if (_onClickOnModoB != null) { _onClickOnModoB(_name); } } // cambiar el estado del boton a su contrario SetModoA(!m_estoyEnModoA); }; }
/// <summary> /// Metodo generico para inicializar un boton /// </summary> /// <param name="_boton"></param> /// <param name="_textura"></param> /// <param name="_texto"></param> /// <param name="_onCallback"></param> /// <param name="_texturaIcono"></param> private void ShowButton(btnButton _boton, Texture _textura, string _texto, btnButton.guiAction _onCallback = null, Texture _texturaIcono = null, bool _mute = false) { if (_boton != null) { // texto del boton _boton.transform.FindChild("texto").GetComponent <GUIText>().text = _texto; _boton.transform.FindChild("textoSombra").GetComponent <GUIText>().text = _texto; // asignar la textura de fondo del boton _boton.GetComponent <GUITexture>().texture = _textura; _boton.m_current = _textura; // asignar la textura del icono del boton _boton.transform.FindChild("icono").GetComponent <GUITexture>().texture = _texturaIcono; // callback del boton _boton.action = (_name) => { Interfaz.ClickFX(); // indicar que ya no hay cierre de este dialogo por tiempo m_timeLimit = 0.0f; m_timeLimitCallback = null; // ocultar este control Hide(_mute); // ejecutar la accion asociada if (_onCallback != null) { _onCallback(_name); } }; // mostrarlo _boton.gameObject.SetActive(true); } }
/// <summary> /// Muestra un dialogo sin botones (sin contar el de cerrar) /// </summary> /// <param name="_titulo"></param> /// <param name="_texto"></param> /// <param name="_mostrarCerrar"></param> /// <param name="_onCerrarCallback"></param> public void ShowZeroButtonDialog(string _titulo, string _texto, bool _mostrarCerrar = false, btnButton.guiAction _onCerrarCallback = null, bool _mute = false) { // inicializar los botones del dialogo m_btnSingle.gameObject.SetActive(false); m_btnIzdo.gameObject.SetActive(false); m_btnDcho.gameObject.SetActive(false); // inicializar las partes comunes a todos los dialogos GenericShowDialog(_titulo, _texto, _mostrarCerrar, _onCerrarCallback, _mute); }
// ------------------------------------------------------------------------------ // --- METODOS PRIVADOS ------------------------------------------------------ // ----------------------------------------------------------------------------- /// <summary> /// Actualiza el estado de este tooltip /// </summary> /// <param name="_titulo"></param> /// <param name="_texto"></param> /// <param name="_mostrarboton"></param> /// <param name="_textoBoton"></param> /// <param name="texturaFondo"></param> /// <param name="_onClickCallback"></param> private void ShowInfo(string _titulo, string _texto, bool _mostrarboton = false, string _textoBoton = "", Texture _texturaFondo = null, btnButton.guiAction _onClickCallback = null) { // obtener las referencias a los elementos de la interfaz if (m_txtTitulo == null) { m_txtTitulo = transform.FindChild("titulo").GetComponent <GUIText>(); } if (m_txtTituloSombra == null) { m_txtTituloSombra = transform.FindChild("titulo/sombra").GetComponent <GUIText>(); } if (m_txtTexto == null) { m_txtTexto = transform.FindChild("texto").GetComponent <GUIText>(); } if (m_btnBoton == null) { m_btnBoton = transform.FindChild("btnDesbloquear").gameObject.GetComponent <btnButton>(); } if (m_txtBoton == null) { m_txtBoton = transform.FindChild("btnDesbloquear/texto").GetComponent <GUIText>(); } if (m_txtBotonSombra == null) { m_txtBotonSombra = transform.FindChild("btnDesbloquear/texto/sombra").GetComponent <GUIText>(); } if (m_fondo == null) { m_fondo = transform.FindChild("fondo").GetComponent <GUITexture>(); } // actualizar los textos m_txtTitulo.text = _titulo.ToUpper(); m_txtTituloSombra.text = _titulo.ToUpper(); m_txtTexto.text = _texto; m_txtTexto.GetComponent <txtText>().Fix(); // actualizar el fondo m_fondo.texture = _texturaFondo; // actualizar el estado del boton if (_mostrarboton) { m_txtBoton.text = _textoBoton.ToUpper(); m_txtBotonSombra.text = _textoBoton.ToUpper(); m_btnBoton.action = _onClickCallback; } m_btnBoton.SetEnabled(_mostrarboton); // activar este control this.gameObject.SetActive(true); }
/// <summary> /// Callback para el boton cerrar y velo /// </summary> void AccionCerrar(btnButton.guiAction _onCerrarCallback = null) { }
/// <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); } }
/// <summary> /// Muestra un dialogo de dos botones (sin contar el de cerrar) /// </summary> /// <param name="_twoButtonType"></param> /// <param name="_titulo"></param> /// <param name="_texto"></param> /// <param name="_textoBotonIzdo"></param> /// <param name="_textoBotonDcho"></param> /// <param name="_onBotonIzdoCallback"></param> /// <param name="_onBotonDchoCallback"></param> /// <param name="_mostrarCerrar"></param> /// <param name="_onCerrarCallback"></param> public void ShowTwoButtonDialog(TwoButtonType _twoButtonType, string _titulo, string _texto, string _textoBotonIzdo, string _textoBotonDcho, btnButton.guiAction _onBotonIzdoCallback = null, btnButton.guiAction _onBotonDchoCallback = null, bool _mostrarCerrar = false, btnButton.guiAction _onCerrarCallback = null, bool _mute = false) { // calcular el id de las texturas de los botones int idTexturasBotonIzdo = 0; int idTexturasBotonDcho = 0; int idTexturaIconoBtnIzdo = 0; int idTexturaIconoBtnDcho = 0; switch (_twoButtonType) { case TwoButtonType.POSITIVE_NEGATIVE: idTexturasBotonIzdo = (int)IdTexturas.POSITIVE; idTexturasBotonDcho = (int)IdTexturas.NEGATIVE; idTexturaIconoBtnIzdo = idTexturasBotonIzdo; idTexturaIconoBtnDcho = idTexturasBotonDcho; break; case TwoButtonType.COINS_BITOONS: idTexturasBotonIzdo = (int)IdTexturas.COINS; idTexturasBotonDcho = (int)IdTexturas.BITOONS; idTexturaIconoBtnIzdo = idTexturasBotonIzdo; idTexturaIconoBtnDcho = idTexturasBotonDcho; break; case TwoButtonType.BITOONS_EQUIPAR: idTexturasBotonIzdo = (int)IdTexturas.BITOONS; idTexturasBotonDcho = (int)IdTexturas.EQUIPAR; idTexturaIconoBtnIzdo = idTexturasBotonIzdo; idTexturaIconoBtnDcho = idTexturasBotonDcho; break; case TwoButtonType.BITOONS_DESEQUIPAR: idTexturasBotonIzdo = (int)IdTexturas.BITOONS; idTexturasBotonDcho = (int)IdTexturas.NEGATIVE; idTexturaIconoBtnIzdo = idTexturasBotonIzdo; idTexturaIconoBtnDcho = (int)IdTexturas.EQUIPAR; break; } // inicializa los botones del dialogo ShowButton(m_btnIzdo, m_texturasBtnIzdo[idTexturasBotonIzdo], _textoBotonIzdo, _onBotonIzdoCallback, m_texturasBtnIcon[idTexturaIconoBtnIzdo], _mute); ShowButton(m_btnDcho, m_texturasBtnDcho[idTexturasBotonDcho], _textoBotonDcho, _onBotonDchoCallback, m_texturasBtnIcon[idTexturaIconoBtnDcho], _mute); m_btnSingle.gameObject.SetActive(false); m_btnIzdo.gameObject.SetActive(true); m_btnDcho.gameObject.SetActive(true); // inicializar las partes comunes a todos los dialogos GenericShowDialog(_titulo, _texto, _mostrarCerrar, _onCerrarCallback, _mute); }
/// <summary> /// Muestra un dialogo con un solo boton (sin contar el de cerrar) /// </summary> /// <param name="_oneButtonType"></param> /// <param name="_titulo"></param> /// <param name="_texto"></param> /// <param name="_textoBoton"></param> /// <param name="_onBotonCallback"></param> /// <param name="_mostrarCerrar"></param> /// <param name="_onCerrarCallback"></param> public void ShowOneButtonDialog(OneButtonType _oneButtonType, string _titulo, string _texto, string _textoBoton, btnButton.guiAction _onBotonCallback = null, bool _mostrarCerrar = false, btnButton.guiAction _onCerrarCallback = null, bool _mute = false) { // calcular el id de las texturas del boton int idTexturaBoton = 0; int idTexturaIconoBoton = 0; switch (_oneButtonType) { case OneButtonType.POSITIVE: idTexturaBoton = (int)IdTexturas.POSITIVE; idTexturaIconoBoton = idTexturaBoton; break; case OneButtonType.COINS: idTexturaBoton = (int)IdTexturas.COINS; idTexturaIconoBoton = idTexturaBoton; break; case OneButtonType.BITOONS: idTexturaBoton = (int)IdTexturas.BITOONS; idTexturaIconoBoton = idTexturaBoton; break; } // inicializar los botones del dialogo ShowButton(m_btnSingle, m_texturasBtnSingle[idTexturaBoton], _textoBoton, _onBotonCallback, m_texturasBtnIcon[idTexturaIconoBoton], _mute); m_btnSingle.gameObject.SetActive(true); m_btnIzdo.gameObject.SetActive(false); m_btnDcho.gameObject.SetActive(false); // inicializar las partes comunes a todos los dialogos GenericShowDialog(_titulo, _texto, _mostrarCerrar, _onCerrarCallback, _mute); }