ksys: Add util::TaskDelegateT to simplify delegate declaration

This commit is contained in:
Léo Lam 2021-03-12 17:18:34 +01:00
parent 9ad7d5f982
commit ea79008db6
No known key found for this signature in database
GPG Key ID: 0DF30F9081000741
2 changed files with 6 additions and 4 deletions

View File

@ -2,6 +2,7 @@
#include <container/seadBuffer.h>
#include <prim/seadDelegate.h>
#include "KingSystem/Utils/Thread/Task.h"
#include "KingSystem/Utils/Types.h"
namespace ksys::util {
@ -42,10 +43,9 @@ private:
util::TaskMgr* mTaskMgr{};
util::TaskQueue* mTaskQueue{};
sead::Buffer<void*> mBuffer;
sead::Delegate1R<BaseProcDeleter, void*, bool> mPreDeleteDelegate{
this, &BaseProcDeleter::doPreDelete};
sead::Delegate1R<BaseProcDeleter, void*, bool> mUnloadActorParamDelegate{
this, &BaseProcDeleter::doUnloadParam};
util::TaskDelegateT<BaseProcDeleter> mPreDeleteDelegate{this, &BaseProcDeleter::doPreDelete};
util::TaskDelegateT<BaseProcDeleter> mUnloadActorParamDelegate{this,
&BaseProcDeleter::doUnloadParam};
};
KSYS_CHECK_SIZE_NX150(BaseProcDeleter, 0x68);

View File

@ -51,6 +51,8 @@ public:
KSYS_CHECK_SIZE_NX150(TaskRemoveCallbackContext, 0x18);
using TaskDelegate = sead::IDelegate1R<void*, bool>;
template <typename T>
using TaskDelegateT = sead::Delegate1R<T, void*, bool>;
using TaskPostRunCallback = sead::IDelegate2<TaskPostRunResult*, const TaskPostRunContext&>;
using TaskRemoveCallback = sead::IDelegate1<const TaskRemoveCallbackContext&>;