Назначение битовых данных в Artemis ECS

Какова цель позади bit член в Component Type и TypeBit а также SystemBit члены в Entity для Артемиды ECS?

Вот некоторые снимки экрана для репозитория Git Artemis ECS, которые относятся к ComponentType а также Entity:

За ComponentType

Для <code> ComponentType </ code ComponentType

За EntityДля <code> Entity </ code Entity

Вот ссылка на мерзавца.

1 ответ

Загляните в https://github.com/gemserk/artemis/blob/master/src/com/artemis/EntityManager.java- функцию addComponent. Это вызывает

e.addTypeBit(type.getBit());

Также removeComponent() вызывает:

e.removeTypeBit(type.getBit());

Так что это просто идентификатор для компонента внутри сущности. Другой идентификатор предназначен для сбора типов компонентов в EntityManager.

Во всяком случае, это немного старая реализация. Взгляните на форк под названием artemis-odb, который обладает большей производительностью и активно развивается. ComponentType также подвергается рефакторингу.

Другие вопросы по тегам