38 virtual
void BeginPlay() override;
39 virtual
void Tick(
float DeltaTime) override;
40 virtual
void SetupPlayerInputComponent(UInputComponent* PlayerInputComponent) override;
41 virtual
void GetLifetimeReplicatedProps(TArray<FLifetimeProperty>& OutLifetimeProps) const override;
42 virtual
void PossessedBy(AController* NewController) override;
44 UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = "PixoVR")
45 float DefaultPlayerHeight;
48 UFUNCTION(BlueprintCallable)
void HandleTeleportLeftPressed();
49 UFUNCTION(BlueprintCallable)
void HandleTeleportLeftReleased();
50 UFUNCTION(BlueprintCallable)
void HandleTeleportRightPressed();
51 UFUNCTION(BlueprintCallable)
void HandleTeleportRightReleased();
53 UFUNCTION(Server, Unreliable, WithValidation)
54 void HandleTeleportLeftUp(
float Value);
56 UFUNCTION(Server, Unreliable, WithValidation)
57 void HandleTeleportLeftRight(
float Value);
59 UFUNCTION(Server, Unreliable, WithValidation)
60 void HandleTeleportRightUp(
float Value);
62 UFUNCTION(Server, Unreliable, WithValidation)
63 void HandleTeleportRightRight(
float Value);
65 virtual
bool CanTeleport() const;
68 void ExecuteTeleportation(EControllerHand Hand);
71 UFUNCTION(BlueprintCallable, Category = "PixoVR")
72 void ActivateTeleporter(EControllerHand Hand,
bool InActivate);
74 UFUNCTION(BlueprintCallable, Server, Reliable, WithValidation, Category = "PixoVR")
75 void NotifyActivateTeleporter(EControllerHand Hand,
bool InActivate);
77 UFUNCTION(BlueprintCallable, NetMulticast, Reliable, Category = "PixoVR")
78 void MulticastActivateTeleporter(EControllerHand Hand,
bool InActivate);
81 void SpawnTeleporter(EControllerHand Hand,
bool InActivate);
83 UPROPERTY(BlueprintReadWrite, Category = "PixoVR")
84 bool bLaserBeamActive;
86 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PixoVR")
87 FName LeftTeleporterSocket;
89 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PixoVR")
90 FName RightTeleporterSocket;
92 UPROPERTY(BlueprintReadOnly, Replicated, Category = "PixoVR")
95 UPROPERTY(BlueprintReadOnly, Replicated, Category = "PixoVR")
98 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PixoVR")
102 UPROPERTY(EditAnywhere, Replicated, BlueprintReadWrite, Category = "PixoVR")
103 bool bTeleporterEnabled = true;
105 FOnTeleportationActivated& OnTeleportationActivated() {
return OnTeleportationActivatedEvent; };
108 UFUNCTION(BlueprintCallable)
void HandleLaserBeamLeftPressed();
109 UFUNCTION(BlueprintCallable)
void HandleLaserBeamRightPressed();
111 UFUNCTION (BlueprintCallable, BlueprintPure)
112 void IsLaserActivated (
bool& IsActivated, EControllerHand& Hand);
114 UFUNCTION(Server, Reliable, WithValidation)
115 void IsOverWidgetUse(EControllerHand Hand,
bool InPressed);
117 UFUNCTION(Client, Reliable)
118 void PerformIsOverWidgetUse(EControllerHand Hand,
bool InPressed);
120 UFUNCTION(Server, Reliable)
121 void HandleLaserSelectEvent(EControllerHand Hand,
bool Pressed);
122 UFUNCTION(NetMulticast, Reliable)
123 void MultiHandleLaserSelectEvent(EControllerHand Hand,
bool Pressed);
125 void HandleLaserSelect(EControllerHand Hand,
bool Pressed);
128 void SpawnLaserBeam(EControllerHand Hand,
bool InActivate);
132 void HandleLaserSelectLeft();
133 void HandleLaserReleaseLeft();
134 void HandleLaserSelectRight();
135 void HandleLaserReleaseRight();
138 UFUNCTION(BlueprintCallable, Server, Reliable, WithValidation, Category = "PixoVR")
139 void ActivateLaserBeam(EControllerHand Hand,
bool InActivate);
141 UFUNCTION(BlueprintImplementableEvent, BlueprintCallable, Category ="PixoVR")
142 void HandleHandAnimationLaser(EControllerHand Hand);
144 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PixoVR")
145 FName LeftLaserBeamSocket;
147 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PixoVR")
148 FName RightLaserBeamSocket;
150 UPROPERTY(BlueprintReadOnly, Replicated, Category = "PixoVR")
153 UPROPERTY(BlueprintReadOnly, Replicated, Category = "PixoVR")
156 UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "PixoVR")
157 bool bLeftLaserBeamIsActiveOnStart;
159 UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "PixoVR")
160 bool bRightLaserBeamIsActiveOnStart;
162 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PixoVR")
165 UPROPERTY(BlueprintReadOnly, Replicated)
166 bool bActivateLeftLaser;
168 UPROPERTY(BlueprintReadOnly, Replicated)
169 bool bActivateRightLaser;
172 UFUNCTION(BlueprintCallable)
173 void HandleActivateWristMenuPressed();
175 UFUNCTION(BlueprintCallable)
176 void HandleSelectWristMenuItemPressed();
178 UFUNCTION(BlueprintCallable)
179 void SelectWristMenu(EControllerHand Hand);
181 UFUNCTION(BlueprintCallable)
182 void HandleActivateWristMenuPressedLeft();
184 UFUNCTION(BlueprintCallable)
185 void HandleActivateWristMenuPressedRight();
187 UFUNCTION(Server, Reliable, WithValidation)
188 void SpawnWristMenu();
190 UFUNCTION(Server, Reliable, WithValidation)
191 void SpawnProgressBar();
194 UFUNCTION(BlueprintCallable, Server, Reliable, WithValidation, Category = "PixoVR")
195 void ActivateWristMenu(EControllerHand Hand);
197 UFUNCTION(BlueprintCallable, Server, Reliable, WithValidation, Category = "PixoVR")
198 void ActivateProgressBar(EControllerHand Hand,
bool InActivate);
200 virtual
void HandleSelectWristMenuItemPressedLeft();
201 virtual
void HandleSelectWristMenuItemPressedRight();
203 virtual
void HandleWristMenuItem1Pressed();
204 virtual
void HandleWristMenuItem2Pressed();
205 virtual
void HandleWristMenuItem3Pressed();
206 virtual
void HandleWristMenuItem4Pressed();
207 virtual
void HandleWristMenuItem5Pressed();
208 virtual
void HandleWristMenuItem6Pressed();
209 virtual
void HandleWristMenuItem7Pressed();
210 virtual
void HandleWristMenuItem8Pressed();
212 virtual
void HandleWristMenuDoubleTap(FKey InputKey);
214 UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "PixoVR")
217 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PixoVR")
220 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PixoVR")
223 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PixoVR")
224 FName WristMenuSocket;
226 UPROPERTY(BlueprintReadOnly, Replicated, Category = "PixoVR", meta = (AllowPrivateAccess = "true"))
229 UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "PixoVR", meta = (AllowPrivateAccess = "true"))
232 UPROPERTY(BlueprintReadOnly, Replicated, Category = "PixoVR", meta = (AllowPrivateAccess = "true"))
235 FVector MirroredWristMenuScale;
237 UPROPERTY(BlueprintReadOnly, VisibleAnywhere, Replicated, Category= "PixoVR")
238 EControllerHand CurrentWristMenuHand;
240 UPROPERTY(BlueprintAssignable)
241 FOnWristMenuActivated OnWristMenuActivated;
245 virtual
void TurnVRLeft();
246 virtual
void TurnVRRight();
249 UFUNCTION(NetMulticast, Reliable)
250 void ActivateFPSMode(
bool Enable);
252 void MoveForward(
float Value);
253 void MoveRight(
float Value);
254 void TurnAtRate(
float Rate);
255 void LookUpAtRate(
float Rate);
258 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Hands")
261 UPROPERTY(BlueprintReadOnly, Category = "Hands")
263 UPROPERTY(BlueprintReadOnly, Category = "Hands")
266 UFUNCTION(BlueprintCallable, Category = "Hands")
267 virtual
void GrabRightPressed();
268 UFUNCTION(BlueprintCallable, Category = "Hands")
269 virtual
void GrabLeftPressed();
270 UFUNCTION(BlueprintCallable, Category = "Hands")
271 virtual
void GrabRightReleased();
272 UFUNCTION(BlueprintCallable, Category = "Hands")
273 virtual
void GrabLeftReleased();
281 UFUNCTION(BlueprintCallable, Category = "Hands")
282 AActor* SpawnActorInHand(TSubclassOf<
AActor> ActorClass,
bool RightHand);
284 UFUNCTION(BlueprintCallable, Category = "Hands")
285 void ResetHandHoldingObject();
290 UFUNCTION(BlueprintCallable, Category = "Hands")
291 void ResetHand(
bool RightHand);
295 UFUNCTION(BlueprintCallable)
296 void ShowTool(EControllerHand Hand,
AActor* Tool);
298 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PixoVR")
301 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Fade")
304 UPROPERTY(BlueprintAssignable, Category = "Hands")
305 FOnHandGrabAction OnHandGrabAction;
308 UPROPERTY(BlueprintReadOnly)
311 UFUNCTION(BlueprintCallable, Category = "Hint")
313 UFUNCTION(BlueprintCallable, Category = "Hint")
314 void DeactivateHint();
317 float BaseLookUpRate;
318 float DeflectionAngle = 30.0f;
320 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="PixoVR", Meta=(Tooltip="If checked, Laser, Teleporter and Wrist Menu input handling will be disabled."))
321 bool bDisableToolsInputBindings;
323 UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category="PixoVR")
324 UDataTable* InputsTable;
326 UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "PixoVR", meta = (AllowPrivateAccess = "true"))
329 UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "PixoVR", meta = (AllowPrivateAccess = "true"))
332 FVector2D LastTeleportLeftDirectionVector;
333 FVector2D LastTeleportRightDirectionVector;
339 void PlayerDestroyed(
AActor* Act);
346 FOnTeleportationActivated OnTeleportationActivatedEvent;
348 UPROPERTY(Replicated)
349 bool bIsOverWidgetUse = false;