diff options
| author | Léo Lam <leo@leolam.fr> | 2021-03-12 17:18:34 +0100 |
|---|---|---|
| committer | Léo Lam <leo@leolam.fr> | 2021-03-12 17:18:34 +0100 |
| commit | ea79008db6ce92fb3a06ee60410ef92e62a3b96a (patch) | |
| tree | 75b46ece11ff66700a8b3c7613236c3ff515bf7a | |
| parent | 9ad7d5f982772c51af22828a2f73a80ca19fcc03 (diff) | |
ksys: Add util::TaskDelegateT to simplify delegate declaration
| -rw-r--r-- | src/KingSystem/ActorSystem/actBaseProcDeleter.h | 8 | ||||
| -rw-r--r-- | src/KingSystem/Utils/Thread/Task.h | 2 |
2 files changed, 6 insertions, 4 deletions
diff --git a/src/KingSystem/ActorSystem/actBaseProcDeleter.h b/src/KingSystem/ActorSystem/actBaseProcDeleter.h index 9c48c07e..a46f5131 100644 --- a/src/KingSystem/ActorSystem/actBaseProcDeleter.h +++ b/src/KingSystem/ActorSystem/actBaseProcDeleter.h @@ -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); diff --git a/src/KingSystem/Utils/Thread/Task.h b/src/KingSystem/Utils/Thread/Task.h index 0df15083..2010ac77 100644 --- a/src/KingSystem/Utils/Thread/Task.h +++ b/src/KingSystem/Utils/Thread/Task.h @@ -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&>; |
