Newer
Older
rpg / packages / engine / src / index.ts
/**
 * Публичный API движка. Игры импортируют ТОЛЬКО отсюда.
 */

// re-export PixiJS-типов, чтобы игре не нужен был прямой импорт pixi.js
export { Container, Graphics, Text, Sprite, Texture } from 'pixi.js';

// core
export { Engine, type EngineOptions } from './core/Engine';
export { GameLoop } from './core/GameLoop';
export { EventBus } from './core/EventBus';

// scene
export { SceneManager, type Scene } from './scene/SceneManager';

// ecs
export { World, type Entity, type System } from './ecs/ecs';

// math
export { vec2, add, sub, len, dist, moveTo, type Vec2 } from './math/Vec2';
export {
    isoToScreen,
    screenToIso,
    screenToIsoExact,
    DEFAULT_ISO,
    type IsoLayout
} from './math/iso';

// map
export { IsometricTileMap, type TileMapData } from './map/IsometricTileMap';
export { findPath, type Grid } from './map/pathfinding';

// render
export { Renderer, type RendererOptions } from './render/Renderer';
export { Camera } from './render/Camera';

// input
export { InputManager, type PointerState } from './input/InputManager';

// anim
export { FrameAnimation } from './anim/FrameAnimation';

// ui
export { DialogueBox, type DialogueLine, type DialogueBoxOptions } from './ui/DialogueBox';

// audio
export { AudioManager } from './audio/AudioManager';

// assets
export { AssetLoader } from './assets/AssetLoader';

// save
export { SaveManager, type StorageLike } from './save/SaveManager';

// debug
export { DebugOverlay } from './debug/DebugOverlay';