/
RaskolnickOFF
/
3D
Обзор
Документация
Войти
/
RaskolnickOFF
/
3D
Код
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
js/source/systems/render/RenderSystem.js
42 строки
1 KB
RaskolnickOFF
Structure update
06 июн 2026, 03:18
06 июн 2026, 03:18
9bc1c25
Код
Авторство
О чём код?
// js/source/systems/render/RenderSystem.js — синхронизация TRANSFORM → mesh (рендер-слой) import { Components } from '../../core/Components.js'; import { GameEvents } from '../../core/GameEvents.js'; export class RenderSystem { /** * @param {import('../../core/RenderContext.js').RenderContext} ctx */ constructor(ctx) { this.scene = ctx.scene; this.eventBus = ctx.eventBus; this.eventBus.on(GameEvents.ENTITY_DESTROYED, ({ mesh }) => { if (mesh && mesh.addedToScene) { this.scene.remove(mesh); mesh.addedToScene = false; } }); } update(engine) { const entities = engine.with(Components.MESH); for (const entity of entities) { const mesh = entity.get(Components.MESH); if (!mesh) continue; if (!mesh.addedToScene) { this.scene.add(mesh); mesh.addedToScene = true; } if (entity.has(Components.TRANSFORM)) { const transform = entity.get(Components.TRANSFORM); mesh.position.set(transform.x, transform.y, transform.z); mesh.rotation.y = transform.rotY; } } } }