Packager And Placement Flow¶
After scanning, the item moves through physical handling steps:
This keeps the game from becoming a pure terminal UI. The player's decisions are expressed spatially by how they carry, package, place, recover, and organize items.
Item handling follows the current ownership rule:
carry component owns hands and held item movement
placement mode component owns preview and freeform commit rules
workstation owns spatial validation and workstation rules
salvage item owns salvage data and physical state helpers
The salvage item does not own carry state, workstation validation, or placement preview state.
Packager Workstation¶
AAndromedaPackagerWorkstation inherits from AAndromedaWorkstation.
It customizes acceptance:
return Super::CanAcceptObject(CandidateObject)
&& StationDatabank->HasValidScanRecordForObject(CandidateObject);
That means an item without a valid scan record in the station databank cannot be used by the packager workstation. This enforces the loop:
The packager workstation can be used only if exactly one spatially valid item is in its placement volume and:
When used, it calls:
For now, success/failure is lightweight. The gameplay rule is real even though the feedback is not final.
After packaging succeeds, the item remains physical and pickup-enabled. Pickup still routes through the character/carry path using the salvage item's pickup capability.
Package Assignment¶
Package assignment does not spawn a package actor yet. It sets item state:
The Data Asset defines what package is required:
category: Normal / Quarantine / Freezer / Radiation
minimum size: XS / S / M / L / XL / XXL
handling note
Later, this can grow into actual package selection, package mesh spawning, labels, printed tags, and warehouse stacking. The current foundation only needs the state transition.
Freeform Placement¶
UAndromedaPlacementModeComponent is owned by the player character.
It:
- toggles placement mode while the carry component has a held item
- traces from the first-person camera for a candidate location
- mirrors the held item's mesh as a ghost preview
- checks that the target location is inside station bounds
- cycles yaw, pitch, and roll as the active rotation axis
- asks
UAndromedaCarryComponentto release the item at the committed transform
Committed freeform placement enables physics on the salvage item. Midair placements are allowed inside station bounds; the item falls and settles under normal physics.
Removed Warehouse Zones¶
The old Sell and Quarantine warehouse zone classes are no longer part of the active flow. Final sale, quarantine, reporting, cargo transfer, and consequence handling will be redesigned after physical placement and storage ownership are proven.