UAndromedaWorkstationPlacementValidatorComponent¶
Kind: class
Source: Source/Andromeda/Workstation/AndromedaWorkstationPlacementValidatorComponent.h
Base classes: UActorComponent
Details¶
Geometry validator for positive workstation placement volumes and anti-volumes.
Protected Properties¶
| Member | Type | Summary |
|---|---|---|
PlacementVolumeTag |
FName |
Editor-configurable tag for positive placement volumes. |
PlacementAntiVolumeTag |
FName |
Editor-configurable tag for anti-volumes that reject overlap. |
Public Methods¶
| Member | Type | Summary |
|---|---|---|
UAndromedaWorkstationPlacementValidatorComponent |
function |
Disables ticking because validation runs on explicit queries. |
GetPlacementVolumeTag |
FName |
Returns the tag used for positive placement volumes. |
GetPlacementAntiVolumeTag |
FName |
Returns the tag used for anti-volumes. |
IsObjectCorrectlyPlacedAtTransform |
bool |
Tests a candidate object transform against positive and anti-volume geometry. |
GetCorrectlyPlacedObjects |
TArray< UObject * > |
Finds currently placed objects that satisfy workstation geometry. |
ConfigurePlacementQueryVolumes |
void |
Iterates over all the components of the owner and finds out those that are tagged as placement volumes or anti-volumes. |
Private Methods¶
| Member | Type | Summary |
|---|---|---|
GetTaggedPlacementVolumeComponents |
TArray< const UPrimitiveComponent * > |
Collects supported placement volume primitives with the supplied tag. |
FindFirstOverlappingVolumeAtTransform |
const UPrimitiveComponent * |
Runs the pair overlap query and returns the first matching volume. |
ConfigurePlacementQueryVolume |
void |
Applies collision and visibility settings to a validation primitive. |
Members¶
PlacementVolumeTag¶
Editor-configurable tag for positive placement volumes.
PlacementAntiVolumeTag¶
Editor-configurable tag for anti-volumes that reject overlap.
UAndromedaWorkstationPlacementValidatorComponent¶
UAndromedaWorkstationPlacementValidatorComponent::UAndromedaWorkstationPlacementValidatorComponent()
Disables ticking because validation runs on explicit queries.
GetPlacementVolumeTag¶
Returns the tag used for positive placement volumes.
Returns:
Tag identifying positive placement volumes.
GetPlacementAntiVolumeTag¶
Returns the tag used for anti-volumes.
Returns:
Tag identifying anti-volumes that reject overlap.
IsObjectCorrectlyPlacedAtTransform¶
bool UAndromedaWorkstationPlacementValidatorComponent::IsObjectCorrectlyPlacedAtTransform(UObject *Object, const FTransform &ItemTransform) const
Tests a candidate object transform against positive and anti-volume geometry.
Correct placement means the candidate overlaps at least one positive volume and zero anti-volumes.
Parameters:
| Name | Type | Description |
|---|---|---|
Object |
UObject * |
Carryable object to test. |
ItemTransform |
const FTransform & |
Candidate world transform. |
Returns:
True when the candidate is correctly placed for this validator.
GetCorrectlyPlacedObjects¶
TArray< UObject * > UAndromedaWorkstationPlacementValidatorComponent::GetCorrectlyPlacedObjects() const
Finds currently placed objects that satisfy workstation geometry.
Returns:
Unique carryable objects that pass current-transform validation.
ConfigurePlacementQueryVolumes¶
Iterates over all the components of the owner and finds out those that are tagged as placement volumes or anti-volumes. Then configures tagged primitive components as hidden query-only validation volumes.
GetTaggedPlacementVolumeComponents¶
TArray< const UPrimitiveComponent * > UAndromedaWorkstationPlacementValidatorComponent::GetTaggedPlacementVolumeComponents(FName VolumeTag) const
Collects supported placement volume primitives with the supplied tag.
Parameters:
| Name | Type | Description |
|---|---|---|
VolumeTag |
FName |
Tag used to select validation volumes. |
Returns:
Owner primitives tagged with VolumeTag.
FindFirstOverlappingVolumeAtTransform¶
const UPrimitiveComponent * UAndromedaWorkstationPlacementValidatorComponent::FindFirstOverlappingVolumeAtTransform(UObject *Object, const FTransform &ItemTransform, const TArray< const UPrimitiveComponent * > &Volumes) const
Runs the pair overlap query and returns the first matching volume.
Parameters:
| Name | Type | Description |
|---|---|---|
Object |
UObject * |
Carryable object whose bounds and ignored actor drive the query. |
ItemTransform |
const FTransform & |
Candidate world transform. |
Volumes |
const TArray< const UPrimitiveComponent * > & |
Candidate validation volumes to match against. |
Returns:
First overlapping volume from Volumes, or nullptr.
ConfigurePlacementQueryVolume¶
void UAndromedaWorkstationPlacementValidatorComponent::ConfigurePlacementQueryVolume(UPrimitiveComponent *PrimitiveComponent) const
Applies collision and visibility settings to a validation primitive.
Unsupported primitives are ignored. Supported primitives become hidden query-only validation shapes that overlap world static, world dynamic, and physics body channels.
Parameters:
| Name | Type | Description |
|---|---|---|
PrimitiveComponent |
UPrimitiveComponent * |
Component to configure. |