staging library

A shooter level assembled into a run — the one assembly the shipped game, its tests and a tool that plays it blind all share.

A library of its own beside sample.dart, not under lib/src/. It reads the roster — the four weapons, the monsters and the registry that names them — and nothing in lib/src/ may. It moved here from apps/flutter3d_demo_dungeon/lib/src/staging.dart, where no package could reach it: flutter3d_sim_mcp kept a fourth copy for exactly that reason, and the copy had already left out the automap and the breaches the game has.

Classes

ShooterHeadlessGame
The shipped game as a HeadlessGame: the sample roster, the starting loadout and stage — what a tool plays when it plays this genre.
Staged
A level, spawned, with somebody standing in it ready to be stepped.

Functions

stage(Level level, CollisionWorld world, {required InputState input, required EntityRegistry registry, required Inventory inventory, void onActorSpawned(Actor actor)?, void onFixture(Fixture fixture)?, double eyeOffset = 0.7, double lookSensitivity = 0.0022, GameRandom? random}) → Staged
Turns a level document into a run, given a world it has already been added to.
startingInventory() → Inventory
What the player starts a game holding.