25 AWalkerBase(
const FObjectInitializer &ObjectInitializer);
27 UPROPERTY(Category=
"Walker Base", BlueprintReadWrite, EditAnywhere)
30 UPROPERTY(Category="Walker Base", BlueprintReadWrite, EditAnywhere)
31 float LifeSpanAfterDeath = 10.0f;
37 UPROPERTY(Category="Walker Base", BlueprintReadWrite, EditAnywhere)
38 bool bUsesWheelChair = false;
47 UPROPERTY(Category="Walker Base", BlueprintReadWrite, EditAnywhere)
48 float VehicleKillSpeed = 50.0f;
61 UPROPERTY(Category="Walker Base", BlueprintReadWrite, EditAnywhere)
62 float VehicleSensorMargin = 50.0f;
67 UPROPERTY(Category="Walker Base", BlueprintReadWrite, EditAnywhere)
68 float VehicleSensorPeriod = 0.02f;
74 UPROPERTY(Category="Walker Base", BlueprintReadWrite, EditAnywhere)
75 float VehicleBodyAllowance = 90.0f;
80 UPROPERTY(Category="Walker Base", BlueprintReadWrite, EditAnywhere)
81 float VehicleSensorSpeedBound = 8333.0f;
83 UFUNCTION(BlueprintCallable)
84 void StartDeathLifeSpan()
86 SetLifeSpan(LifeSpanAfterDeath);
93 UFUNCTION(BlueprintCallable)
94 void Kill(FVector ImpactVelocity,
AActor *Killer =
nullptr);
99 UFUNCTION(BlueprintCallable)
100 void TagWheelchair();
108 UFUNCTION(BlueprintCallable)
109 void AttachWheelchair();
113 UPROPERTY(Category=
"Walker Base", BlueprintReadOnly, VisibleAnywhere)
114 TObjectPtr<USkeletalMeshComponent> WheelchairComponent =
nullptr;
122 FVector NormalImpulse, const FHitResult &Hit);
124 void CheckVehicleImpact();
126 void TryKillFromVehicle(
AActor *OtherActor);
128 FTimerHandle VehicleSensorTimer;