#pragma once #include "Common.h" #include #include #include namespace NGame { class TAlarm { public: using TId = int; void Set(TId id, std::uint32_t millis); void Unset(TId id); void Update(std::uint32_t delta); bool Next(TId& id); private: struct TData { std::uint32_t Target; std::uint32_t Current; }; std::unordered_map Alarms_; std::queue DueAlarms_; }; }