private void Update()
    {
        switch (estado)
        {
        case EstadoDaqui.spriteFinalizador:
            if (spriteFinBoss.Update())
            {
                boss.InvocaTeleportProps(false);
                new MyInvokeMethod().InvokeNoTempoDeJogo(AparecendoDoTeleport, .75f);
                estado = EstadoDaqui.emEspera;
            }
            break;

        case EstadoDaqui.falaFinal:
            if (npc.Update())
            {
                boss.InvocaTeleportProps(false);
                avatar.SetActive(false);
                new MyInvokeMethod().InvokeNoTempoDeJogo(ParticulaPosSumico, tempoPosSumico);
                EventAgregator.Publish(EventKey.abriuPainelSuspenso);
                estado = EstadoDaqui.emEspera;
            }
            break;
        }
    }
    new protected void Update()
    {
        base.Update();

        /*
         * if (btn.activeSelf)
         *  btn.transform.parent.forward = forwardInicialDoBotao;
         */
        if (npc.Update())
        {
            GameController.g.Manager.AoHeroi();
        }
    }
    new protected void Update()
    {
        base.Update();

        /*
         * if (btn.activeSelf)
         *  btn.transform.parent.forward = forwardInicialDoBotao;*/

        if (npc.Update())
        {
            OnFinishTalk();
        }
    }