2022-06-16 21:33:18 +00:00
|
|
|
#pragma once
|
|
|
|
|
2022-09-04 09:23:02 +00:00
|
|
|
#include "al/async/FunctorBase.h"
|
|
|
|
|
|
|
|
#include "IUseExecutor.h"
|
|
|
|
#include "ExecuteSystemInitInfo.h"
|
|
|
|
#include "ExecuteRequestKeeper.h"
|
|
|
|
#include "ExecuteTableHolderDraw.h"
|
|
|
|
#include "ExecuteTableHolderUpdate.h"
|
|
|
|
#include "container/seadPtrArray.h"
|
|
|
|
#include "container/seadBuffer.h"
|
|
|
|
|
2022-06-16 21:33:18 +00:00
|
|
|
namespace al
|
|
|
|
{
|
2022-09-04 09:23:02 +00:00
|
|
|
|
|
|
|
class LiveActor;
|
|
|
|
class LayoutActor;
|
|
|
|
|
2022-06-16 21:33:18 +00:00
|
|
|
class ExecuteDirector {
|
2022-09-04 09:23:02 +00:00
|
|
|
public:
|
|
|
|
ExecuteDirector(int);
|
|
|
|
virtual ~ExecuteDirector();
|
|
|
|
void init(al::ExecuteSystemInitInfo const&);
|
|
|
|
void registerActorUpdate(al::LiveActor*, char const*);
|
|
|
|
void registerActorDraw(al::LiveActor*, char const*);
|
|
|
|
void registerActorModelDraw(al::LiveActor*, char const*);
|
|
|
|
void registerLayoutUpdate(al::LayoutActor*, char const*);
|
|
|
|
void registerLayoutDraw(al::LayoutActor*, char const*);
|
|
|
|
void registerUser(al::IUseExecutor*, char const*);
|
|
|
|
void registerFunctor(al::FunctorBase const&, char const*);
|
|
|
|
void registerFunctorDraw(al::FunctorBase const&, char const*);
|
|
|
|
void createExecutorListTable();
|
|
|
|
void execute(char const*) const;
|
|
|
|
void executeList(char const*, char const*) const;
|
|
|
|
void draw(char const*) const;
|
|
|
|
void drawList(char const*, char const*) const;
|
|
|
|
void isActiveDraw(char const*) const;
|
|
|
|
|
|
|
|
int mRequestMax; // 0x8
|
|
|
|
|
|
|
|
int mUpdateTableCount;
|
|
|
|
al::ExecuteTableHolderUpdate **mUpdateTables;
|
|
|
|
int mDrawTableCount;
|
|
|
|
al::ExecuteTableHolderDraw **mDrawTables;
|
|
|
|
|
|
|
|
al::ExecuteRequestKeeper *mRequestKeeper;
|
2022-06-16 21:33:18 +00:00
|
|
|
};
|
|
|
|
} // namespace al
|