41 lines
1.4 KiB
C
41 lines
1.4 KiB
C
#pragma once
|
|
|
|
#include <ikarus/id.h>
|
|
#include <ikarus/macros.h>
|
|
|
|
/// \file entity.h
|
|
/// \author Folling <mail@folling.io>
|
|
|
|
/// \defgroup entities Entities
|
|
/// \brief Entities are the core building blocks of Ikarus.
|
|
|
|
IKARUS_BEGIN_HEADER
|
|
|
|
/// \brief Entities are the core building blocks of Ikarus.
|
|
/// \detials Blueprints and Properties define the structure of the data.
|
|
/// Entities define the data itself.
|
|
///
|
|
/// Properties can be associated with Entities in two ways:
|
|
/// - Directly: The property is linked to the entity.
|
|
/// - Indirectly: The property is linked to a blueprint of the entity.
|
|
///
|
|
/// For each property an entity is linked to, it has a value. These values depend on the property's type.
|
|
/// For more information on the types see the property documentation.
|
|
///
|
|
/// Values are the core type of data within Ikarus.
|
|
/// Each value is associated with one page and one property.
|
|
///
|
|
/// \remark Values are typed, the type of a value is specified by its associated property.
|
|
/// For more information on the types see the property documentation.
|
|
///
|
|
/// \remark Values are guaranteed to be in valid format for a given type
|
|
/// but not guaranteed to be valid under the settings of the property.
|
|
/// This is because changing the settings can invalidate existing values without resetting them.
|
|
struct IkarusEntity {
|
|
/// \private \brief The ID of the entity.
|
|
IkarusId id;
|
|
};
|
|
|
|
IKARUS_END_HEADER
|
|
|
|
// @}
|