Skip to content

File evaDelayTimer.h

File List > src > evaDelayTimer.h

Go to the documentation of this file

#pragma once

#include "evaTickable.h"
#include "evaHandler.h"

namespace eva
{
    class DelayTimer : public Tickable
    {
    public:
        DelayTimer();

        DelayTimer(IHandler *listener);

        void start(unsigned short delay, IHandler *listener);

        void start(unsigned short delay);

        bool isRunning();

        DelayTimer *setListener(IHandler *listener);

        void stop();

    protected:
        bool checkTimeElapsed();
        void tick() override;

    protected:
        unsigned long nextFire;
        IHandler *listener;
    };
}