ChatPlexSDK-BS
1.0.1-v6.2.0
C++ ChatPlex BeatSaber SDK
Loading...
Searching...
No Matches
shared
CP_SDK
Unity
MTMainThreadInvoker.hpp
1
#pragma once
2
3
#include "../Utils/Delegate.hpp"
4
#include "../Utils/Il2cpp.hpp"
5
6
#include <custom-types/shared/coroutine.hpp>
7
#include <UnityEngine/MonoBehaviour.hpp>
8
#include <mutex>
9
10
namespace
CP_SDK::Unity
{
11
12
namespace
_u
13
{
14
using namespace
System;
15
using namespace
System::Threading;
16
using namespace
UnityEngine;
17
}
18
namespace
_v
19
{
20
using namespace
CP_SDK::Utils
;
21
}
22
24
class
MTMainThreadInvoker
:
public
_u::MonoBehaviour
25
{
26
CP_SDK_IL2CPP_INHERIT(
"CP_SDK.Unity"
,
MTMainThreadInvoker
, _u::MonoBehaviour);
27
CP_SDK_IL2CPP_DECLARE_CTOR(
MTMainThreadInvoker
);
28
CP_SDK_IL2CPP_DECLARE_DTOR_MONOBEHAVIOUR(
MTMainThreadInvoker
);
29
30
private
:
32
struct
Queue
33
{
34
_v::Action<>
** Data;
35
int
WritePos;
36
};
37
38
private
:
39
static
MTMainThreadInvoker
* m_Instance;
40
41
static
Queue** m_Queues;
42
static
bool
m_Queued;
43
static
int
m_FrontQueue;
44
static
std::mutex m_Mutex;
45
46
public
:
48
static
void
Initialize
();
50
static
void
Destroy
();
51
52
public
:
55
static
void
Enqueue
(
_v::CActionRef<>
p_Delegate);
56
57
private
:
59
DECLARE_INSTANCE_METHOD(
void
, Update);
60
61
};
62
63
}
64
65
CP_SDK_IL2CPP_INHERIT_HELPERS(
CP_SDK::Unity::MTMainThreadInvoker
);
CP_SDK::Unity::MTMainThreadInvoker
Main thread task system.
Definition
MTMainThreadInvoker.hpp:25
CP_SDK::Unity::MTMainThreadInvoker::Initialize
static void Initialize()
Unity GameObject initialize.
CP_SDK::Unity::MTMainThreadInvoker::Enqueue
static void Enqueue(_v::CActionRef<> p_Delegate)
Enqueue a new action.
CP_SDK::Unity::MTMainThreadInvoker::Destroy
static void Destroy()
Stop.
CP_SDK::Utils::Delegate< void(t_Args...)>
CP_SDK::Unity
Tools and extensions to interact with Unity on different layer & threads, load fonts/sprites/textures...
Definition
EnhancedImage.hpp:12
CP_SDK::Utils
Various platform utils like Delegate/Action/Function/Event system.
Definition
Delegate.hpp:8
Generated by
1.9.8