Skip to content

AAndromedaStation

Kind: class Source: Source/Andromeda/Station/AndromedaStation.h Base classes: AActor

Details

Station actor that owns scan memory and pawn access tracking for recall and placement context.

Protected Properties

Member Type Summary
RootSceneComponent TObjectPtr< USceneComponent > Simple scene root for station-level transforms.
StationDatabankComponent TObjectPtr< UAndromedaStationDatabankComponent > Owns scan record storage for this station.
StationAccessComponent TObjectPtr< USphereComponent > Query-only sphere defining station access for pawns and placement bounds.
PawnsInStationAccess TSet< TObjectPtr< APawn > > Pawns currently overlapping the station access volume at actor level.

Public Methods

Member Type Summary
AAndromedaStation function Creates root, databank, and station access sphere components.
GetStationDatabankComponent UAndromedaStationDatabankComponent * Returns the station databank component.
IsPawnInStationAccess bool Returns whether a pawn has an active station access overlap count.
IsWorldLocationInStationAccess bool Returns whether a world location is inside the native station access sphere.
RefreshPawnStationAccess void Rechecks current overlap state and broadcasts enter or exit changes when needed.

Protected Methods

Member Type Summary
BeginPlay void Registers with station events and binds station access overlap delegates.
EndPlay void Announces active exits, unregisters from station events, and clears access state.
BindStationAccessComponent void Adds overlap handlers and seeds access state from pawns already overlapping the sphere.
UnbindStationAccessComponent void Removes handlers and resets access state.
BroadcastActivePawnExitEvents void Broadcasts exit events for pawns still tracked when this station leaves play.
HandleStationAccessBeginOverlap void Refreshes actor-level pawn access after a station access begin-overlap event.
HandleStationAccessEndOverlap void Refreshes actor-level pawn access after a station access end-overlap event.

Members

RootSceneComponent

TObjectPtr< USceneComponent > RootSceneComponent

Simple scene root for station-level transforms.

StationDatabankComponent

TObjectPtr< UAndromedaStationDatabankComponent > StationDatabankComponent

Owns scan record storage for this station.

StationAccessComponent

TObjectPtr< USphereComponent > StationAccessComponent

Query-only sphere defining station access for pawns and placement bounds.

PawnsInStationAccess

TSet< TObjectPtr< APawn > > PawnsInStationAccess

Pawns currently overlapping the station access volume at actor level.

AAndromedaStation

AAndromedaStation::AAndromedaStation()

Creates root, databank, and station access sphere components.

GetStationDatabankComponent

UAndromedaStationDatabankComponent * AAndromedaStation::GetStationDatabankComponent() const

Returns the station databank component.

Returns:

Databank component owned by this station.

IsPawnInStationAccess

bool AAndromedaStation::IsPawnInStationAccess(APawn *Pawn) const

Returns whether a pawn has an active station access overlap count.

Parameters:

Name Type Description
Pawn APawn * Pawn to query.

Returns:

True when Pawn is currently inside station access.

IsWorldLocationInStationAccess

bool AAndromedaStation::IsWorldLocationInStationAccess(const FVector &WorldLocation) const

Returns whether a world location is inside the native station access sphere.

Placement mode uses this as the station-access boundary for freeform placement.

Parameters:

Name Type Description
WorldLocation const FVector & Location to test.

Returns:

True when WorldLocation is inside station access.

RefreshPawnStationAccess

void AAndromedaStation::RefreshPawnStationAccess(APawn *Pawn)

Rechecks current overlap state and broadcasts enter or exit changes when needed.

This is used by late subscribers such as the HUD so existing overlaps are reflected without waiting for a new overlap event.

Parameters:

Name Type Description
Pawn APawn * Pawn whose access state should be refreshed.

BeginPlay

void AAndromedaStation::BeginPlay() override

Registers with station events and binds station access overlap delegates.

EndPlay

void AAndromedaStation::EndPlay(const EEndPlayReason::Type EndPlayReason) override

Announces active exits, unregisters from station events, and clears access state.

Parameters:

Name Type Description
EndPlayReason const EEndPlayReason::Type

BindStationAccessComponent

void AAndromedaStation::BindStationAccessComponent()

Adds overlap handlers and seeds access state from pawns already overlapping the sphere.

UnbindStationAccessComponent

void AAndromedaStation::UnbindStationAccessComponent()

Removes handlers and resets access state.

BroadcastActivePawnExitEvents

void AAndromedaStation::BroadcastActivePawnExitEvents()

Broadcasts exit events for pawns still tracked when this station leaves play.

HandleStationAccessBeginOverlap

void AAndromedaStation::HandleStationAccessBeginOverlap(UPrimitiveComponent *OverlappedComponent, AActor *OtherActor, UPrimitiveComponent *OtherComp, int32 OtherBodyIndex, bool bFromSweep, const FHitResult &SweepResult)

Refreshes actor-level pawn access after a station access begin-overlap event.

Parameters:

Name Type Description
OverlappedComponent UPrimitiveComponent * Station access component that received the overlap.
OtherActor AActor * Actor entering access; only APawn actors are tracked.
OtherComp UPrimitiveComponent * Other actor component involved in the overlap.
OtherBodyIndex int32 Other component body index.
bFromSweep bool Whether the overlap came from a sweep.
SweepResult const FHitResult & Sweep hit data.

HandleStationAccessEndOverlap

void AAndromedaStation::HandleStationAccessEndOverlap(UPrimitiveComponent *OverlappedComponent, AActor *OtherActor, UPrimitiveComponent *OtherComp, int32 OtherBodyIndex)

Refreshes actor-level pawn access after a station access end-overlap event.

Parameters:

Name Type Description
OverlappedComponent UPrimitiveComponent * Station access component that ended the overlap.
OtherActor AActor * Actor leaving access; only tracked APawn actors are processed.
OtherComp UPrimitiveComponent * Other actor component involved in the overlap.
OtherBodyIndex int32 Other component body index.