/
RaskolnickOFF
/
3D
Обзор
Документация
Войти
/
RaskolnickOFF
/
3D
Код
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
js/source/systems/render/TerrainSystem.js
40 строк
1 KB
RaskolnickOFF
Structure update
06 июн 2026, 03:18
06 июн 2026, 03:18
9bc1c25
Код
Авторство
О чём код?
// js/source/systems/render/TerrainSystem.js export class TerrainSystem { /** * @param {import('../core/RenderContext.js').RenderContext} ctx * @param {import('../world/HeightmapData.js').HeightmapData} heightmapData */ constructor(ctx, heightmapData) { this.ctx = ctx; this.heightmapData = heightmapData; const t = ctx.settings.terrain; this.waterLevel = t.waterLevel || -0.3; } update(engine) { // offset не обновляется } /** * Высота ландшафта в мировых координатах. * Делегирует в HeightmapData (билинейная интерполяция). * @param {number} x * @param {number} z * @returns {number} */ getHeightAt(x, z) { if (!this.heightmapData) return 0; return this.heightmapData.getHeightAt(x, z); } /** * Игрок в воде? * @param {number} y * @returns {boolean} */ isInWater(y) { return y < this.waterLevel; } }