11 #include "GameFramework/Controller.h" 16 #include "WheeledVehicleAIController.generated.h" 47 void OnPossess(
APawn *aPawn)
override;
49 void OnUnPossess()
override;
51 void Tick(
float DeltaTime)
override;
61 UFUNCTION(Category =
"Wheeled Vehicle Controller", BlueprintCallable)
62 bool IsPossessingAVehicle()
const 67 UFUNCTION(Category =
"Wheeled Vehicle Controller", BlueprintCallable)
84 UFUNCTION(Category =
"Wheeled Vehicle Controller", BlueprintCallable)
85 void SetStickyControl(
bool bEnabled)
87 bControlIsSticky = bEnabled;
103 UFUNCTION(Category =
"Road Map", BlueprintCallable)
117 UFUNCTION(Category =
"Random Engine", BlueprintCallable)
120 check(RandomEngine !=
nullptr);
132 UFUNCTION(Category =
"Wheeled Vehicle Controller", BlueprintCallable)
133 bool IsAutopilotEnabled()
const 135 return bAutopilotEnabled;
138 UFUNCTION(Category =
"Wheeled Vehicle Controller", BlueprintCallable)
139 void SetAutopilot(
bool Enable,
bool KeepState = false)
141 if (IsAutopilotEnabled() != Enable)
143 ConfigureAutopilot(Enable, KeepState);
147 UFUNCTION(Category =
"Wheeled Vehicle Controller", BlueprintCallable)
148 void ToggleAutopilot()
150 ConfigureAutopilot(!bAutopilotEnabled);
155 void ConfigureAutopilot(
const bool Enable,
const bool KeepState =
false);
166 UFUNCTION(Category =
"Wheeled Vehicle Controller", BlueprintCallable)
167 float GetSpeedLimit()
const 173 UFUNCTION(Category =
"Wheeled Vehicle Controller", BlueprintCallable)
174 void SetSpeedLimit(
float InSpeedLimit)
176 SpeedLimit = InSpeedLimit;
180 UFUNCTION(Category =
"Wheeled Vehicle Controller", BlueprintCallable)
187 UFUNCTION(Category =
"Wheeled Vehicle Controller", BlueprintCallable)
194 UFUNCTION(Category =
"Wheeled Vehicle Controller", BlueprintCallable)
201 UFUNCTION(Category =
"Wheeled Vehicle Controller", BlueprintCallable)
208 UFUNCTION(Category =
"Wheeled Vehicle Controller", BlueprintCallable)
209 void SetFixedRoute(
const TArray<FVector> &Locations,
bool bOverwriteCurrent =
true);
224 UPROPERTY(VisibleAnywhere)
225 bool bAutopilotEnabled = false;
227 UPROPERTY(VisibleAnywhere)
228 bool bControlIsSticky = true;
230 UPROPERTY(VisibleAnywhere)
231 float SpeedLimit = 30.0f;
233 UPROPERTY(VisibleAnywhere)
236 UPROPERTY(VisibleAnywhere)
237 float MaximumSteerAngle = -1.0f;
242 std::queue<FVector> TargetLocations;
const ACarlaWheeledVehicle * GetPossessedVehicle() const
Wheeled vehicle controller with optional AI.
void SetRoadMap(URoadMap *InRoadMap)
Base class for CARLA wheeled vehicles.