v1.2.26 |
Documentation for the Unreal C++ Plugin
|
We have several interactable objects, each with its own purpose.
ABaseStoryActor is a actor that allows you to create objects that will have different functionality depending on story progress in UStoryManager. You should fill ActiveSteps and ActiveSubSteps in UStoryComponent of this actor. Then every time UStoryManager changes step your actor will fire ObjectActivated, ObjectDeactivated or StepSkipped depending on the done action. It also contains functionality for hints and highlight.
ABaseGrippableStoryActor has same functionality like ABaseStoryActor, but it can be gripped and has settings for gripping. Also by default you can't grip this object if it is not active in current step.
ABaseGrippableStoryVolume is a class derived from ABaseGrippableStoryActor with an invisible volume that we can grip in order to perform an action. For example, if there is a dispenser with a handle and we need to grip it, but handle is a part of the mesh. So we add ABaseGrippableStoryVolume as a child actor and place it on position where is handle, then we bind the grip event to some function in our dispenser. So when the user grip the handle (our grippable volume), the function in the parent will be triggered, for example, the animation of the handle movement plays and the door opens.
AInteractionButton is a class that allows you to add button to your scene. Button will be triggered when you overlap it with your hand. You can bind functionality to ButtonPressedDelegate or ButtonReleasedDelegate.
AInteractionLever is a class that allows you to add lever to your scene. You can change settings like max and min angle in Lever component. Also you can bind functionality to OnLeverStateChanged that located in Lever.
AInteractionValve is a class that allows you to add valve to your scene. You can change settings like max and min angle in Valve component. Also you can bind functionality to OnValveActivated that will be triggered once Valve->CurrentDialAngle will be equal ActivateAngle. You can see a good implementation of the valves in CE_Pigging.