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
GetComponentReflectionDataFn = Grindstone::Reflection::TypeDescriptor_Struct(*)();
15
using
TryGetComponentFn = bool(*)(entt::registry&, entt::entity,
void
*& outEntity);
16
using
HasComponentFn = bool(*)(entt::registry&, entt::entity);
17
using
CreateComponentFn =
void
*(*)(entt::registry&, entt::entity);
18
using
RemoveComponentFn = void(*)(entt::registry&, entt::entity);
19
using
CopyRegistryComponentsFn = void(*)(WorldContextSet& dst, WorldContextSet& src);
20
21
class
ComponentFunctions
{
22
public
:
23
SetupComponentFn SetupComponentFn =
nullptr
;
24
DestroyComponentFn DestroyComponentFn =
nullptr
;
25
CreateComponentFn CreateComponentFn =
nullptr
;
26
RemoveComponentFn RemoveComponentFn =
nullptr
;
27
HasComponentFn HasComponentFn =
nullptr
;
28
TryGetComponentFn TryGetComponentFn =
nullptr
;
29
GetComponentReflectionDataFn GetComponentReflectionDataFn =
nullptr
;
30
CopyRegistryComponentsFn CopyRegistryComponentsFn =
nullptr
;
31
};
32
}
33
}
Grindstone::ECS::ComponentFunctions
Definition
ComponentFunctions.hpp:21
Grindstone::WorldContextSet
Definition
WorldContextSet.hpp:11
sources
code
EngineCore
ECS
ComponentFunctions.hpp
Generated by
1.17.0