mirror of
https://github.com/MonsterDruide1/OdysseyDecomp
synced 2026-04-30 04:24:17 +00:00
43 lines
946 B
C++
43 lines
946 B
C++
#pragma once
|
|
|
|
#include <basis/seadTypes.h>
|
|
|
|
#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
|