Added FOV when sprinting and finished Sprinting System
This commit is contained in:
parent
7f2cc14922
commit
39bd245f57
@ -71,12 +71,12 @@ void AEndlessVendettaCharacter::BeginPlay()
|
||||
InventoryComponent = Cast<UInventoryComponent>(GetWorld()->GetFirstPlayerController()->GetComponentByClass(UInventoryComponent::StaticClass()));
|
||||
WalkSpeed = CharacterMovement->MaxWalkSpeed;
|
||||
OriginalWalkSpeed = CharacterMovement->MaxWalkSpeed;
|
||||
CurrentStamina = MaxStamina;
|
||||
}
|
||||
|
||||
void AEndlessVendettaCharacter::Tick(float DeltaTime)
|
||||
{
|
||||
Super::Tick(DeltaTime);
|
||||
|
||||
WeaponPickUpSystem();
|
||||
|
||||
MoveGroundSpeed = Cast<UMovementComponent>(GetComponentByClass(UMovementComponent::StaticClass()))->Velocity.Size();
|
||||
@ -89,6 +89,27 @@ void AEndlessVendettaCharacter::Tick(float DeltaTime)
|
||||
{
|
||||
bIsPlayerMoving = false;
|
||||
}
|
||||
//PLAYER STAMINA HANDLING
|
||||
if (bIsPlayerSprinting)
|
||||
{
|
||||
CurrentStamina -= FMath::Clamp(StaminaDecreaseRate, 0.0f, 100.0f);
|
||||
if (CurrentStamina <= 0.0f)
|
||||
{
|
||||
bIsPlayerSprinting = false;
|
||||
this->GetFirstPersonCameraComponent()->SetFieldOfView(90);
|
||||
CurrentStamina = 0.0f;
|
||||
CharacterMovement->MaxWalkSpeed = OriginalWalkSpeed;
|
||||
}
|
||||
}
|
||||
if (!bIsPlayerSprinting)
|
||||
{
|
||||
if(CurrentStamina >= 100.0f)
|
||||
{
|
||||
CurrentStamina = 100.0f;
|
||||
return;
|
||||
}
|
||||
CurrentStamina += FMath::Clamp(StaminaRegenRate, 0.0f, 100.0f);
|
||||
}
|
||||
}
|
||||
|
||||
void AEndlessVendettaCharacter::RegenHealth()
|
||||
@ -521,13 +542,7 @@ void AEndlessVendettaCharacter::Sprint()
|
||||
if (bIsPlayerSprinting)
|
||||
{
|
||||
CharacterMovement->MaxWalkSpeed = SprintSpeed;
|
||||
MaxStamina -= StaminaDecreaseRate;
|
||||
UE_LOG(LogTemp, Display, TEXT("Walk Speed: %f"), WalkSpeed);
|
||||
if (MaxStamina <= 0)
|
||||
{
|
||||
CharacterMovement->MaxWalkSpeed = OriginalWalkSpeed;
|
||||
bIsPlayerSprinting = false;
|
||||
}
|
||||
this->GetFirstPersonCameraComponent()->SetFieldOfView(100);
|
||||
}
|
||||
}
|
||||
|
||||
@ -538,7 +553,7 @@ void AEndlessVendettaCharacter::StopSprint()
|
||||
{
|
||||
UE_LOG(LogTemp, Display, TEXT("Player stopped sprinting"));
|
||||
CharacterMovement->MaxWalkSpeed = OriginalWalkSpeed;
|
||||
MaxStamina++;
|
||||
this->GetFirstPersonCameraComponent()->SetFieldOfView(90);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -88,11 +88,15 @@ public:
|
||||
|
||||
//STAMINA AND SPRINT SPEED
|
||||
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Stats")
|
||||
float MaxStamina = 100.0f;
|
||||
float MaxStamina = 100;
|
||||
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Stats")
|
||||
float StaminaDecreaseRate = 10.0f;
|
||||
float CurrentStamina;
|
||||
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Stats")
|
||||
float SprintSpeed = 1200;
|
||||
float StaminaDecreaseRate = 0.2;
|
||||
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Stats")
|
||||
float StaminaRegenRate = 0.05;
|
||||
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Stats")
|
||||
float SprintSpeed = 900;
|
||||
|
||||
//Getting the charMovementComp
|
||||
UCharacterMovementComponent* CharacterMovement = GetCharacterMovement();
|
||||
|
Loading…
x
Reference in New Issue
Block a user