#pragma once #include #include /// \file entity.h /// \author Folling /// \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 // @}