Implement the deconstruction queue
Demolishing a fully-built building now queues it for timed deconstruction (world.toml deconstruction_time_seconds, default 0.1) running in parallel with the construction queue, instead of removing it instantly. The partial refund is credited on completion. A queued building stops operating at once (belt/tunnel/splitter tiles unregister from the belt subsystem, re-pairing tunnels) but keeps occupying its tiles. Construction sites are still removed instantly with the full refund. Clicking a queued building un-queues it (new CancelDeconstructionCommand); a demolish drag-box un-queues all covered built buildings when they are all already queued, otherwise queues the rest. Queued buildings render with the demolish tint. Implements REQ-BLD-DECON-QUEUE and the updated REQ-BLD-DEMOLISH / REQ-BLD-DEMOLISH-CLICK / REQ-BLD-DEMOLISH-BOX / REQ-BLD-TUNNEL-PAIR. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Y7N59FsLA5e2kuVdqe4Uhc
This commit is contained in:
@@ -35,6 +35,11 @@ struct SimulationTestAccess
|
||||
|
||||
static void demolish(Simulation& sim, BuildingId id) { sim.demolish(id); }
|
||||
|
||||
static void cancelDeconstruction(Simulation& sim, BuildingId id)
|
||||
{
|
||||
sim.cancelDeconstruction(id);
|
||||
}
|
||||
|
||||
static void applySchematicChoice(Simulation& sim, int choiceIndex)
|
||||
{
|
||||
sim.applySchematicChoice(choiceIndex);
|
||||
|
||||
Reference in New Issue
Block a user