#pragma once /// \file entity_property_value.h /// \author Folling /// \defgroup entity_property_values EntityPropertyValue /// \brief Values in relation to an entity and one of its properties. /// @{ #include #include #include IKARUS_BEGIN_HEADER /// \brief Like an \ref value.h "IkarusValue", but in relation to an entity and one of its properties struct IkarusEntityPropertyValue; /// \brief Fetches the entity of an entity property value. /// \param value The entity property value. /// \pre \li Must not be null. /// \param error_out \see errors.h /// \return The entity of the entity property value. /// \remark This value is owned by the entity property value and must not be freed directly. struct IkarusEntity const * ikarus_entity_property_value_get_entity(IkarusEntityPropertyValue const * value, IkarusErrorData * error_out); /// \brief Fetches the property of an entity property value. /// \param value The entity property value. /// \pre \li Must not be null. /// \param error_out \see errors.h /// \return The property of the entity property value. /// \remark This value is owned by the entity property value and must not be freed directly. struct IkarusProperty const * ikarus_entity_property_value_get_property(IkarusEntityPropertyValue const * value, IkarusErrorData * error_out); /// \brief Fetches the value of an entity property value. /// \param value The entity property value. /// \pre \li Must not be null. /// \param error_out \see errors.h /// \return The value of the entity property value. /// \remark This value is owned by the entity property value and must not be freed directly. struct IkarusValue const * ikarus_entity_property_value_get_value(IkarusEntityPropertyValue const * value, IkarusErrorData * error_out); IKARUS_END_HEADER /// @}