feat: add basic tower mecanic
This commit is contained in:
@@ -12,7 +12,7 @@ std::uint64_t getTime();
|
||||
typedef std::function<void()> TimerExecFunction;
|
||||
|
||||
// utililty class to call function at regular period of time
|
||||
class Timer {
|
||||
class AutoTimer {
|
||||
private:
|
||||
std::uint64_t m_Interval;
|
||||
TimerExecFunction m_Function;
|
||||
@@ -20,9 +20,9 @@ private:
|
||||
std::uint64_t m_LastTime = getTime();
|
||||
std::uint64_t m_InternalTime = 0;
|
||||
public:
|
||||
Timer() : m_Interval(0), m_Function(nullptr) {}
|
||||
Timer(std::uint64_t interval) : m_Interval(interval), m_Function(nullptr) {}
|
||||
Timer(std::uint64_t interval, TimerExecFunction callback) : m_Interval(interval), m_Function(callback) {}
|
||||
AutoTimer() : m_Interval(0), m_Function(nullptr) {}
|
||||
AutoTimer(std::uint64_t interval) : m_Interval(interval), m_Function(nullptr) {}
|
||||
AutoTimer(std::uint64_t interval, TimerExecFunction callback) : m_Interval(interval), m_Function(callback) {}
|
||||
|
||||
void update();
|
||||
void update(std::uint64_t delta);
|
||||
@@ -36,6 +36,23 @@ public:
|
||||
TimerExecFunction getCallbackFunction() const { return m_Function; }
|
||||
};
|
||||
|
||||
// utililty class to call function at regular period of time
|
||||
class Timer {
|
||||
private:
|
||||
std::uint64_t m_Interval;
|
||||
|
||||
std::uint64_t m_InternalTime = 0;
|
||||
public:
|
||||
Timer() : m_Interval(0) {}
|
||||
Timer(std::uint64_t interval) : m_Interval(interval) {}
|
||||
|
||||
bool update(std::uint64_t delta);
|
||||
|
||||
void reset();
|
||||
|
||||
void setInterval(std::uint64_t newInterval) { m_Interval = newInterval; }
|
||||
std::uint64_t getInterval() const { return m_Interval; }
|
||||
};
|
||||
|
||||
} // namespace utils
|
||||
} // namespace td
|
||||
|
||||
Reference in New Issue
Block a user