24 GENERATED_UCLASS_BODY()
30 typedef FSavedMove_Character
Super;
32 virtual void Clear()
override;
33 virtual uint8 GetCompressedFlags()
const override;
34 virtual void SetMoveFor(ACharacter*
Character,
float InDeltaTime, FVector
const& NewAccel,
35 class FNetworkPredictionData_Client_Character& ClientData)
override;
36 virtual void PrepMoveFor(
class ACharacter*
Character)
override;
48 typedef FNetworkPredictionData_Client_Character
Super;
50 virtual FSavedMovePtr AllocateNewMove()
override;
53 virtual void UpdateFromCompressedFlags(uint8 Flags)
override;
54 virtual class FNetworkPredictionData_Client* GetPredictionData_Client()
const override;
55 virtual void OnMovementUpdated(
float DeltaTime,
const FVector& OldLocation,
const FVector& OldVelocity)
override;
58 virtual void PhysWalking(
float deltaTime, int32 Iterations)
override;
59 virtual float GetMaxAcceleration()
const override;
60 virtual float GetMaxBrakingDeceleration()
const override;
64 uint8 bRequestMovementSettingsChange = 1;
69 UPROPERTY(BlueprintReadOnly, Category = "ALS|Movement
System")
73 float GetMappedSpeed() const;
75 UFUNCTION(BlueprintCallable, Category = "Movement Settings")
79 UFUNCTION(BlueprintCallable, Category = "Movement Settings")
80 void SetAllowedGait(
EALSGait NewAllowedGait);
82 UFUNCTION(Reliable,
Server, Category = "Movement Settings")
83 void Server_SetAllowedGait(
EALSGait NewAllowedGait);
88 UPROPERTY(BlueprintAssignable, Category="Gravity")
89 FOnGravityDirectionChanged OnGravityDirectionChanged;
98 virtual
void SetNewGravityScale(const
float NewGravity) override;
99 virtual
void ResetGravityScale() override;
104 virtual
void SetFixedGravityDirection(const FVector& NewFixedGravityDirection) override;
109 virtual
void SetSplineTangentGravityDirection(AActor* NewGravityActor) override;
114 virtual
void SetPointGravityDirection(const FVector& NewGravityPoint) override;
119 virtual
void SetPointGravityDirectionFromActor(AActor* NewGravityActor) override;
125 virtual
void SetLineGravityDirection(const FVector& NewGravityLineStart, const FVector& NewGravityLineEnd) override;
131 virtual
void SetSegmentGravityDirection(const FVector& NewGravitySegmentStart, const FVector& NewGravitySegmentEnd) override;
136 virtual
void SetSplineGravityDirection(AActor* NewGravityActor) override;
142 virtual
void SetPlaneGravityDirection(const FVector& NewGravityPlaneBase, const FVector& NewGravityPlaneNormal) override;
149 virtual
void SetSplinePlaneGravityDirection(AActor* NewGravityActor) override;
155 virtual
void SetBoxGravityDirection(const FVector& NewGravityBoxOrigin, const FVector& NewGravityBoxExtent) override;
160 virtual
void SetBoxGravityDirectionFromActor(AActor* NewGravityActor) override;
165 virtual
void SetCollisionGravityDirection(AActor* NewGravityActor) override;
168 virtual
bool GetIsWalking() const override;
171 virtual
void LaunchCharacter(const FVector& LaunchVel) override;
176 virtual FVector GetGravityDirection() const override;
181 virtual
void UpdateGravity();
186 virtual
void ReplicateGravityToClients();
195 UPROPERTY(EditAnywhere,BlueprintReadWrite,BlueprintSetter=SetAlignGravityToBase,Category="GravityCharacterMovement")
196 uint32 bAlignGravityToBase:1;
202 UFUNCTION(BlueprintSetter,Category="Pawn|Components|GravityCharacterMovement")
203 virtual
void SetAlignGravityToBase(
bool bNewAlignGravityToBase);
212 UFUNCTION(NetMulticast,Reliable)
213 virtual
void MulticastEnableAlignGravityToBase();
218 UFUNCTION(NetMulticast,Reliable)
219 virtual
void MulticastDisableAlignGravityToBase();
225 UFUNCTION(NetMulticast,Reliable)
226 virtual
void MulticastSetGravityScale(const
float NewGravityScale);
231 UFUNCTION(NetMulticast,Reliable)
232 virtual
void MulticastSetFixedGravityDirection(const FVector& NewFixedGravityDirection);
236 UFUNCTION(NetMulticast,Reliable)
237 virtual
void MulticastSetSplineTangentGravityDirection(AActor* NewGravityActor);
241 UFUNCTION(NetMulticast,Reliable)
242 virtual
void MulticastSetPointGravityDirection(const FVector& NewGravityPoint);
246 UFUNCTION(NetMulticast,Reliable)
247 virtual
void MulticastSetPointGravityDirectionFromActor(AActor* NewGravityActor);
252 UFUNCTION(NetMulticast,Reliable)
253 virtual
void MulticastSetLineGravityDirection(const FVector& NewGravityLineStart, const FVector& NewGravityLineEnd);
258 UFUNCTION(NetMulticast,Reliable)
259 virtual
void MulticastSetSegmentGravityDirection(const FVector& NewGravitySegmentStart, const FVector& NewGravitySegmentEnd);
263 UFUNCTION(NetMulticast,Reliable)
264 virtual
void MulticastSetSplineGravityDirection(AActor* NewGravityActor);
270 UFUNCTION(NetMulticast,Reliable)
271 virtual
void MulticastSetPlaneGravityDirection(const FVector& NewGravityPlaneBase, const FVector& NewGravityPlaneNormal);
276 UFUNCTION(NetMulticast,Reliable)
277 virtual
void MulticastSetSplinePlaneGravityDirection(AActor* NewGravityActor);
283 UFUNCTION(NetMulticast,Reliable)
284 virtual
void MulticastSetBoxGravityDirection(const FVector& NewGravityBoxOrigin, const FVector& NewGravityBoxExtent);
288 UFUNCTION(NetMulticast,Reliable)
289 virtual
void MulticastSetBoxGravityDirectionFromActor(AActor* NewGravityActor);
293 UFUNCTION(NetMulticast,Reliable)
294 virtual
void MulticastSetCollisionGravityDirection(AActor* NewGravityActor);
305 virtual
bool GetShouldReplicateGravity() const;
311 UPROPERTY(VisibleInstanceOnly, BlueprintReadOnly,Category="GravityCharacterMovement")
315 UPROPERTY(VisibleInstanceOnly,BlueprintReadOnly,Category="GravityCharacterMovement")
316 FVector GravityVectorA;
319 UPROPERTY(VisibleInstanceOnly,BlueprintReadOnly,Category="GravityCharacterMovement")
320 FVector GravityVectorB;
323 UPROPERTY(VisibleInstanceOnly,BlueprintReadOnly,Category="GravityCharacterMovement")
324 TObjectPtr<AActor> GravityActor;
330 float OldGravityScale;
334 uint32 bDirtyGravityDirection:1;
337 UPROPERTY(EditAnywhere,BlueprintReadWrite,Category="GravityCharacterMovement")
338 uint32 bDisableGravityReplication:1;