summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLéo Lam <leo@leolam.fr>2021-03-12 17:18:34 +0100
committerLéo Lam <leo@leolam.fr>2021-03-12 17:18:34 +0100
commitea79008db6ce92fb3a06ee60410ef92e62a3b96a (patch)
tree75b46ece11ff66700a8b3c7613236c3ff515bf7a
parent9ad7d5f982772c51af22828a2f73a80ca19fcc03 (diff)
ksys: Add util::TaskDelegateT to simplify delegate declaration
-rw-r--r--src/KingSystem/ActorSystem/actBaseProcDeleter.h8
-rw-r--r--src/KingSystem/Utils/Thread/Task.h2
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&>;