Skip to main content

Module map

Module map 

Source

Structs§

DynamicObjectConfig
Динамический объект карты (physicsDynamic из src/data/maps/*).
GameMap
Карта в мире: порт физической части src/server/parts/Map.js + масштабирование из RoundManager.createMap (scaleMapData).
MapConfig
JSON карты (src/data/maps/*.js, экспортированный в .json). Поля рендера (spriteSheet, layers) ядру не нужны и игнорируются.
MapLevelConfig
Описание НАДЗЕМНОГО уровня карты (level >= 1). Уровень 0 остаётся в полях map/physicsStatic/layers — так карта старого формата продолжает грузиться без единой правки.
MapLevels
Слоистая геометрия карты без физического мира: гриды уровней, списки сплошных тайлов, прогоны рамп. Хост держит её внутри GameMap, клиентская реплика игры строит из полей MAP_DATA — правила уровней у обеих сторон читаются отсюда и только отсюда.
RampConfig
Рампа: тайл-переход между уровнями.
RampRun
Прогон рампы: максимальная непрерывная линия тайлов одной рампы вдоль её оси в одной строке (ось x) или колонке (ось y).
RampSample
Результат попадания точки на рампу.

Enums§

RampDir
Направление ПОДЪЁМА рампы (куда ехать, чтобы подняться).

Constants§

DEFAULT_FRICTION
DEFAULT_RESTITUTION
MAX_LEVELS
Максимум поддерживаемых уровней: земля + одна эстакада. Больше двух упирается в 2.5D-модель (у луча/танка ровно один «текущий» уровень) и в бюджет масок Rapier, отведённый под уровни.
STATIC_LEVEL_GROUP
Группа статики карты: её несут стены ВСЕХ уровней в дополнение к своей level_group. Нужна телам, которым по правилам игры полагаются только стены и ни одного динамического тела (падающий с обрыва танк): маска STATIC_LEVEL_GROUP в одиночку видит стену любого уровня и не видит ни танков, ни ящиков. Уровни занимают GROUP_1..GROUP_2 (см. MAX_LEVELS), поэтому статика берёт заведомо свободный бит.

Functions§

level_group
Битовая маска слоя для InteractionGroups. Уровень 0 — GROUP_1, уровень 1 — GROUP_2. Тела за пределами реестра (не выставившие группы) остаются в Group::ALL и поэтому продолжают взаимодействовать с уровнем 0 — старые карты и старые игры не замечают появления слоёв.
level_interaction
Маска «я на уровне level и вижу только его».
levels_interaction
Маска «я вижу все уровни из mask» (танк на рампе).
static_level_interaction
Маска стены уровня level: своя группа уровня плюс STATIC_LEVEL_GROUP.
validate_levels
Проверки формы слоёных полей карты (levels/ramps). Вынесены из MapConfig::validate отдельной функцией, потому что выполнять их обязаны обе стороны: хост при загрузке карты и клиентская реплика, которой те же поля приходят по сети в MAP_DATA. Косой грид уровня на клиенте не паникует — он молча даёт геометрию, отличную от хостовой, и предсказание расходится без единой строки в консоли: ровно та категория отказа, ради которой валидатор и написан.