public void IniciarWatchComanda(bool ehParaAdicionar) { PnlSemComanda.SetActive(!ehParaAdicionar); PnlComComanda.SetActive(ehParaAdicionar); if (ehParaAdicionar) { this.ComandaId = Cliente.ClienteLogado.configClienteAtual.comanda; } string comandaIdAtual = (ehParaAdicionar) ? Cliente.ClienteLogado.configClienteAtual.comanda : this.ComandaId; ComandaFirebase.Watch(comandaIdAtual, ehParaAdicionar); if (ComandaValorTotalFirebase == null) { ComandaValorTotalFirebase = new GenericFirebase <double>($"comandas/{comandaIdAtual}/valorTotal") { Callback = (valorTotal) => { valorTotalComanda = valorTotal; StartCoroutine(calcularTotaisComanda()); } }; } ComandaValorTotalFirebase.Watch(ehParaAdicionar); if (!ehParaAdicionar) { this.ComandaId = string.Empty; ComandaValorTotalFirebase = null; } }
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); }