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, отведённый под уровни.

Functions§

level_group
Битовая маска слоя для InteractionGroups. Уровень 0 — GROUP_1, уровень 1 — GROUP_2. Тела за пределами реестра (не выставившие группы) остаются в Group::ALL и поэтому продолжают взаимодействовать с уровнем 0 — старые карты и старые игры не замечают появления слоёв.
level_interaction
Маска «я на уровне level и вижу только его».
levels_interaction
Маска «я вижу все уровни из mask» (танк на рампе).