22 virtual
void GetLifetimeReplicatedProps(TArray<FLifetimeProperty>& OutLifetimeProps) const override;
25 FVector TimedLocation;
26 FRotator TimedRotation;
29 virtual
void BeginPlay() override;
31 virtual
void Tick(
float DeltaTime) override;
33 virtual
void Destroyed() override;
41 virtual
void UpdateArcSpline(TArray<FVector>& SplinePoints,
bool ValidLocationFound);
48 virtual
void UpdateArcEndpoint(const FVector& NewLocation,
bool ValidLocationFound);
51 UGripMotionControllerComponent* MotionController;
53 UPROPERTY(BlueprintReadOnly, Category = "PixoVR | Teleporter")
54 bool bIsTeleporterActive;
56 UPROPERTY(BlueprintReadOnly, Category = "PixoVR | Teleporter")
57 bool bActivateOneTeleporterAtTime = false;
59 UPROPERTY(BlueprintReadOnly, Category = "PixoVR | Teleporter")
60 bool bIsValidTeleportDestination;
62 UPROPERTY(EditAnywhere, Category = "PixoVR | Teleporter")
65 UPROPERTY(EditAnywhere, Category = "PixoVR | Teleporter")
66 bool bDrawTeleportArrow;
68 UPROPERTY(EditAnywhere, Category = "PixoVR | Teleporter")
69 float TeleportLaunchVelocity;
71 UPROPERTY(BlueprintReadOnly, Category = "PixoVR | Teleporter")
72 FRotator TeleportRotation;
74 UPROPERTY(BlueprintReadOnly, Category = "PixoVR | Teleporter")
77 UPROPERTY(EditAnywhere, Category = "PiUpdateMotionControllerRotationxoVR | Teleporter")
80 UPROPERTY(EditAnywhere, Category = "PixoVR | Teleporter")
81 float FadeOutDuration;
83 UPROPERTY(EditAnywhere, Category = "PixoVR | Teleporter")
86 UPROPERTY(VisibleDefaultsOnly, BlueprintReadWrite)
87 USplineComponent* ArcSplineComponent;
89 UPROPERTY(VisibleDefaultsOnly, BlueprintReadWrite)
90 UStaticMeshComponent* ArcEndPoint;
92 UPROPERTY(VisibleDefaultsOnly, BlueprintReadWrite)
93 UStaticMeshComponent* Arrow;
95 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PixoVR | Teleporter", Meta = (AllowPrivateAccess = "true"))
96 UStaticMesh* ArcSplineMesh;
98 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PixoVR | Teleporter", Meta = (AllowPrivateAccess = "true"))
105 UFUNCTION(BlueprintCallable, Category = "PixoVR | Teleporter")
106 virtual
void UpdateMotionControllerRotation(const FVector2D& Direction);
112 UFUNCTION(BlueprintCallable, Category = "PixoVR | Teleporter")
113 virtual
void ActivateTeleporter(
bool InActivate);
119 UFUNCTION(BlueprintCallable, Category = "PixoVR | Teleporter")
120 virtual
bool IsActivated();
126 UFUNCTION(BlueprintCallable, Category = "PixoVR | Teleporter")
127 virtual
void SetMotionController(UGripMotionControllerComponent* InMotionController);
137 UFUNCTION(BlueprintCallable, Category = "PixoVR | Teleporter")
138 virtual
void ExecuteTeleportation(UVRBaseCharacterMovementComponent* MovementComponent,
139 const FTransform& ActorTransform, const FVector& VRLocation,
140 const FRotator& ActorRotation) PURE_VIRTUAL(,);
147 UFUNCTION(BlueprintPure, Category = "PixoVR | Teleporter")
148 FVector GetTeleportDestination(const FVector& OriginalLocation);
155 UFUNCTION(BlueprintPure, Category = "PixoVR | Teleporter")
156 void GetTeleportationTransform(FVector& Location, FVector& ForwardVector);
159 TArray<USplineMeshComponent*> SplineMeshComponents;
165 virtual
void TickTeleporter(
float DeltaTime) PURE_VIRTUAL(,);
170 virtual
void ClearArc();
177 FRotator GetRotationFromInput(const FVector2D& Direction);