Nui Engine
A game engine framework
Loading...
Searching...
No Matches
Common.h
1#pragma once
2#include "Core/Common/CommonHeaders.h"
3#include <type_traits>
4#include <typeinfo>
5#include <typeindex>
6
7// Contains ECS forward declarations
8
9namespace Nui::ECS
10{
11 using TypeIndex = std::type_index;
12
13 class Context;
14 class Entity;
15 class SystemBase;
16
17 namespace Internal
18 {
19 class EntityView;
20 class EventSubscriberBase;
21 template<typename... Types> class EntityComponentView;
22 }
23
24 template <typename T> class ComponentHandle;
25 template <typename T> class EventSubscriber;
26
27 template <typename T>
28 constexpr TypeIndex GetTypeIndex()
29 {
30 return TypeIndex(typeid(T));
31 }
32}