Grindstone Game Engine
v0.2.0
An open source game engine and toolkit.
Toggle main menu visibility
Loading...
Searching...
No Matches
ComponentFunctions.hpp
1
#pragma once
2
3
#include <entt/entt.hpp>
4
#include "EngineCore/ECS/Entity.hpp"
5
#include "EngineCore/Reflection/TypeDescriptorStruct.hpp"
6
using namespace
Grindstone;
7
8
namespace
Grindstone {
9
class
WorldContextSet
;
10
11
namespace
ECS {
12
using
SetupComponentFn = void(*)(Grindstone::WorldContextSet&, entt::entity);
13
using
DestroyComponentFn = void(*)(Grindstone::WorldContextSet&, entt::entity);
14
using
ClearComponentsFn = void(*)(Grindstone::WorldContextSet&);
15
using
GetComponentReflectionDataFn = Grindstone::Reflection::TypeDescriptor_Struct(*)();
16
using
TryGetComponentFn = bool(*)(entt::registry&, entt::entity,
void
*& outEntity);
17
using
HasComponentFn = bool(*)(entt::registry&, entt::entity);
18
using
CreateComponentFn =
void
*(*)(entt::registry&, entt::entity);
19
using
RemoveComponentFn = void(*)(entt::registry&, entt::entity);
20
using
CopyRegistryComponentsFn = void(*)(WorldContextSet& dst, WorldContextSet& src);
21
22
class
ComponentFunctions
{
23
public
:
24
SetupComponentFn SetupComponentFn =
nullptr
;
25
DestroyComponentFn DestroyComponentFn =
nullptr
;
26
ClearComponentsFn ClearComponentsFn =
nullptr
;
27
CreateComponentFn CreateComponentFn =
nullptr
;
28
RemoveComponentFn RemoveComponentFn =
nullptr
;
29
HasComponentFn HasComponentFn =
nullptr
;
30
TryGetComponentFn TryGetComponentFn =
nullptr
;
31
GetComponentReflectionDataFn GetComponentReflectionDataFn =
nullptr
;
32
CopyRegistryComponentsFn CopyRegistryComponentsFn =
nullptr
;
33
};
34
}
35
}
Grindstone::ECS::ComponentFunctions
Definition
ComponentFunctions.hpp:22
Grindstone::WorldContextSet
Definition
WorldContextSet.hpp:11
sources
code
EngineCore
ECS
ComponentFunctions.hpp
Generated by
1.17.0