ULimenInteractableComponent
Overview
ULimenInteractableComponent is a custom component derived from UBoxComponent. It manages interaction events such as hover, start, and stop. The component also handles replication of interaction parameters to ensure consistency across networked clients.
Properties
Type | Name | Access | Description |
|---|---|---|---|
TObjectPtr | Controller | Public | The controller initiating the interaction. |
TObjectPtr | Pawn | Public | The pawn interacting with the component. |
bool | bIsBeingInteracted | Public | Indicates if an interaction is currently active. |
FGuid | ReplicatedGuid | Private, Replicated | A unique identifier for the interactable component. |
TOptional | CachedCollisionResponse | Private | Stores cached collision response settings. |
TOptionalECollisionEnabled::Type | CachedCollisionEnabledType | Private | Stores cached collision enabled state. |
FInteractionParams | InteractionParams | Private, ReplicatedUsing=OnRep_IsBeingInteracted | Parameters related to the current interaction. |
Functions
Return Type | Signature | Description |
|---|---|---|
void | GetLifetimeReplicatedProps(TArray & OutLifetimeProps) const | Registers properties for replication. |
void | InitializeComponent() override | Initializes component settings and sets up collision properties. |
void | Activate(bool bReset = false) override | Activates the component, caching current collision settings. |
void | Deactivate() override | Deactivates the component, resetting collision settings. |
void | Interact(AController* InController, APawn* InPawn) | Handles the start of an interaction. |
void | StopInteraction(AController* InController, APawn* InPawn) | Handles the end of an interaction. |
void | NotifyHover(AController* Controller, APawn* Pawn) | Broadcasts hover start event. |
void | NotifyUnHover(AController* Controller, APawn* Pawn) | Broadcasts hover end event. |
bool | AllowPhysicsInteraction() const | Determines if physics-based interactions are allowed (always returns false). |
bool | IsBeingInteracted() const | Checks if an interaction is currently active. |
const FGuid& | GetReplicatedGuid() const | Returns the unique identifier of the interactable component. |
Usage & Implementation Notes
The component uses replication to ensure that interaction parameters are consistent across networked clients.
Collision settings are cached and restored when activating or deactivating the component.
Interaction events are broadcast using multicast delegates for easy integration with other systems.