/** * boardgame-core * 基于 Preact Signals 的桌游状态管理库 */ // Core types export { PartType } from './core/Part'; export type { Part, PartBase, MeeplePart, CardPart, TilePart, PartSignal, } from './core/Part'; export { RegionType } from './core/Region'; export type { Region, RegionProperties, Slot } from './core/Region'; export type { Placement, PlacementProperties, Position, PlacementSignal } from './core/Placement'; export type { GameStateData } from './core/GameState'; // Core classes and functions export { createPart, createMeeple, createCard, createTile, } from './core/Part'; export { createRegion, createRegion as createRegionCore } from './core/Region'; export type { Region as RegionClass } from './core/Region'; export { createPlacement } from './core/Placement'; export { GameState, createGameState } from './core/GameState'; // Part actions export { createPartAction, createMeepleAction, createCardAction, createTileAction, updatePartAction, removePartAction, getPartAction, } from './actions/part.actions'; // Region actions export { createRegionAction, getRegionAction, removeRegionAction, addPlacementToRegionAction, removePlacementFromRegionAction, setSlotAction, getSlotAction, clearRegionAction, getRegionPlacementCountAction, isRegionEmptyAction, isRegionFullAction, } from './actions/region.actions'; // Placement actions export { createPlacementAction, getPlacementAction, removePlacementAction, movePlacementAction, updatePlacementPositionAction, updatePlacementRotationAction, flipPlacementAction, updatePlacementPartAction, swapPlacementsAction, setPlacementFaceAction, getPlacementsInRegionAction, getPlacementsOfPartAction, } from './actions/placement.actions'; // Commands export { CommandActionType, type Command, type CommandStep, type CommandExecutionResult, type CommandLogEntry, type StepResult, type CommandStatus, type QueuedCommand, } from './commands/Command'; export { CommandExecutor } from './commands/CommandExecutor'; export { CommandLog, createCommandLog } from './commands/CommandLog'; export { setupGameCommand, placeMeepleCommand, moveMeepleCommand, drawCardCommand, playCardCommand, placeTileCommand, flipTileCommand, swapPlacementsCommand, setPhaseCommand, clearRegionCommand, defaultCommands, getDefaultCommand, } from './commands/default.commands'; // CLI Commands export { type CliCommand, type CliCommandArgs, type CliCommandResult, type CliCommandStep, type ParsedCliCommand, } from './commands/CliCommand'; export { CommandParser, createCommandParser, CommandParseError } from './commands/CommandParser'; export { CommandRegistry, createCommandRegistry } from './commands/CommandRegistry'; export { moveCommand, placeCommand, flipCommand, createCommand, regionCommand, drawCommand, shuffleCommand, discardCommand, swapCommand, rotateCommand, positionCommand, phaseCommand, clearCommand, removeCommand, helpCommand, cliCommands, } from './commands/cli.commands';