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(); }
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); }