#pragma once #include <Array.h> #include <Critical.h> #include "TickWorker.h" class TickOrganizer : public virtual Framework::ReferenceCounter { private: int workerCount; TickWorker** workers; Framework::Array<Tickable*> tickSources; TickQueue* queue; Framework::Critical sourceCs; public: TickOrganizer(); ~TickOrganizer(); void nextTick(); void addTickSource(Tickable* zObj); void removeTickSource(Tickable* zObj); void exitAndWait(); };