|
void | ActionPerform (float value, EActionTrigger reason) |
| Callback for caching the key press.
|
|
void | ActionScroll (float value, EActionTrigger reason) |
|
override void | OnInit (IEntity owner) |
| Called on initialization.
|
|
override array< IEntity > | GetManualOverrideList (IEntity owner, out vector referencePoint) |
| Callback whem manual collection override is enabled.
|
|
float | GetRaycastThreshold () |
|
Public Member Functions inherited from ExtBaseInteractionHandlerComponent |
proto external UserActionContext | GetCurrentContext () |
| Returns currently gathered (active-preferred) context or null if none.
|
|
proto external IEntity | GetControlledEntity () |
| Returns the controlled entity or null if none.
|
|
proto external int | GetFilteredActions (out notnull array< BaseUserAction > outActions, out notnull array< bool > outCanBePerformed) |
| After collection is done, this method can be used for retrieving already checked user actions from current context.
|
|
proto external bool | IsContextAvailable () |
| Returns true when there is a gathered context available.
|
|
proto external void | SetManualCollectionOverride (bool enabled) |
| If set to true, we expect a list of entities to be provided from the user instead.
|
|
proto external bool | GetManualCollectionOverride () |
| Returns whether manual collection override is set (we expect a list of entities to be provided from the user instead)
|
|
proto external void | SetNearbyCollectionEnabled (bool enabled) |
| Sets whether nearby available context collection should be enabled.
|
|
proto external bool | GetNearbyCollectionEnabled () |
| Returns whether nearby available context collection is enabled.
|
|
proto external float | GetNearbyCollectionRadius () |
| Returns the radius in meters that is used for nearby available context collection.
|
|
proto external int | GetNearbyAvailableContextList (out notnull array< UserActionContext > outContexts) |
| If nearby collection is enabled, fills the provided array with collected contexts nearby.
|
|
proto external int | GetNearbyShowableContextList (out notnull array< UserActionContext > outContexts) |
| If nearby collection is enabled, fills the provided array with collected contexts nearby.
|
|
proto external int | GetNearbyUnavailableContextList (out notnull array< UserActionContext > outContexts) |
| If nearby collection is enabled, fills the provided array with collected contexts nearby.
|
|
proto external vector | GetLastReferencePoint (float timeSlice) |
| The last known interaction reference point.
|
|
Public Member Functions inherited from BaseInteractionHandlerComponent |
proto external bool | IsInteractionAvailable () |
| Returns true if any interaction can be done at given moment, i.e. UI should be shown.
|
|
proto external BaseUserAction | GetSelectedAction () |
| Return currently selected user action or null if none.
|
|
proto external float | GetVisibilityRange () |
| Returns the global actions visibility range value defined by attribute in this component.
|
|
void | OnInit (IEntity owner) |
| Called on initialization.
|
|
void | OnFrame (IEntity owner, float timeSlice) |
| Called every frame, only for local player controller.
|
|
void | OnAfterPostSimulate (IEntity owner, float timeSlice) |
| Called after post simulate, only for local player controller.
|
|
bool | OnTicksOnRemoteProxy () |
|
|
void | RegisterActionListeners () |
| Action listeners that are meant to be registered once per user and only for the user who is the owner of this controller.
|
|
void | RemoveActionListeners () |
|
override void | OnControlledEntityChanged (IEntity from, IEntity to) |
| Method called when player takes controll over an entity.
|
|
SCR_BaseInteractionDisplay | FindDisplay (IEntity owner) |
|
void | DoProcessInteraction (ChimeraCharacter user, UserActionContext context, BaseUserAction action, bool canPerform, bool performInput, float timeSlice, SCR_BaseInteractionDisplay display) |
| Checks input, compares it to previous states and evaluates what the handler should do next.
|
|
override bool | GetCanInteractScript (IEntity controlledEntity) |
| Are we allowed to start collecting and processing interactions? Implement custom logic and return true if yes, false otherwise.
|
|
override bool | GetIsInteractionAvailableScript () |
| Are any user actions available to interact with? Implement and return true if yes, false otherwise.
|
|
override BaseUserAction | GetSelectedActionScript () |
| Currently sected action or null if none.
|
|
override bool | DoIntersectCheck (IEntity controlledEntity) |
| Should preferred context collection use intersect checks? This will make a ray check against the context's radius.
|
|
override void | OnContextChanged (UserActionContext previousContext, UserActionContext newContext) |
| Event called when InteractionHandlerComponent finds new target UserActionContext and a change occurs.
|
|
override bool | CanContextChange (UserActionContext currentContext, UserActionContext newContext) |
| Called before a context is set to determine whether a change can occur.
|
|
bool | IsFreelookEnabled (ChimeraCharacter character) |
| display mode is set to automatic freelook mode.
|
|
bool | ShouldBeEnabled (SCR_NearbyContextDisplayMode displayMode, ChimeraCharacter character, bool playerCameraOnly=true) |
|
void | HandleOverride (notnull ChimeraCharacter character) |
| Check if the player is inside a vehicle or is inspecting something and enable/disable ManualCollectionOverride for the nearby contexts based on it.
|
|
bool | HandleVehicle (notnull ChimeraCharacter character) |
| Check is player is inside a vehicle and grab all the compartments of that vehicle.
|
|
bool | HandleInspection (notnull ChimeraCharacter character) |
| Check if player is inspecting something (weapon, item, etc) and grab the contexts from it.
|
|
override void | OnPostFrame (IEntity owner, IEntity controlledEntity, float timeSlice) |
| Called once per frame after simulation.
|
|
void | AggregateActions (array< BaseUserAction > actionsList, array< bool > canPerformList) |
| Modifies the input lists (which need to be 1:1 in length and logical sense) so each action which can be aggregated (BaseUserAction.CanAggregate() returns true) only displays the first available (or any first if none is available to perform) action, filtered by BaseUserAction.GetActionName().
|
|
override bool | CanContextChange (UserActionContext currentContext, UserActionContext newContext) |
| Called before a context is set to determine whether a change can occur.
|
|
override bool | DoIntersectCheck (IEntity controlledEntity) |
| Should preferred context collection use intersect checks? This will make a ray check against the context's radius.
|
|
override bool | GetIsInteractionAvailableScript () |
| Are any user actions available to interact with? Implement and return true if yes, false otherwise.
|
|
override bool | GetCanInteractScript (IEntity controlledEntity) |
| Are we allowed to start collecting and processing interactions? Implement custom logic and return true if yes, false otherwise.
|
|
override BaseUserAction | GetSelectedActionScript () |
| Currently sected action or null if none.
|
|
Protected Member Functions inherited from ExtBaseInteractionHandlerComponent |
proto external void | SetSelectedAction (BaseUserAction action) |
| Sets currently select action.
|
|
void | OnControlledEntityChanged (IEntity from, IEntity to) |
|
void | OnContextChanged (UserActionContext previousContext, UserActionContext newContext) |
| Event called when InteractionHandlerComponent finds new target UserActionContext and a change occurs.
|
|
void | OnPostFrame (IEntity owner, IEntity controlledEntity, float timeSlice) |
| Called once per frame after simulation.
|
|
bool | CanContextChange (UserActionContext currentContext, UserActionContext newContext) |
| Called before a context is set to determine whether a change can occur.
|
|
bool | DoIntersectCheck (IEntity controlledEntity) |
| Should preferred context collection use intersect checks? This will make a ray check against the context's radius.
|
|
bool | GetIsInteractionAvailableScript () |
| Are any user actions available to interact with? Implement and return true if yes, false otherwise.
|
|
bool | GetCanInteractScript (IEntity controlledEntity) |
| Are we allowed to start collecting and processing interactions? Implement custom logic and return true if yes, false otherwise.
|
|
BaseUserAction | GetSelectedActionScript () |
| Currently sected action or null if none.
|
|
array< IEntity > | GetManualOverrideList (IEntity owner, out vector referencePoint) |
| Callback whem manual collection override is enabled.
|
|
This component allows the player to interact with their environment.
It collects UserActionContext from ActionsManagerComponent from surrounding entities via queries, filters and finds the most appropriate one and provides script API to work with them.
It should always be attached to PlayerController entity and is local only.