Example #1
0
    private void removerDesafio(DesafioCliente desafio)
    {
        DesafioObj desafioObj = lstDesafiosProgresso.Find(x => x.DesafioCliente._id == desafio._id);

        if (desafioObj != null)
        {
            Destroy(desafioObj.gameObject);
            lstDesafiosProgresso.Remove(desafioObj);

            if (lstDesafiosProgresso.Count == 0)
            {
                txtDesafioProgressoVazio.SetActive(true);
            }

            return;
        }

        //desafioObj = lstDesafiosConcluido.Find(x => x.DesafioCliente._id == desafio._id);

        //if (desafioObj != null)
        //{
        //    Destroy(desafioObj.gameObject);
        //    lstDesafiosConcluido.Remove(desafioObj);


        //    if (lstDesafiosConcluido.Count == 0)
        //    {
        //        txtDesafioConcluidoVazio.SetActive(true);
        //    }
        //}
    }
    public void AlterarProgressoDesafio(DesafioCliente desafioCliente)
    {
        int indexDesafio = lstDesafios.FindIndex(x => x.Desafio._id == desafioCliente._id);

        if (indexDesafio > -1)
        {
            lstDesafios[indexDesafio].AtualizarProgresso(desafioCliente);
        }
    }
Example #3
0
    private void adicionarDesafio(DesafioCliente desafio)
    {
        if (desafio != null)
        {
            DesafioObj desafioObj = null;

            //os objetos do desafio sao criado dentro do response, somente quando for adicionar que eh feito isso
            obterDesafio(desafio, desafioObj, true);
        }
    }
    private void modificarDesafio(Desafio desafio)
    {
        DesafioObj objItemDesafio = lstDesafios.Find(x => x.Desafio._id == desafio._id);

        if (objItemDesafio != null)
        {
            DesafioCliente clienteDesafio = Main.Instance.MenuDesafio.BuscarDesafio(desafio._id);
            objItemDesafio.PreencherInfo(desafio, clienteDesafio);
        }
    }
Example #5
0
    public void AtivarDesafioCompletado(DesafioCliente desafio)
    {
        if (lstDesafiosCompletados.Count == 0)
        {
            lstDesafiosCompletados.Add(desafio);
            ExibirProximoDesafio();
            return;
        }

        lstDesafiosCompletados.Add(desafio);
    }
Example #6
0
    public void PreencherInfo(Desafio desafio, DesafioCliente desafioCliente)
    {
        Desafio = desafio;

        TxtTituloConquista.text    = desafio.nome;
        TxtDescricaoConquista.text = desafio.descricao;

        lstImgGrupos.ForEach(x => x.SetActive(desafio.emGrupo));
        AtualizarProgresso(desafioCliente);
        rodarRelogio();
        //obterIcone();
    }
Example #7
0
        private DesafioCliente tratarSnapshotDesafio(DataSnapshot ds)
        {
            DesafioCliente desafio = new DesafioCliente
            {
                _id             = Convert.ToString(ds.Child("_id").Value),
                concluido       = Convert.ToBoolean(ds.Child("concluido").Value),
                resgatouPremio  = Convert.ToBoolean(ds.Child("resgatouPremio").Value),
                progresso       = Convert.ToInt32(ds.Child("progresso").Value),
                estabelecimento = Convert.ToString(ds.Child("estabelecimento").Value),
                desafio         = new DesafioCliente.Desafio
                {
                    _id          = Convert.ToString(ds.Child("desafio").Child("_id").Value),
                    nome         = Convert.ToString(ds.Child("desafio").Child("nome").Value),
                    icon         = Convert.ToString(ds.Child("desafio").Child("icon").Value),
                    tempoDuracao = Convert.ToDateTime(ds.Child("desafio").Child("tempoDuracao").Value),
                }
            };

            if (ds.Child("premio").Exists)
            {
                desafio.premio = new DesafioCliente.Premio
                {
                    quantidade = Convert.ToInt32(ds.Child("premio").Child("quantidade").Value),
                    tipo       = Convert.ToString(ds.Child("premio").Child("tipo").Value)
                };

                if (ds.Child("premio").Child("ganhador").Exists)
                {
                    desafio.premio.ganhador = new DesafioCliente.Ganhador
                    {
                        _id  = Convert.ToString(ds.Child("premio").Child("ganhador").Child("_id").Value),
                        nome = Convert.ToString(ds.Child("premio").Child("ganhador").Child("nome").Value)
                    };
                }

                if (ds.Child("premio").Child("produto").Exists)
                {
                    desafio.premio.produto = new DesafioCliente.Produto
                    {
                        _id  = Convert.ToString(ds.Child("premio").Child("produto").Child("_id").Value),
                        nome = Convert.ToString(ds.Child("premio").Child("produto").Child("nome").Value),
                        icon = Convert.ToString(ds.Child("premio").Child("produto").Child("icon").Value)
                    };
                }
            }

            return(desafio);
        }
Example #8
0
    public void AtualizarProgresso(DesafioCliente desafioCliente)
    {
        DesafioCliente = desafioCliente;

        int progressoUsuario = 0;

        if (DesafioCliente != null)
        {
            progressoUsuario = DesafioCliente.progresso;

            if (DesafioCliente.concluido)
            {
                esconderTodosPaineis();
                PnlConquista.SetActive(true);
            }
        }

        BarraProgresso.value = (float)progressoUsuario / (float)Desafio.objetivo.quantidade;

        TxtProgresso.text = progressoUsuario + "/" + Desafio.objetivo.quantidade;
    }
Example #9
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();
            }
        }));
    }
    public void adicionarDesafio(Desafio desafio)
    {
        if (desafio._id != null)
        {
            if (Main.Instance.MenuDesafio.ConferirDesafioConcluido(desafio._id))
            {
                return;
            }

            DesafioCliente clienteDesafio = Main.Instance.MenuDesafio.BuscarDesafio(desafio._id);

            DesafioObj objDesafio = Instantiate(ConquistaRef, ScvConquista);

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

            lstDesafios.Add(objDesafio);

            PnlConquistaVazio.SetActive(false);

            if (clienteDesafio == null)
            {
                objDesafio.PreencherInfo(desafio, null);
                return;
            }

            if (!clienteDesafio.concluido)
            {
                objDesafio.PreencherInfo(desafio, clienteDesafio);
            }
        }
    }
Example #11
0
    public void PreencherInfo(DesafioCliente desafio)
    {
        ganhouPremioProduto       = true;
        TxtGanhador.text          = string.Empty;
        TxtBtnResgatarPremio.text = "RESGATAR";
        this.desafio          = desafio;
        TxtTituloDesafio.text = desafio.desafio.nome;
        TxtPremioDesafio.text = Util.FormatarValores(desafio.premio.quantidade);

        if (desafio.premio.produto == null)
        {
            TxtNomePremio.text = "CPGold";
            Icon.texture       = ImgIconDinheiro;
        }
        else
        {
            TxtNomePremio.text = desafio.premio.produto.nome;

            Main.Instance.ObterIcones(desafio.premio.produto.icon, FileManager.Directories.produto, (textura) =>
            {
                Debug.Log(desafio.premio.produto.icon);
                if (textura != null)
                {
                    Icon.texture = textura;
                    Icon         = Util.ImgResize(Icon, 180, 180);
                }
            });

            if (Cliente.ClienteLogado._id != desafio.premio.ganhador._id)
            {
                TxtGanhador.text          = $"Ganhador: {desafio.premio.ganhador.nome}";
                TxtBtnResgatarPremio.text = "OK";
                ganhouPremioProduto       = false;
            }
        }
    }
Example #12
0
    private void modificarDesafio(DesafioCliente desafio)
    {
        DesafioObj desafioObj = lstDesafiosProgresso.Find(x => x.DesafioCliente._id == desafio._id);

        if (desafioObj != null)
        {
            if (desafio.concluido)
            {
                lstDesafiosProgresso.Remove(desafioObj);
                lstDesafiosConcluido.Add(desafio._id);

                if (lstDesafiosProgresso.Count == 0)
                {
                    txtDesafioProgressoVazio.SetActive(true);
                }

                //listarDesafiosConcluidos();

                obterDesafioConcluido(desafio.desafio._id);
            }

            obterDesafio(desafio, desafioObj, false);
        }
    }
Example #13
0
 public void RemoverDesafioDaLista(DesafioCliente desafio)
 {
     lstDesafiosCompletados.Remove(desafio);
 }
Example #14
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);
        }));
    }