#pragma once #include "stdint.h" #include #include class TickSequencer { public: TickSequencer(); ~TickSequencer(); void tick(); void reset(); void clear(); void do_every_tick(uint32_t tick_count, std::function fn); void do_after_tick(uint32_t tick_count, std::function fn); private: std::list > > list; std::list > >::iterator list_it; uint32_t tick_count; void do_nothing(); };