59 UPROPERTY(Replicated, ReplicatedUsing = OnRep_AttachmentReplication)
62 virtual void GatherCurrentMovement()
override;
64 UPROPERTY(EditAnywhere, Replicated, BlueprintReadOnly, Instanced, Category =
"VRGripInterface")
70 UPROPERTY(EditAnywhere, Replicated, BlueprintReadWrite, Category = "VRGripInterface")
71 bool bReplicateGripScripts;
73 bool ReplicateSubobjects(UActorChannel* Channel, class FOutBunch *Bunch, FReplicationFlags *RepFlags) override;
74 virtual
void GetSubobjectsWithStableNamesForNetworking(TArray<
UObject*>& ObjList) override;
77 UFUNCTION(BlueprintCallable, Category = "VRGripInterface")
78 void SetDenyGripping(
bool bDenyGripping);
81 UFUNCTION(BlueprintCallable, Category = "VRGripInterface")
82 void SetGripPriority(
int NewGripPriority);
86 UPROPERTY(BlueprintAssignable, Category = "Grip Events")
87 FVROnGripSignature OnGripped;
91 UPROPERTY(BlueprintAssignable, Category = "Grip Events")
92 FVROnDropSignature OnDropped;
96 UPROPERTY(BlueprintAssignable, Category = "Grip Events")
97 FVROnGripSignature OnSecondaryGripAdded;
101 UPROPERTY(BlueprintAssignable, Category = "Grip Events")
102 FVROnGripSignature OnSecondaryGripRemoved;
109 UPROPERTY(EditAnywhere, Replicated, BlueprintReadWrite, Category = "Replication")
113 UFUNCTION(BlueprintCallable, Category = "Networking")
114 bool AddToClientReplicationBucket();
117 UFUNCTION(BlueprintCallable, Category = "Networking")
118 bool RemoveFromClientReplicationBucket();
122 bool PollReplicationEvent();
124 UFUNCTION(Category = "Networking")
125 void CeaseReplicationBlocking();
128 UFUNCTION(Reliable, Server, WithValidation, Category = "Networking")
129 void Server_EndClientAuthReplication();
132 UFUNCTION(UnReliable, Server, WithValidation, Category = "Networking")
133 void Server_GetClientAuthReplication(const
FRepMovementVR & newMovement);
136 UFUNCTION(BlueprintPure, Category = "Networking")
137 FORCEINLINE
bool IsCurrentlyClientAuthThrowing()
150 virtual void GetOwnedGameplayTags(FGameplayTagContainer& TagContainer)
const override
152 TagContainer = GameplayTags;
156 UPROPERTY(EditAnywhere, Replicated, BlueprintReadWrite, Category =
"GameplayTags")
157 FGameplayTagContainer GameplayTags;
161 virtual
void PreReplication(IRepChangedPropertyTracker & ChangedPropertyTracker) override;
164 UPROPERTY(EditAnywhere, Replicated, BlueprintReadWrite, Category = "Replication")
165 bool bAllowIgnoringAttachOnOwner;
168 inline
bool ShouldWeSkipAttachmentReplication(
bool bConsiderHeld = true)
const
170 if((bConsiderHeld && !VRGripInterfaceSettings.bWasHeld) || GetNetMode() < ENetMode::NM_Client)
176 return HasLocalNetOwner();
183 virtual void OnRep_AttachmentReplication()
override;
184 virtual void OnRep_ReplicateMovement()
override;
185 virtual void OnRep_ReplicatedMovement()
override;
186 virtual void PostNetReceivePhysicState()
override;
197 virtual void MarkComponentsAsPendingKill()
override;
201 virtual void PreDestroyFromReplication()
override;
204 virtual void BeginDestroy()
override;
206 UPROPERTY(EditAnywhere, Replicated, BlueprintReadWrite, Category =
"VRGripInterface")
207 bool bRepGripSettingsAndGameplayTags;
209 UPROPERTY(EditAnywhere, Replicated, BlueprintReadWrite, Category = "VRGripInterface")
220 virtual
bool SimulateOnDrop_Implementation() override;
235 virtual
void GetGripStiffnessAndDamping_Implementation(
float& GripStiffnessOut,
float& GripDampingOut) override;
241 virtual
float GripBreakDistance_Implementation() override;
244 virtual
void ClosestGripSlotInRange_Implementation(FVector WorldLocation,
bool bSecondarySlot,
bool& bHadSlotInRange, FTransform& SlotWorldTransform, FName& SlotName,
UGripMotionControllerComponent* CallingController =
nullptr, FName OverridePrefix = NAME_None) override;
247 virtual
bool AllowsMultipleGrips_Implementation() override;
250 virtual
void IsHeld_Implementation(TArray<
FBPGripPair>& HoldingControllers,
bool& bIsHeld) override;
262 virtual
bool GetGripScripts_Implementation(TArray<
UVRGripScriptBase*>& ArrayReference) override;
290 virtual
void OnUsed_Implementation() override;
293 virtual
void OnEndUsed_Implementation() override;
296 virtual
void OnSecondaryUsed_Implementation() override;
299 virtual
void OnEndSecondaryUsed_Implementation() override;
302 virtual
void OnInput_Implementation(FKey Key, EInputEvent KeyEvent) override;