少年修仙传客户端基础资源
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#include "il2cpp-config.h"
 
#include "icalls/mscorlib/System.Reflection/MemberInfo.h"
#include "vm/Exception.h"
#include "il2cpp-object-internals.h"
#include "vm/Reflection.h"
#include "vm/Field.h"
#include "vm/Property.h"
#include "vm/Method.h"
#include "vm/Event.h"
#include "vm/Type.h"
 
namespace il2cpp
{
namespace icalls
{
namespace mscorlib
{
namespace System
{
namespace Reflection
{
    int32_t MemberInfo::get_MetadataToken(Il2CppObject* /* System.Reflection.MemberInfo */ self)
    {
        if (vm::Reflection::IsField(self))
        {
            Il2CppReflectionField* field = (Il2CppReflectionField*)self;
            return vm::Field::GetToken(field->field);
        }
        else if (vm::Reflection::IsAnyMethod(self))
        {
            Il2CppReflectionMethod* method = (Il2CppReflectionMethod*)self;
            return vm::Method::GetToken(method->method);
        }
        else if (vm::Reflection::IsProperty(self))
        {
            Il2CppReflectionProperty* prop = (Il2CppReflectionProperty*)self;
            return vm::Property::GetToken(prop->property);
        }
        else if (vm::Reflection::IsEvent(self))
        {
            Il2CppReflectionMonoEvent* eventInfo = (Il2CppReflectionMonoEvent*)self;
            return vm::Event::GetToken(eventInfo->eventInfo);
        }
        else if (vm::Reflection::IsType(self))
        {
            Il2CppReflectionType* type = (Il2CppReflectionType*)self;
            return vm::Type::GetToken(type->type);
        }
        else
        {
            NOT_SUPPORTED_IL2CPP(MemberInfo::get_MetadataToken, "This icall is not supported by il2cpp.");
        }
 
        return 0;
    }
} /* namespace Reflection */
} /* namespace System */
} /* namespace mscorlib */
} /* namespace icalls */
} /* namespace il2cpp */