36 UFUNCTION(BlueprintCallable, Category = "PixoVR | Teleporter")
37 void ActivateTeleporter(
bool InActivate);
43 UFUNCTION(BlueprintCallable, Category = "PixoVR | Teleporter")
44 void UpdateMotionControllerRotation(const FVector2D& Direction);
51 UFUNCTION(BlueprintPure, Category = "PixoVR | Teleporter")
52 FVector GetTeleportDestination(const FVector& OriginalLocation);
59 UFUNCTION(BlueprintPure, Category = "PixoVR | Teleporter")
60 void GetTeleportationTransform(FVector& Location, FVector& ForwardVector);
66 UFUNCTION(BlueprintCallable, Category = "PixoVR | Teleporter")
73 UFUNCTION(BlueprintCallable, Category = "PixoVR | Teleporter")
84 UFUNCTION(BlueprintCallable, Category = "PixoVR | Teleporter")
86 const FTransform& ActorTransform, const FVector& VRLocation,
87 const FRotator& ActorRotation);
90 virtual
void Tick(
float DeltaTime) override;
91 virtual
void BeginPlay() override;
92 virtual
void Destroyed() override;
105 bool TraceTeleportDestination(TArray<FVector>& TracePoints, FVector& TraceLocation, FVector& NavMeshLocation);
117 void UpdateArcSpline(TArray<FVector>& SplinePoints,
bool ValidLocationFound);
124 void UpdateArcEndpoint(const FVector& NewLocation,
bool ValidLocationFound);
131 void UpdateTeleportCylinder(const FVector& NewLocation,
bool ValidLocationFound);
137 void TickTeleporter(
float DeltaTime);
144 FRotator GetRotationFromInput(const FVector2D& Direction);
147 virtual
void GetLifetimeReplicatedProps(TArray<FLifetimeProperty>& OutLifetimeProps) const override;
149 UPROPERTY(VisibleDefaultsOnly, BlueprintReadWrite)
150 USplineComponent* ArcSplineComponent;
152 UPROPERTY(VisibleDefaultsOnly, BlueprintReadWrite)
155 UPROPERTY(VisibleDefaultsOnly, BlueprintReadWrite)
158 UPROPERTY(VisibleDefaultsOnly, BlueprintReadWrite)
161 UPROPERTY(VisibleDefaultsOnly, BlueprintReadWrite)
164 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PixoVR | Teleporter", Meta = (AllowPrivateAccess = "true"))
165 UStaticMesh* ArcSplineMesh;
167 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PixoVR | Teleporter", Meta = (AllowPrivateAccess = "true"))
170 UPROPERTY(Replicated)
174 UPROPERTY(BlueprintReadOnly, Category = "PixoVR | Teleporter")
175 bool bIsTeleporterActive;
177 UPROPERTY(BlueprintReadOnly, Category = "PixoVR | Teleporter")
178 bool bIsValidTeleportDestination;
180 UPROPERTY(EditAnywhere, Category = "PixoVR | Teleporter")
181 bool bDrawTeleportArrow;
183 UPROPERTY(EditAnywhere, Category = "PixoVR | Teleporter")
186 UPROPERTY(EditAnywhere, Category = "PixoVR | Teleporter")
187 bool bDrawTeleportCylinder;
189 UPROPERTY(BlueprintReadOnly, Category = "PixoVR | Teleporter")
190 FRotator TeleportRotation;
192 UPROPERTY(BlueprintReadOnly, Category = "PixoVR | Teleporter")
193 FRotator PadRotation;
195 UPROPERTY(EditAnywhere, Category = "PixoVR | Teleporter")
198 UPROPERTY(EditAnywhere, Category = "PixoVR | Teleporter")
199 float TeleportLaunchVelocity;
201 UPROPERTY(EditAnywhere, Category = "PixoVR | Teleporter")
202 float FadeInDuration;
204 UPROPERTY(EditAnywhere, Category = "PixoVR | Teleporter")
205 float FadeOutDuration;
207 UPROPERTY(EditAnywhere, Category = "PixoVR | Teleporter")
208 FLinearColor TeleportFadeColor;
211 TArray<USplineMeshComponent*> SplineMeshComponents;
212 UNavigationSystemV1* NavigationSystem;
213 FVector TimedLocation;
214 FRotator TimedRotation;
218 virtual void PostEditChangeProperty(FPropertyChangedEvent& PropertyChangedEvent)
override;