Exemplo n.º 1
0
    private void Awake()
    {
        configurarListener();

        lstDesafiosProgresso = new List <DesafioObj>();
        lstDesafiosConcluido = new List <string>();

        ClienteFirebase = new ClienteFirebase()
        {
            AcaoDesafio = (desafio, tipoAcao) =>
            {
                if (tipoAcao == ClienteFirebase.TipoAcao.Adicionar)
                {
                    adicionarDesafio(desafio);
                    return;
                }

                if (tipoAcao == ClienteFirebase.TipoAcao.Modificar)
                {
                    modificarDesafio(desafio);
                    return;
                }

                if (tipoAcao == ClienteFirebase.TipoAcao.Remover)
                {
                    removerDesafio(desafio);
                    return;
                }
            }
        };

        ClienteFirebase.WatchDesafios(Cliente.ClienteLogado._id, true);

        //listarDesafiosConcluidos();
    }
Exemplo n.º 2
0
    private void iniciarWatchsFirebase()
    {
        //inicia o watch na comanda do fire
        //comandaClienteFirebase = new GenericFirebase<string>($"clientes/{Cliente.ClienteLogado._id}/configClienteAtual/comanda")
        //{
        //    Callback = (data) =>
        //    {
        //        Cliente.ClienteLogado.configClienteAtual.comanda = data;
        //        Debug.Log("iniciarWatchsFirebase");
        //        bool temComanda = (string.IsNullOrEmpty(Cliente.ClienteLogado.configClienteAtual.comanda)) ? false : true;
        //        MenuComanda.IniciarWatchComanda(temComanda);
        //    }
        //};

        clienteConfigAtualFirebase = new GenericFirebase <Cliente.ConfigClienteAtual>($"clientes/{Cliente.ClienteLogado._id}/configClienteAtual")
        {
            Callback = (data) =>
            {
                if (data != null)
                {
                    Cliente.ClienteLogado.configClienteAtual = data;

                    ClienteEstaNoEstabelecimento();
                }
            }
        };

        clienteAvatarInfoFirebase = new GenericFirebase <Cliente.AvatarInfo>($"clientes/{Cliente.ClienteLogado._id}/avatar/info")
        {
            Callback = (data) =>
            {
                bool upouLevel = data.level > Cliente.ClienteLogado.avatar.info.level;

                Cliente.ClienteLogado.avatar.info = data;
                if (upouLevel)
                {
                    AppManager.Instance.AtivarLevelUp();
                }

                atualizarExp();
                PreencherInfoLevel.Invoke();
            }
        };

        clieteGoldFirebase = new ClienteFirebase()
        {
            AcaoGoldPorEstabelecimento = (goldEstab, tipoAcao) =>
            {
                if (tipoAcao == ClienteFirebase.TipoAcao.Adicionar)
                {
                    Cliente.ClienteLogado.goldPorEstabelecimento.Add(goldEstab);
                    return;
                }

                int indexGold = Cliente.ClienteLogado.goldPorEstabelecimento.FindIndex(x => x.estabelecimento == goldEstab.estabelecimento);

                if (tipoAcao == ClienteFirebase.TipoAcao.Modificar)
                {
                    Cliente.ClienteLogado.goldPorEstabelecimento.RemoveAt(indexGold);
                    Cliente.ClienteLogado.goldPorEstabelecimento.Add(goldEstab);
                    MenuEstabelecimento.AtualizarInfoGold(goldEstab.estabelecimento);
                }

                if (tipoAcao == ClienteFirebase.TipoAcao.Remover)
                {
                    Cliente.ClienteLogado.goldPorEstabelecimento.RemoveAt(indexGold);
                }
            }
        };

        clienteConfigAtualFirebase.Watch(true);
        clienteAvatarInfoFirebase.Watch(true);
        clieteGoldFirebase.WatchGoldPorEstab(Cliente.ClienteLogado._id, true);
    }