LeviLamina
Loading...
Searching...
No Matches
EntityId.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4#include "mc/deps/ecs/EntityIdTraits.h"
5
6template <>
7class entt::entt_traits<EntityId> : public entt::basic_entt_traits<EntityIdTraits> {
8public:
9 static constexpr entity_type page_size = ENTT_SPARSE_PAGE;
10};
11
12class EntityId : public entt::entt_traits<EntityId> {
13public:
14 entity_type mRawId{entt::null};
15
16 [[nodiscard]] constexpr EntityId() = default;
17
18 [[nodiscard]] constexpr EntityId(entity_type rawId) : mRawId(rawId) {}
19
20 [[nodiscard]] constexpr bool isNull() const { return *this == entt::null; }
21
22 [[nodiscard]] constexpr operator entity_type() const { return mRawId; }
23};
Definition EntityId.h:12