Grindstone Game Engine v0.2.0
An open source game engine and toolkit.
Loading...
Searching...
No Matches
TypeDescriptor.hpp
1#pragma once
2
3#include <string>
4
5namespace Grindstone::Reflection {
6 struct TypeDescriptor {
7 const char* name;
8 size_t size;
9
10 enum class ReflectionTypeData : char {
11 Struct = 0,
12 Vector,
13 String,
14 Bool,
15 Int,
16 Int2,
17 Int3,
18 Int4,
19 Uint,
20 Uint2,
21 Uint3,
22 Uint4,
23 Float,
24 Float2,
25 Float3,
26 Float4,
27 Double,
28 Double2,
29 Double3,
30 Double4,
31 Quaternion,
32 AssetReference,
33 Entity
34 };
35 ReflectionTypeData type;
36
37 TypeDescriptor() = default;
38 TypeDescriptor(const char* name, size_t size, ReflectionTypeData t) : name{ name }, size{ size }, type{ t } {}
39 virtual ~TypeDescriptor() {}
40 virtual const char* GetFullName() const { return name; }
41 };
42}