27 lines
565 B
C++
27 lines
565 B
C++
#pragma once
|
|
#include "UTemplate/Type.hpp"
|
|
#include <variant>
|
|
#include <functional>
|
|
using Ubpa::Name;
|
|
using Ubpa::type_name;
|
|
namespace refl {
|
|
struct MemberField {
|
|
uint32_t offset;
|
|
};
|
|
struct MemberFuncField {
|
|
using Offsetor = std::function<void* (void*)>;
|
|
Offsetor func;
|
|
};
|
|
class UClass;
|
|
struct FieldPtr {
|
|
using Offsetor = std::function<void* (void*)>;
|
|
// raw offsetor
|
|
using Data = std::variant<
|
|
uint32_t, // forward_offset_value 0 BASIC
|
|
double // static_obj 2 STATIC
|
|
>;
|
|
Name name;
|
|
const UClass* type;
|
|
Data data;
|
|
};
|
|
} |