Esempio n. 1
0
    private void listarDesafiosConcluidos()
    {
        SvcDesafioConcluido.GetComponentsInChildren <DesafioObj>().ToList().ForEach(x => Destroy(x.gameObject));

        StartCoroutine(DesafioAPI.ListarDesafiosConcluidos((response, error) =>
        {
            if (response != null && response.desafios.Count > 0)
            {
                txtDesafioConcluidoVazio.SetActive(false);

                for (int i = 0; i < response.desafios.Count; i++)
                {
                    DesafioObj desafioObj = Instantiate(DesafioObjRef, SvcDesafioConcluido);
                    desafioObj.PreencherInfoConcluido(response.desafios[i]);
                }
            }
        }));
    }
Esempio n. 2
0
    private void obterDesafioConcluido(string desafioId)
    {
        Dictionary <string, object> form = new Dictionary <string, object>()
        {
            { "desafioId", desafioId }
        };

        StartCoroutine(DesafioAPI.ObterDesafioConcluido(form, (response, error) =>
        {
            if (response != null)
            {
                txtDesafioConcluidoVazio.SetActive(false);

                DesafioObj desafioObj = Instantiate(DesafioObjRef, SvcDesafioConcluido);
                desafioObj.PreencherInfoConcluido(response);
            }
        }));
    }
Esempio n. 3
0
    private void resgatarPremio()
    {
        EasyAudioUtility.Instance.Play(EasyAudioUtility.Som.AchievResgate);

        Dictionary <string, object> form = new Dictionary <string, object>()
        {
            { "desafioId", desafio.desafio._id },
            { "ganhouPremioProduto", ganhouPremioProduto }
        };

        StartCoroutine(DesafioAPI.ResgatarPremioDesafio(form, (response, error) =>
        {
            AppManager.Instance.RemoverDesafioDaLista(desafio);
            desafio = null;
            PnlDesafioConquistado.SetActive(false);

            if (AppManager.Instance.ObterTamanhoListaDesafio() > 0)
            {
                AppManager.Instance.ExibirProximoDesafio();
            }
        }));
    }
Esempio n. 4
0
    private void obterDesafio(DesafioCliente desafio, DesafioObj desafioObj, bool ehAdicao)
    {
        Dictionary <string, object> form = new Dictionary <string, object>
        {
            { "desafioId", desafio.desafio._id }
        };

        StartCoroutine(DesafioAPI.ObterDesafio(form,
                                               (response, error) =>
        {
            if (error != null)
            {
                Debug.Log("obterDesafio: " + error);
                AlertaManager.Instance.ChamarAlertaMensagem(error, false);
                return;
            }

            if (ehAdicao)
            {
                TimeSpan ts = response.tempoDuracao.ToLocalTime().Subtract((DateTime.Now.ToLocalTime()));

                if (ts.TotalSeconds <= 0 && !desafio.concluido)
                {
                    return;
                }

                if (desafio.concluido)
                {
                    lstDesafiosConcluido.Add(desafio._id);

                    if (!desafio.resgatouPremio)
                    {
                        AppManager.Instance.AtivarDesafioCompletado(desafio);
                    }

                    obterDesafioConcluido(desafio.desafio._id);
                    return;
                }

                desafioObj = Instantiate(DesafioObjRef, SvcDesafioProgresso);
                lstDesafiosProgresso.Add(desafioObj);
                txtDesafioProgressoVazio.SetActive(false);
            }

            if (desafio.concluido && !desafio.resgatouPremio)
            {
                AppManager.Instance.AtivarDesafioCompletado(desafio);
            }

            if (!ehAdicao)
            {
                if (desafio.concluido)
                {
                    Main.Instance.MenuEstabelecimento.DeletarDesafioCompletado(desafioObj.Desafio);
                    Destroy(desafioObj.gameObject);
                    return;
                }
            }

            Main.Instance.ObterIcones(response.icon, FileManager.Directories.desafio, (textura) =>
            {
                if (textura != null)
                {
                    desafioObj.PreencherIcone(textura);
                }
            });

            desafioObj.PreencherInfo(response, desafio);
            Main.Instance.MenuEstabelecimento.AlterarProgressoDesafio(desafio);
        }));
    }