20 virtual
void BeginPlay() override;
22 UPROPERTY(VisibleDefaultsOnly, BlueprintReadWrite, Category = "Spot")
23 UStaticMeshComponent* TeleportersSpotCylinder;
25 UPROPERTY(VisibleDefaultsOnly, BlueprintReadWrite, Category = "Spot")
26 UStaticMeshComponent* TeleportersSpotRing;
28 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Spot")
29 bool IsSpotHaveCubeShape = false;
31 UPROPERTY(EditAnywhere, Category = "Spot | Color")
32 FColor NotActiveColorOfSpot = FColor(128,128,128);
34 UPROPERTY(EditAnywhere, Category = "Spot | Color")
35 FColor ActiveColorOfSpot = FColor(0, 153, 235);
37 UPROPERTY(EditAnywhere, Category = "Spot | Bounds")
38 float BufferBoundsRadiusDetection = -20.f;
40 UPROPERTY(EditAnywhere, Category = "Spot | Bounds")
41 float BufferBoundsHeightDetection = 0.f;
43 UPROPERTY(BlueprintAssignable, Category = "Spot | Delegates")
44 FOnCharacterTeleportedOnSpot OnCharacterTeleportedOnSpot;
50 void ActivateSpot(
bool InActivate);
55 bool bIsActive = false;
58 UMaterialInstanceDynamic* CylinderMaterialInstanceDynamic;
61 UMaterialInstanceDynamic* RingMaterialInstanceDynamic;
73 virtual
void BeginPlay() override;
75 virtual
void ExecuteTeleportation(UVRBaseCharacterMovementComponent* InMovementComponent,
76 const FTransform& ActorTransform, const FVector& VRLocation, const FRotator& ActorRotation) override;
78 virtual
void ActivateTeleporter(
bool InActivate) override;
81 virtual
void TickTeleporter(
float DeltaTime) override;
83 bool TraceTeleportDestination(TArray<FVector>& TracePoints, FVector& TraceLocation);
85 void DeactivateAllSpots();
87 bool AtListOneTeleportersActive();
89 UVRBaseCharacterMovementComponent* MovementComponent;
94 float SpotTeleporterExtendCoeficient = 1.5;