// Persistir durante carregamentos de cenas
        public static FuncaoPeriodica CriarGlobal(Action acao, Func <bool> testeDestruicao, float temporizador)
        {
            FuncaoPeriodica funcaoPeriodica = Criar(acao, testeDestruicao, temporizador, "", false, false, false);

            MonoBehaviour.DontDestroyOnLoad(funcaoPeriodica.objetoJogo);
            return(funcaoPeriodica);
        }
        public static FuncaoPeriodica Criar(Action acao, Func <bool> testeDestruicao, float temporizador, string nomeFuncao, bool usarTempoDeltaSemEscala, bool desencadearImediatamente, bool pareTudoComMesmoNome)
        {
            InicialSeNecessario();

            if (pareTudoComMesmoNome)
            {
                PareTodasFuncoes(nomeFuncao);
            }

            GameObject      gameObject       = new GameObject("FunctionPeriodic Object " + nomeFuncao, typeof(MonoBehaviourHook));
            FuncaoPeriodica functionPeriodic = new FuncaoPeriodica(gameObject, acao, temporizador, testeDestruicao, nomeFuncao, usarTempoDeltaSemEscala);

            gameObject.GetComponent <MonoBehaviourHook>().aoAtualizar = functionPeriodic.Update;

            listaFuncoes.Add(functionPeriodic);

            if (desencadearImediatamente)
            {
                acao();
            }

            return(functionPeriodic);
        }
 public static void RemoverTimer(FuncaoPeriodica funcTimer)
 {
     listaFuncoes.Remove(funcTimer);
 }