Skip to content

AAndromedaScannerWorkstation

Kind: class Source: Source/Andromeda/Workstation/AndromedaScannerWorkstation.h Base classes: AAndromedaWorkstation

Details

Workstation specialization that scans placed scannable objects and updates its screen widget.

Public Methods

Member Type Summary
AAndromedaScannerWorkstation function Sets scanner-specific prompt text.

Protected Methods

Member Type Summary
BeginPlay void Initializes the scanner screen to idle.
CanUsePlacedObject bool Allows scannable objects with stable scan ids to be scanned.
TryUsePlacedObject bool Loads or records scan result and shows it on screen.
HandlePlacementCommitted void Refreshes scanner screen, then lets the base workstation broadcast capability state.
GetScannerScreenWidget UAndromedaScannerScreenWidget * Returns the screen component's widget cast to scanner screen type.
RefreshScannerScreenFromSpatialPlacement void Shows ready or idle state based on current placement.
ShowScannerIdle void Shows scanner idle UI.
ShowScannerItemReady void Shows scanner item-ready UI.
ShowScanResultOnScreen void Shows scan result UI.

Members

AAndromedaScannerWorkstation

AAndromedaScannerWorkstation::AAndromedaScannerWorkstation()

Sets scanner-specific prompt text.

BeginPlay

void AAndromedaScannerWorkstation::BeginPlay() override

Initializes the scanner screen to idle.

CanUsePlacedObject

bool AAndromedaScannerWorkstation::CanUsePlacedObject(UObject *CandidateObject) const override

Allows scannable objects with stable scan ids to be scanned.

Parameters:

Name Type Description
CandidateObject UObject * Object currently placed on the scanner.

Returns:

True when the object is scannable and has a valid scannable id.

TryUsePlacedObject

bool AAndromedaScannerWorkstation::TryUsePlacedObject(UObject *Object) override

Loads or records scan result and shows it on screen.

Existing station databank records are reused; otherwise a new result is built and recorded.

Parameters:

Name Type Description
Object UObject * Single usable placed object.

Returns:

True when scan result was shown.

HandlePlacementCommitted

void AAndromedaScannerWorkstation::HandlePlacementCommitted(AActor *PlacedActor, const FTransform &PlacedTransform) override

Refreshes scanner screen, then lets the base workstation broadcast capability state.

Parameters:

Name Type Description
PlacedActor AActor *
PlacedTransform const FTransform &

GetScannerScreenWidget

UAndromedaScannerScreenWidget * AAndromedaScannerWorkstation::GetScannerScreenWidget() const

Returns the screen component's widget cast to scanner screen type.

Returns:

Scanner screen widget, or nullptr when missing or of the wrong type.

RefreshScannerScreenFromSpatialPlacement

void AAndromedaScannerWorkstation::RefreshScannerScreenFromSpatialPlacement()

Shows ready or idle state based on current placement.

ShowScannerIdle

void AAndromedaScannerWorkstation::ShowScannerIdle()

Shows scanner idle UI.

ShowScannerItemReady

void AAndromedaScannerWorkstation::ShowScannerItemReady()

Shows scanner item-ready UI.

ShowScanResultOnScreen

void AAndromedaScannerWorkstation::ShowScanResultOnScreen(const FAndromedaScanResult &ScanResult)

Shows scan result UI.

Parameters:

Name Type Description
ScanResult const FAndromedaScanResult & Result to display.