| 295 | } |
| 296 | |
| 297 | bool sugoi_storage_t::components_enabled(const sugoi_entity_t src, const sugoi_type_set_t& type) |
| 298 | { |
| 299 | using namespace sugoi; |
| 300 | auto view = entity_view(src); |
| 301 | auto mask = (mask_t*)sugoiV_get_owned_ro(&view, kMaskComponent); |
| 302 | if (!mask) |
| 303 | return true; |
| 304 | auto set = view.chunk->group->get_mask(type); |
| 305 | if (set == 0) |
| 306 | return false; |
| 307 | return (mask->load(std::memory_order_relaxed) & set) == set; |
| 308 | } |
| 309 | |
| 310 | bool sugoi_storage_t::exist(sugoi_entity_t e) const noexcept |
| 311 | { |
no test coverage detected