16untyped_component& internal_member(
22 bool use_offset =
false)
29 m.
offset =
static_cast<int32_t
>(offset);
80template <
typename MemberType>
90template <
typename MemberType>
101template <
typename MemberType>
112template <
typename MemberType>
124template <
typename MemberType,
typename UnitType>
135template <
typename MemberType,
typename UnitType>
147template <
typename MemberType,
typename ComponentType,
148 typename RealType =
typename std::remove_extent<MemberType>::type>
151 const MemberType ComponentType::* ptr)
154 size_t offset =
reinterpret_cast<size_t>(&(
static_cast<ComponentType*
>(
nullptr)->*ptr));
159template <
typename MemberType,
typename ComponentType,
160 typename RealType =
typename std::remove_extent<MemberType>::type>
164 const MemberType ComponentType::* ptr)
167 size_t offset =
reinterpret_cast<size_t>(&(
static_cast<ComponentType*
>(
nullptr)->*ptr));
172template <
typename UnitType,
typename MemberType,
typename ComponentType,
173 typename RealType =
typename std::remove_extent<MemberType>::type>
176 const MemberType ComponentType::* ptr)
180 size_t offset =
reinterpret_cast<size_t>(&(
static_cast<ComponentType*
>(
nullptr)->*ptr));
185template <
typename T =
int32_t>
206template <
typename T = u
int32_t>
227template <
typename Elem>
234 desc.
count = elem_count;
255 flecs::MemberRanges *mr =
static_cast<flecs::MemberRanges*
>(
257 sizeof(flecs::MemberRanges)));
282 flecs::MemberRanges *mr =
static_cast<flecs::MemberRanges*
>(
284 sizeof(flecs::MemberRanges)));
309 flecs::MemberRanges *mr =
static_cast<flecs::MemberRanges*
>(
311 sizeof(flecs::MemberRanges)));
void ecs_add_id(ecs_world_t *world, ecs_entity_t entity, ecs_id_t component)
Add a (component) ID to an entity.
#define ecs_assert(condition, error_code,...)
Assert.
#define ECS_INTERNAL_ERROR
Internal error code.
ecs_id_t ecs_entity_t
An entity identifier.
flecs::entity entity(Args &&... args) const
Create an entity.
ecs_entity_t entity_t
Entity type.
ecs_entity_t ecs_entity_init(ecs_world_t *world, const ecs_entity_desc_t *desc)
Find or create an entity.
void * ecs_ensure_id(ecs_world_t *world, ecs_entity_t entity, ecs_id_t component, size_t size)
Ensure an entity has a component and return a pointer.
void ecs_set_id(ecs_world_t *world, ecs_entity_t entity, ecs_id_t component, size_t size, const void *ptr)
Set the value of a component.
ecs_member_value_range_t warning
Member value warning range.
ecs_member_value_range_t value
Member value range.
ecs_member_value_range_t error
Member value error range.
Used with ecs_array_init().
ecs_entity_t entity
Existing entity to use for type (optional).
ecs_entity_t type
Element type.
int32_t count
Number of elements.
Used with ecs_entity_init().
const char * name
Name of the entity.
ecs_entity_t parent
Parent entity.
Element type of members vector in EcsStruct.
ecs_member_value_range_t warning_range
Numerical range outside of which the value represents a warning.
const char * name
Must be set when used with ecs_struct_desc_t.
bool use_offset
Set to true to prevent automatic offset computation.
ecs_entity_t type
Member type.
ecs_entity_t member
Should not be set by ecs_struct_desc_t.
int32_t offset
May be set when used with ecs_struct_desc_t.
ecs_entity_t unit
May be set when used with ecs_struct_desc_t.
ecs_member_value_range_t range
Numerical range that specifies which values member can assume.
int32_t count
Element count (for inline arrays).
ecs_member_value_range_t error_range
Numerical range outside of which the value represents an error.
double min
Min member value.
double max
Max member value.
const Self & unit(const char *symbol, flecs::entity_t prefix=0, flecs::entity_t base=0, flecs::entity_t over=0, int32_t factor=0, int32_t power=0) const
Make an entity a unit.
flecs::string_view name() const
Return the entity name.
void modified() const
Signal that component was modified.
flecs::entity type_id() const
Return component type of ID.
flecs::id_t id_
The raw ID value.
flecs::world_t * world_
World is optional, but guarantees that entity identifiers extracted from the ID are valid.
untyped_component()
Default constructor.
flecs::id id() const
Get ID from a type.