Add block-slot stat aggregation to BP_ShipPawn (Phase 2a)

Four typed slot variables (Slot_Hull/Thruster/Power/Storage, one per
block class) plus a RecalculateStats event that reads each slot (via
IsValid + external-member Get on the slot's block instance) and
derives MaxHull, ShipMovement.MaxSpeed, MaxPower/Power, and
StorageCapacity from base values plus whatever's attached. Called at
the end of BeginPlay. All slots empty = base values, matching current
gameplay exactly.

New technique discovered: VariableGet/VariableSet support an external
member reference via a "variable_class" field (full asset path
required for Blueprint-generated classes, not just the short class
name) -- this is how block-instance properties and component
properties (e.g. FloatingPawnMovement.MaxSpeed) get read/written at
runtime without needing a formal Function or the broken array/loop
path.
This commit is contained in:
Joshua Deville
2026-07-08 16:25:06 -04:00
parent 2f161b0105
commit a4da93cc63

BIN
Content/Blueprints/BP_ShipPawn.uasset (Stored with Git LFS)

Binary file not shown.