neoGFX
Cross-platform C++ app/game engine
ecs_ids.hpp
Go to the documentation of this file.
1 // ecs_ids.hpp
2 /*
3  neogfx C++ GUI Library
4  Copyright (c) 2018 Leigh Johnston. All Rights Reserved.
5 
6  This program is free software: you can redistribute it and / or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  This program is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with this program. If not, see <http://www.gnu.org/licenses/>.
18 */
19 #pragma once
20 
21 #include <neogfx/neogfx.hpp>
22 #include <neolib/uuid.hpp>
23 #include <neolib/jar.hpp>
24 
25 namespace neogfx::game
26 {
30  typedef void* handle_t;
32  constexpr id_t null_id = 0;
33  typedef id_t handle_id;
34  typedef id_t entity_id;
35  constexpr entity_id null_entity = 0;
36 }
constexpr entity_id null_entity
Definition: ecs_ids.hpp:35
neolib::uuid entity_archetype_id
Definition: ecs_ids.hpp:27
uint32_t cookie
Definition: jar.hpp:49
constexpr id_t null_id
Definition: ecs_ids.hpp:32
neolib::cookie id_t
Definition: ecs_ids.hpp:31
id_t entity_id
Definition: ecs_ids.hpp:34
id_t handle_id
Definition: ecs_ids.hpp:33
neolib::uuid component_id
Definition: ecs_ids.hpp:28
neolib::uuid system_id
Definition: ecs_ids.hpp:29
void * handle_t
Definition: ecs_ids.hpp:30