/
difight
/
ruEngine
Обзор
Документация
Войти
/
difight
/
ruEngine
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
client/src/engine/core/GameCore.ts
47 строк
1 KB
Andrey Bashkirev
refactor and add readme
30 июл 2025, 19:33
30 июл 2025, 19:33
714c914
Код
Авторство
О чём код?
import { GameStateManager } from "./states/GameStateManager"; import { SceneManager } from "./scenes/SceneManager"; /** * Ядро игрового цикла. Управляет обновлением и рендером текущего состояния и сцены. */ export class GameCore { private readonly gameStateManager: GameStateManager; private running = false; /** * @param gameStateManager Менеджер игровых состояний */ constructor(gameStateManager: GameStateManager) { this.gameStateManager = gameStateManager; } /** Запускает игровой цикл */ public start(): void { this.running = true; this.loop(); } /** Останавливает игровой цикл */ public stop(): void { this.running = false; } /** Основной игровой цикл */ private loop(): void { if (!this.running) return; const state = this.gameStateManager.getCurrentState(); const scene = SceneManager.getInstance().getCurrentScene(); if (state) { state.onUpdate(0); state.onRender(); } if (scene) { scene.render(); } requestAnimationFrame(() => this.loop()); } }