Skip to content

IAndromedaCarryableInterface

Kind: class Source: Source/Andromeda/Capabilities/AndromedaCarryableInterface.h

Public Static Methods

Member Type Summary
IsCarryable bool Returns whether an object implements the physical carry capability contract.

Public Methods

Member Type Summary
CanBeCarried bool Reports whether this object can enter carried state for the supplied pawn.
SetCarriedPhysicalState void Applies attachment and non-world physical state after pickup succeeds.
SetReleasedPhysicalState void Applies release transform and world physical state when the carry component releases the object.
GetPlacementPreviewMesh UStaticMesh * Returns the static mesh assigned to the runtime placement ghost.
GetPlacementPreviewMaterial UMaterialInterface * Returns the source material used when placement mode has no state-specific override.
GetPlacementBoundsExtent FVector Returns local, already-scaled half extents for placement offset and overlap tests.
GetPlacementCollisionObjectType TOptional< ECollisionChannel > Returns the collision channel used by placement overlap checks.
GetPlacementIgnoredActor AActor * Returns the actor ignored during placement traces and overlap checks.
GetCurrentPlacementTransform FTransform Returns the transform that seeds the placement preview rotation and scale.

Members

IsCarryable

static bool IAndromedaCarryableInterface::IsCarryable(const UObject *Object)

Returns whether an object implements the physical carry capability contract.

Parameters:

Name Type Description
Object const UObject * Object to inspect.

Returns:

True when Object is non-null and implements UAndromedaCarryableInterface.

CanBeCarried

bool IAndromedaCarryableInterface::CanBeCarried(APawn *CarryingPawn) const

Reports whether this object can enter carried state for the supplied pawn.

This gates pickup/entry into carried state only. Once the object is already held, release and placement are governed by environment/spatial validation rather than asking the object whether it can be placed.

Parameters:

Name Type Description
CarryingPawn APawn * Pawn requesting carried state.

Returns:

True when the carry component may attach this object.

SetCarriedPhysicalState

void IAndromedaCarryableInterface::SetCarriedPhysicalState(USceneComponent *HoldParent, const FVector &RelativeLocation, const FRotator &RelativeRotation)

Applies attachment and non-world physical state after pickup succeeds.

Implementations usually attach to HoldParent, apply the relative transform, and disable collision or physics that would fight the carried state.

Parameters:

Name Type Description
HoldParent USceneComponent * Component that should own the carried attachment.
RelativeLocation const FVector & Location offset applied relative to HoldParent.
RelativeRotation const FRotator & Rotation offset applied relative to HoldParent.

SetReleasedPhysicalState

void IAndromedaCarryableInterface::SetReleasedPhysicalState(const FTransform &TargetTransform, bool bSimulatePhysics)

Applies release transform and world physical state when the carry component releases the object.

Implementations should detach, move to TargetTransform, restore collision, and enable or disable physics according to bSimulatePhysics.

Parameters:

Name Type Description
TargetTransform const FTransform & World transform where the object should be released.
bSimulatePhysics bool Whether physics simulation should be enabled after release.

GetPlacementPreviewMesh

UStaticMesh * IAndromedaCarryableInterface::GetPlacementPreviewMesh() const

Returns the static mesh assigned to the runtime placement ghost.

Returns:

Mesh to preview, or nullptr when the object has no preview mesh.

GetPlacementPreviewMaterial

UMaterialInterface * IAndromedaCarryableInterface::GetPlacementPreviewMaterial(int32 MaterialIndex) const

Returns the source material used when placement mode has no state-specific override.

Parameters:

Name Type Description
MaterialIndex int32 Material slot requested by the preview ghost.

Returns:

Material for the slot, or nullptr to leave the slot unchanged.

GetPlacementBoundsExtent

FVector IAndromedaCarryableInterface::GetPlacementBoundsExtent() const

Returns local, already-scaled half extents for placement offset and overlap tests.

Returns:

Placement bounds half extents in local space after scale is applied.

GetPlacementCollisionObjectType

virtual TOptional< ECollisionChannel > IAndromedaCarryableInterface::GetPlacementCollisionObjectType() const =0

Returns the collision channel used by placement overlap checks.

Returns:

Collision channel when the object can provide one, or unset when placement collision data is unavailable.

GetPlacementIgnoredActor

AActor * IAndromedaCarryableInterface::GetPlacementIgnoredActor() const

Returns the actor ignored during placement traces and overlap checks.

Actor-backed carryables usually return themselves.

Returns:

Actor to ignore, or nullptr when no actor should be ignored.

GetCurrentPlacementTransform

FTransform IAndromedaCarryableInterface::GetCurrentPlacementTransform() const

Returns the transform that seeds the placement preview rotation and scale.

Returns:

Current transform used as the baseline for preview computation.