예제 #1
0
        IEnumerator ConsumirEDestruir(EspacoItem espacoItem, float intervaloPrato)
        {
            Paciencia paciencia = GetComponent <Paciencia>();

            paciencia.consumir = false;
            // paciencia.Recuperar();

            if (SistemaPausa.pausado)
            {
                yield return(new WaitWhile(() => SistemaPausa.pausado));
            }

            yield return(new WaitForSeconds(intervaloPrato));

            if (SistemaPausa.pausado)
            {
                yield return(new WaitWhile(() => SistemaPausa.pausado));
            }

            espacoItem.itemAbrigado.bloqueado = false;
            Item itemPrato = espacoItem.Soltar();

            Destroy(itemPrato.gameObject);

            terminou = true;
        }
예제 #2
0
 public void LimparPosse()
 {
     if (espacoPertencente && !bloqueado)
     {
         tr.SetParent(null);
         espacoPertencente.itemAbrigado = null;
         espacoPertencente = null;
     }
 }
예제 #3
0
 public void DefinirPosse(EspacoItem novoEspacoPertencente)
 {
     if (bloqueado)
     {
         return;
     }
     LimparPosse();
     espacoPertencente = novoEspacoPertencente;
     espacoPertencente.itemAbrigado = this;
     tr.SetParent(espacoPertencente.transform);
     tr.localPosition = Vector3.zero;
     tr.rotation      = novoEspacoPertencente.transform.rotation;
 }
예제 #4
0
        void Start()
        {
            EspacoItem espacoItem = transform.Find("ref_item").GetComponent <EspacoItem>();
            Item       itemPrato  = espacoItem.itemAbrigado;

            Prato prato = itemPrato.GetComponent <Prato>();

            intervaloPrato = prato.tempoConsumo;
            GetComponent <EstadosCliente>().precoPrato = prato.ObtemPreco();

            GetComponent <BolhaCliente>().Ocultar();

            StartCoroutine(ConsumirEDestruir(espacoItem, intervaloPrato));
        }
예제 #5
0
        void Update()
        {
            if (SistemaPausa.pausado)
            {
                return;
            }

            if (ctrlVaiAtePonto.estaNoPonto)
            {
                if (!mesaObtida)
                {
                    mesaObtida = true;

                    GameObject gbjMesa = objsEspacos.ObterMaisProximo();
                    espacoMesa = gbjMesa.GetComponent <EspacoItem>();
                    Assert.IsNotNull(espacoMesa);

                    espacoMesa.Abrigar(pedidoItem);

                    Vector3 pontoOlhar = new Vector3(
                        espacoMesa.transform.position.x,
                        tr.position.y,
                        espacoMesa.transform.position.z
                        );

                    ctrlCliente.OlharPonto(pontoOlhar);
                    // var rotY = new Vector3(0, tr.eulerAngles.y, 0);
                    // tr.eulerAngles = rotY;
                }
                else if (!bolhaSolta && espacoMesa.Vazio())
                {
                    bolhaSolta = true;
                    bolha.Exibir();
                }
            }
        }