summaryrefslogtreecommitdiff
path: root/src/KingSystem/ActorSystem/actBaseProcJobHandler.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/KingSystem/ActorSystem/actBaseProcJobHandler.h')
-rw-r--r--src/KingSystem/ActorSystem/actBaseProcJobHandler.h51
1 files changed, 0 insertions, 51 deletions
diff --git a/src/KingSystem/ActorSystem/actBaseProcJobHandler.h b/src/KingSystem/ActorSystem/actBaseProcJobHandler.h
deleted file mode 100644
index 4ba4c1d4..00000000
--- a/src/KingSystem/ActorSystem/actBaseProcJobHandler.h
+++ /dev/null
@@ -1,51 +0,0 @@
-#pragma once
-
-#include <prim/seadDelegate.h>
-#include "KingSystem/ActorSystem/actBaseProcJob.h"
-#include "KingSystem/Utils/Types.h"
-
-namespace ksys::act {
-
-class BaseProcJobHandler {
-public:
- explicit BaseProcJobHandler(BaseProc* proc);
- virtual ~BaseProcJobHandler() = default;
- virtual void invoke() = 0;
- virtual void invokeSpecial() {}
-
- BaseProcJobLink& getLink() { return mLink; }
- const BaseProcJobLink& getLink() const { return mLink; }
-
-protected:
- BaseProcJobLink mLink;
-};
-KSYS_CHECK_SIZE_NX150(BaseProcJobHandler, 0x30);
-
-/// For binding actor member functions.
-template <typename T>
-class BaseProcJobHandlerT : public BaseProcJobHandler {
-public:
- BaseProcJobHandlerT(T* proc, void (T::*fn)()) : BaseProcJobHandler(proc), mDelegate(proc, fn) {}
-
- void invoke() override { mDelegate.invoke(); }
-
-private:
- sead::Delegate<T> mDelegate;
-};
-
-/// For binding two actor member functions.
-template <typename T>
-class BaseProcJobHandlerDualT : public BaseProcJobHandler {
-public:
- BaseProcJobHandlerDualT(T* proc, void (T::*fn)(), void (T::*fn_special)())
- : BaseProcJobHandler(proc), mDelegate(proc, fn), mDelegateSpecial(proc, fn_special) {}
-
- void invoke() override { mDelegate.invoke(); }
- void invokeSpecial() override { mDelegateSpecial.invoke(); }
-
-private:
- sead::Delegate<T> mDelegate;
- sead::Delegate<T> mDelegateSpecial;
-};
-
-} // namespace ksys::act