#pragma once #include #include "Library/Execute/ExecutorListBase.h" namespace al { class IUseExecutor; class ExecutorListIUseExecutorBase : public ExecutorListBase { public: ExecutorListIUseExecutorBase(const char* name, s32 size); bool isActive() const override; void registerUser(IUseExecutor* user); s32 getSize() const { return mSize; } IUseExecutor* getExecutor(s32 index) const { return mList[index]; } private: s32 mCapacity; s32 mSize = 0; IUseExecutor** mList = nullptr; }; class ExecutorListIUseExecutorUpdate : public ExecutorListIUseExecutorBase { public: ExecutorListIUseExecutorUpdate(const char* name, s32 size); void executeList() const override; }; class ExecutorListIUseExecutorDraw : public ExecutorListIUseExecutorBase { public: ExecutorListIUseExecutorDraw(const char* name, s32 size); void executeList() const override; }; } // namespace al