20 virtual void BeginPlay()
override;
24 virtual void Tick(
float DeltaTime)
override;
30 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category =
"Components")
31 TObjectPtr<class UStaticMeshComponent> MeshComp;
34 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "Components")
35 TObjectPtr<class UInteractableComponent> InteractableComp;
42 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Movement")
43 float PushForce = 500.0f;
46 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Movement")
47 float Deceleration = 300.0f;
50 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Movement")
51 float MinVelocityThreshold = 5.0f;
54 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Movement")
55 float CollisionPushMultiplier = 0.5f;
59 FVector CurrentVelocity;
66 void OnPushed(AActor* Interactor);
77 void OnTrolleyHit(UPrimitiveComponent* HitComponent, AActor* OtherActor,
78 UPrimitiveComponent* OtherComp, FVector NormalImpulse, const FHitResult&
Hit);
85 void OnOutlineStateChanged(
bool bShouldShowOutline);