Это старая версия документа!
ECS to Apparatus (Словарь)
Apparatus предоставляет базовые идиомы ECS и даже больше. Чтобы быть недвусмысленными (и самодостаточным), наш фреймворк использует другую схему именования, нежели чем в классическом ECS. Вот список терминов, которые мы используем в документации:
| Общий термин | Термин | Описание | Known ECS Term |
|---|---|---|---|
| Subject (Сущность) | Subject (Сущность) | Низкоуровневая компоновка трейтов. | Entity |
| Subjective (Сущностный) | Высокоуровневая часть Subject-а, состоящая из деталей. | N/A | |
| Part (Компонент) | Trait (Трейт или черта) | Блок данных основанный на структуре. | Component |
| Detail (Деталь) | Блок данных основанный на классе. | N/A | |
| Iterable (Итерируемый) | Chunk (Чанк) | Хранилище слотов сущностей и трейтов. | Chunk |
| Belt (Пояс) | Хранилище слотов сущностей. | Chunk | |
| N/A | Slot (Слот) | Отдельный элемент итерирования. | N/A |
| Flagmark (Флажки) | Ручная битовая маска специфицирующая сущность. | N/A | |
| Traitmark (Флажки трейта) | Набор трейтов специфицирующий сущность. | Archetype | |
| Detailmark (Флажки детали) | Набор деталей, специфицирующий сущность. | N/A | |
| Fingerprint (След или отпечаток) | Полная спецификация топологии сущности. | N/A | |
| Filter (Фильтр) | Выбранные и исключенные свойства в топологии сущности. | Query | |
| Mechanic (Механика) | Логика выполняемая над сущностями. | System | |
| Mechanism (Механизм) | Множество сущностей и механик на уровне мира Unreal-а. | N/A | |
| Machine (Машина) | Глобальное состояние фреймворка. | N/A |
Причина?
Почему же мы позиционируем нестандартные имена на первом месте? Ну, конечно, мы считаем нашу схему лучше . Посмотрите сами. «Entity» - это более широкое понятие, часто используемое в системе движка для объектов общего назначения. «Subject», в свою очередь, лучше ассоциируется с чем-то, над чем выполняются какие-то действия (выполняемые системой). Само же слово «system» - более обобщенное и может обозначать почти всё что угодно, например, систему частиц, систему загрузки/сохранения, систему библиотек и так далее. «Mechanic» - интуитивно понятно, что это нечто, оперирующее над понятиями тика (ticking) и обеспечивающее весь игровой дизайн в целом. Что на счёт «component» - так это имя уже было зарезервировано самим Unreal Engine. Слово «Detail» оказалось незанятым и достаточно очевидно, что оно обозначает часть чего-то.