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