4#include "CoreMinimal.h"
5#include "UObject/ObjectMacros.h"
6#include "UObject/ScriptMacros.h"
9#include "UObject/Interface.h"
11#include "VRGripInterface.generated.h"
16UINTERFACE(Blueprintable)
19 GENERATED_UINTERFACE_BODY()
31 GENERATED_IINTERFACE_BODY()
36 UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "VRGripInterface", meta = (
DisplayName = "IsDenyingGrips"))
40 UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "VRGripInterface")
44 UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "VRGripInterface")
45 bool SimulateOnDrop();
48 UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "VRGripInterface")
52 UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "VRGripInterface")
56 UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "VRGripInterface")
60 UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "VRGripInterface")
64 UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "VRGripInterface")
65 void GetGripStiffnessAndDamping(
float &GripStiffnessOut,
float &GripDampingOut);
68 UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "VRGripInterface")
72 UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "VRGripInterface")
73 float GripBreakDistance();
82 UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "VRGripInterface")
83 void ClosestGripSlotInRange(FVector WorldLocation,
bool bSecondarySlot,
bool & bHadSlotInRange, FTransform & SlotWorldTransform, FName & SlotName,
UGripMotionControllerComponent * CallingController =
nullptr, FName OverridePrefix = NAME_None);
88 UFUNCTION(BlueprintNativeEvent, Category = "VRGripInterface")
92 UFUNCTION(BlueprintNativeEvent, Category = "VRGripInterface")
96 UFUNCTION(BlueprintNativeEvent, Category = "VRGripInterface")
102 UFUNCTION(BlueprintNativeEvent, Category = "VRGripInterface")
106 UFUNCTION(BlueprintNativeEvent, Category = "VRGripInterface")
110 UFUNCTION(BlueprintNativeEvent, Category = "VRGripInterface")
114 UFUNCTION(BlueprintNativeEvent, Category = "VRGripInterface")
120 UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "VRGripInterface")
124 UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "VRGripInterface")
128 UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "VRGripInterface")
129 void OnSecondaryUsed();
132 UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "VRGripInterface")
133 void OnEndSecondaryUsed();
136 UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "VRGripInterface")
137 void OnInput(FKey Key, EInputEvent KeyEvent);
140 UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "VRGripInterface")
141 bool AllowsMultipleGrips();
144 UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "VRGripInterface")
145 void IsHeld(TArray<
FBPGripPair> & HoldingControllers,
bool & bIsHeld);
148 UFUNCTION(BlueprintNativeEvent, Category = "VRGripInterface")
152 UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "VRGripInterface")
156 UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "VRGripInterface")
EGripMovementReplicationSettings
UENUM(Blueprintable)
ESecondaryGripType
UENUM(Blueprintable)
EGripCollisionType
UENUM(Blueprintable)
EGripLateUpdateSettings
UENUM(Blueprintable)
EGripInterfaceTeleportBehavior
UENUM(Blueprintable)
DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FVROnGripSignature, UGripMotionControllerComponent *, GrippingController, const FBPActorGripInformation &, GripInformation)
DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FVROnDropSignature, UGripMotionControllerComponent *, GrippingController, const FBPActorGripInformation &, GripInformation, bool, bWasSocketed)
void OnGripRelease(UGripMotionControllerComponent *ReleasingController, const FBPActorGripInformation &GripInformation, bool bWasSocketed=false)
UFUNCTION(BlueprintNativeEvent, Category = "VRGripInterface")
bool AllowsMultipleGrips()
UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "VRGripInterface")
ESecondaryGripType SecondaryGripType()
UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "VRGripInterface")
GENERATED_IINTERFACE_BODY()
bool SimulateOnDrop()
UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "VRGripInterface")
void OnUsed()
UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "VRGripInterface")
void OnChildGrip(UGripMotionControllerComponent *GrippingController, const FBPActorGripInformation &GripInformation)
UFUNCTION(BlueprintNativeEvent, Category = "VRGripInterface")
void OnEndSecondaryUsed()
UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "VRGripInterface")
void TickGrip(UGripMotionControllerComponent *GrippingController, const FBPActorGripInformation &GripInformation, float DeltaTime)
UFUNCTION(BlueprintNativeEvent, Category = "VRGripInterface")
EGripMovementReplicationSettings GripMovementReplicationType()
UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "VRGripInterface")
void OnSecondaryUsed()
UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "VRGripInterface")
EGripInterfaceTeleportBehavior TeleportBehavior()
UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "VRGripInterface")
void OnSecondaryGripRelease(UGripMotionControllerComponent *GripOwningController, USceneComponent *ReleasingSecondaryGripComponent, const FBPActorGripInformation &GripInformation)
UFUNCTION(BlueprintNativeEvent, Category = "VRGripInterface")
bool RequestsSocketing(USceneComponent *&ParentToSocketTo, FName &OptionalSocketName, FTransform_NetQuantize &RelativeTransform)
UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "VRGripInterface")
void IsHeld(TArray< FBPGripPair > &HoldingControllers, bool &bIsHeld)
UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "VRGripInterface")
void OnInput(FKey Key, EInputEvent KeyEvent)
UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "VRGripInterface")
void GetGripStiffnessAndDamping(float &GripStiffnessOut, float &GripDampingOut)
UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "VRGripInterface")
bool GetGripScripts(TArray< UVRGripScriptBase * > &ArrayReference)
UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "VRGripInterface")
void ClosestGripSlotInRange(FVector WorldLocation, bool bSecondarySlot, bool &bHadSlotInRange, FTransform &SlotWorldTransform, FName &SlotName, UGripMotionControllerComponent *CallingController=nullptr, FName OverridePrefix=NAME_None)
UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "VRGripInterface")
bool DenyGripping(UGripMotionControllerComponent *GripInitiator=nullptr)
UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "VRGripInterface", meta = (DisplayName ...
FBPAdvGripSettings AdvancedGripSettings()
UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "VRGripInterface")
void OnGrip(UGripMotionControllerComponent *GrippingController, const FBPActorGripInformation &GripInformation)
UFUNCTION(BlueprintNativeEvent, Category = "VRGripInterface")
EGripLateUpdateSettings GripLateUpdateSetting()
UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "VRGripInterface")
void OnEndUsed()
UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "VRGripInterface")
void OnChildGripRelease(UGripMotionControllerComponent *ReleasingController, const FBPActorGripInformation &GripInformation, bool bWasSocketed=false)
UFUNCTION(BlueprintNativeEvent, Category = "VRGripInterface")
EGripCollisionType GetPrimaryGripType(bool bIsSlot)
UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "VRGripInterface")
float GripBreakDistance()
UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "VRGripInterface")
void OnSecondaryGrip(UGripMotionControllerComponent *GripOwningController, USceneComponent *SecondaryGripComponent, const FBPActorGripInformation &GripInformation)
UFUNCTION(BlueprintNativeEvent, Category = "VRGripInterface")
void SetHeld(UGripMotionControllerComponent *HoldingController, uint8 GripID, bool bIsHeld)
UFUNCTION(BlueprintNativeEvent, Category = "VRGripInterface")
UCLASS(Blueprintable, meta = (BlueprintSpawnableComponent), ClassGroup = MotionController)
UINTERFACE(Blueprintable)
GENERATED_UINTERFACE_BODY()
UCLASS(NotBlueprintable, BlueprintType, EditInlineNew, DefaultToInstanced, Abstract,...
USTRUCT(BlueprintType, Category = "VRExpansionLibrary")
USTRUCT(BlueprintType, Category = "VRExpansionLibrary")