33 virtual
void BeginPlay() override;
34 virtual
void EndPlay(const EEndPlayReason::Type EndPlayReason) override;
36 UPROPERTY(Replicated, ReplicatedUsing = OnRep_AttachmentReplication)
39 virtual
void GatherCurrentMovement() override;
41 UPROPERTY(EditAnywhere, Replicated, BlueprintReadOnly, Instanced, Category = "VRGripInterface")
47 UPROPERTY(EditAnywhere, Replicated, BlueprintReadWrite, Category = "VRGripInterface")
48 bool bReplicateGripScripts;
50 bool ReplicateSubobjects(UActorChannel* Channel, class FOutBunch *Bunch, FReplicationFlags *RepFlags) override;
51 virtual
void GetSubobjectsWithStableNamesForNetworking(TArray<
UObject*>& ObjList) override;
54 UFUNCTION(BlueprintCallable, Category = "VRGripInterface")
55 void SetDenyGripping(
bool bDenyGripping);
58 UFUNCTION(BlueprintCallable, Category = "VRGripInterface")
59 void SetGripPriority(
int NewGripPriority);
63 UPROPERTY(BlueprintAssignable, Category = "Grip Events")
64 FVROnGripSignature OnGripped;
68 UPROPERTY(BlueprintAssignable, Category = "Grip Events")
69 FVROnDropSignature OnDropped;
73 UPROPERTY(BlueprintAssignable, Category = "Grip Events")
74 FVROnGripSignature OnSecondaryGripAdded;
78 UPROPERTY(BlueprintAssignable, Category = "Grip Events")
79 FVROnGripSignature OnSecondaryGripRemoved;
85 UPROPERTY(EditAnywhere, Replicated, BlueprintReadWrite, Category = "Replication")
89 UFUNCTION(BlueprintCallable, Category = "Networking")
90 bool AddToClientReplicationBucket();
93 UFUNCTION(BlueprintCallable, Category = "Networking")
94 bool RemoveFromClientReplicationBucket();
97 bool PollReplicationEvent();
99 UFUNCTION(Category = "Networking")
100 void CeaseReplicationBlocking();
103 UFUNCTION(Reliable, Server, WithValidation, Category = "Networking")
104 void Server_EndClientAuthReplication();
107 UFUNCTION(UnReliable, Server, WithValidation, Category = "Networking")
108 void Server_GetClientAuthReplication(const
FRepMovementVR & newMovement);
111 UFUNCTION(BlueprintPure, Category = "Networking")
112 FORCEINLINE
bool IsCurrentlyClientAuthThrowing()
124 virtual void GetOwnedGameplayTags(FGameplayTagContainer& TagContainer)
const override
126 TagContainer = GameplayTags;
130 UPROPERTY(EditAnywhere, Replicated, BlueprintReadWrite, Category =
"GameplayTags")
131 FGameplayTagContainer GameplayTags;
135 virtual
void PreReplication(IRepChangedPropertyTracker & ChangedPropertyTracker) override;
138 UPROPERTY(EditAnywhere, Replicated, BlueprintReadWrite, Category = "Replication")
139 bool bAllowIgnoringAttachOnOwner;
142 inline
bool ShouldWeSkipAttachmentReplication(
bool bConsiderHeld = true)
const
144 if ((bConsiderHeld && !VRGripInterfaceSettings.bWasHeld) || GetNetMode() < ENetMode::NM_Client)
150 return HasLocalNetOwner();
157 virtual void OnRep_AttachmentReplication()
override;
158 virtual void OnRep_ReplicateMovement()
override;
159 virtual void OnRep_ReplicatedMovement()
override;
160 virtual void PostNetReceivePhysicState()
override;
171 virtual void MarkComponentsAsPendingKill()
override;
175 virtual void PreDestroyFromReplication()
override;
178 virtual void BeginDestroy()
override;
180 UPROPERTY(EditAnywhere, Replicated, BlueprintReadWrite, Category =
"VRGripInterface")
181 bool bRepGripSettingsAndGameplayTags;
183 UPROPERTY(EditAnywhere, Replicated, BlueprintReadWrite, Category = "VRGripInterface")
194 virtual
bool SimulateOnDrop_Implementation() override;
209 virtual
void GetGripStiffnessAndDamping_Implementation(
float& GripStiffnessOut,
float& GripDampingOut) override;
215 virtual
float GripBreakDistance_Implementation() override;
218 virtual
void ClosestGripSlotInRange_Implementation(FVector WorldLocation,
bool bSecondarySlot,
bool& bHadSlotInRange, FTransform& SlotWorldTransform, FName& SlotName,
UGripMotionControllerComponent* CallingController =
nullptr, FName OverridePrefix = NAME_None) override;
221 virtual
bool AllowsMultipleGrips_Implementation() override;
224 virtual
void IsHeld_Implementation(TArray<
FBPGripPair>& HoldingControllers,
bool& bIsHeld) override;
236 virtual
bool GetGripScripts_Implementation(TArray<
UVRGripScriptBase*>& ArrayReference) override;
264 virtual
void OnUsed_Implementation() override;
267 virtual
void OnEndUsed_Implementation() override;
270 virtual
void OnSecondaryUsed_Implementation() override;
273 virtual
void OnEndSecondaryUsed_Implementation() override;
276 virtual
void OnInput_Implementation(FKey Key, EInputEvent KeyEvent) override;