少年修仙传客户端基础资源
hch
2024-04-01 d01413b00ef631ac20347716b23818b0b811f65f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#pragma once
 
#include <stdint.h>
 
struct Il2CppObject;
 
namespace il2cpp
{
namespace gc
{
    enum GCHandleType
    {
        HANDLE_WEAK,
        HANDLE_WEAK_TRACK,
        HANDLE_NORMAL,
        HANDLE_PINNED
    };
 
    class LIBIL2CPP_CODEGEN_API GCHandle
    {
    public:
        // external
        static uint32_t New(Il2CppObject *obj, bool pinned);
        static uint32_t NewWeakref(Il2CppObject *obj, bool track_resurrection);
        static Il2CppObject* GetTarget(uint32_t gchandle);
        static GCHandleType GetHandleType(uint32_t gcHandle);
        static void Free(uint32_t gchandle);
    public:
        //internal
        static int32_t GetTargetHandle(Il2CppObject * obj, int32_t handle, int32_t type);
 
        typedef void(*WalkGCHandleTargetsCallback)(Il2CppObject* obj, void* context);
        static void WalkStrongGCHandleTargets(WalkGCHandleTargetsCallback callback, void* context);
    };
} /* gc */
} /* il2cpp */