65 lines
1.9 KiB
C++
65 lines
1.9 KiB
C++
// Multiplayer By Caleb
|
|
|
|
#pragma once
|
|
|
|
#include "CoreMinimal.h"
|
|
#include "Animation/AnimInstance.h"
|
|
#include "CAnimInstance.generated.h"
|
|
|
|
/**
|
|
*
|
|
*/
|
|
UCLASS()
|
|
class CRUNCH_API UCAnimInstance : public UAnimInstance
|
|
{
|
|
GENERATED_BODY()
|
|
|
|
public:
|
|
virtual void NativeInitializeAnimation() override;
|
|
virtual void NativeUpdateAnimation(float DeltaSeconds) override;
|
|
virtual void NativeThreadSafeUpdateAnimation(float DeltaSeconds) override;
|
|
|
|
UFUNCTION(BlueprintCallable, meta=(BlueprintThreadSafe))
|
|
FORCEINLINE float GetSpeed() const { return Speed; }
|
|
|
|
UFUNCTION(BlueprintCallable, meta=(BlueprintThreadSafe))
|
|
FORCEINLINE bool IsMoving() const { return Speed != 0; }
|
|
|
|
UFUNCTION(BlueprintCallable, meta=(BlueprintThreadSafe))
|
|
FORCEINLINE bool IsNotMoving() const { return Speed == 0; }
|
|
|
|
UFUNCTION(BlueprintCallable, meta=(BlueprintThreadSafe))
|
|
FORCEINLINE float GetYawSpeed() const { return YawSpeed; }
|
|
|
|
UFUNCTION(BlueprintCallable, meta=(BlueprintThreadSafe))
|
|
FORCEINLINE float GetSmoothedYaw() const { return SmoothedYawSpeed; }
|
|
|
|
UFUNCTION(BlueprintCallable, meta=(BlueprintThreadSafe))
|
|
FORCEINLINE bool GetIsJumping() const { return bIsJumping; }
|
|
|
|
UFUNCTION(BlueprintCallable, meta=(BlueprintThreadSafe))
|
|
FORCEINLINE bool IsOnGround() const { return !bIsJumping; }
|
|
|
|
UFUNCTION(BlueprintCallable, meta=(BlueprintThreadSafe))
|
|
FORCEINLINE float GetLookYawOffset() const { return LookRotOffset.Yaw; }
|
|
UFUNCTION(BlueprintCallable, meta=(BlueprintThreadSafe))
|
|
FORCEINLINE float GetLookPitchOffset() const { return LookRotOffset.Pitch; }
|
|
|
|
private:
|
|
UPROPERTY()
|
|
class ACharacter* OwnerCharacter;
|
|
UPROPERTY()
|
|
class UCharacterMovementComponent* OwnerMovementComp;
|
|
UPROPERTY()
|
|
float Speed{0.f};
|
|
float YawSpeed{0.f};
|
|
float SmoothedYawSpeed{0.f};
|
|
bool bIsJumping{false};
|
|
|
|
UPROPERTY(EditAnywhere, Category="Animation")
|
|
float YawSpeedSmoothLerpSpeed{1.f};
|
|
|
|
FRotator BodyPrevRot{};
|
|
FRotator LookRotOffset{};
|
|
};
|