Compare commits
4 Commits
6bccd097bb
...
fc7095fd75
Author | SHA1 | Date |
---|---|---|
baz | fc7095fd75 | |
baz | 58f779c887 | |
baz | 283b536242 | |
baz | 08fbe9dbe1 |
Binary file not shown.
BIN
Content/Input/InputMappingContext.uasset (Stored with Git LFS)
BIN
Content/Input/InputMappingContext.uasset (Stored with Git LFS)
Binary file not shown.
BIN
Content/Player/PlayerCharacter.uasset (Stored with Git LFS)
BIN
Content/Player/PlayerCharacter.uasset (Stored with Git LFS)
Binary file not shown.
|
@ -5,6 +5,11 @@
|
|||
|
||||
#include <GameFramework/Character.h>
|
||||
|
||||
UNakatomiCMC::UNakatomiCMC(): Safe_bWantsToSprint(false)
|
||||
{
|
||||
NavAgentProps.bCanCrouch = true;
|
||||
}
|
||||
|
||||
// Checks if we can combine the NewMove with the current move to save on data.
|
||||
// If all the data in a saved move is identical, if true, we cam tell the server to run the existing move instead.
|
||||
bool UNakatomiCMC::FSavedMove_Nakatomi::CanCombineWith(const FSavedMovePtr& NewMove, ACharacter* InCharacter,
|
||||
|
@ -83,10 +88,6 @@ FNetworkPredictionData_Client* UNakatomiCMC::GetPredictionData_Client() const
|
|||
return ClientPredictionData;
|
||||
}
|
||||
|
||||
UNakatomiCMC::UNakatomiCMC(): Safe_bWantsToSprint(false)
|
||||
{
|
||||
}
|
||||
|
||||
void UNakatomiCMC::UpdateFromCompressedFlags(uint8 Flags)
|
||||
{
|
||||
Super::UpdateFromCompressedFlags(Flags);
|
||||
|
@ -119,4 +120,14 @@ void UNakatomiCMC::EnableSprint()
|
|||
void UNakatomiCMC::DisableSprint()
|
||||
{
|
||||
Safe_bWantsToSprint = false;
|
||||
}
|
||||
}
|
||||
|
||||
void UNakatomiCMC::EnableCrouch()
|
||||
{
|
||||
bWantsToCrouch = true;
|
||||
}
|
||||
|
||||
void UNakatomiCMC::DisableCrouch()
|
||||
{
|
||||
bWantsToCrouch = false;
|
||||
}
|
||||
|
|
|
@ -57,4 +57,10 @@ public:
|
|||
|
||||
UFUNCTION(BlueprintCallable)
|
||||
void DisableSprint();
|
||||
|
||||
UFUNCTION(BlueprintCallable)
|
||||
void EnableCrouch();
|
||||
|
||||
UFUNCTION(BlueprintCallable)
|
||||
void DisableCrouch();
|
||||
};
|
||||
|
|
|
@ -25,6 +25,8 @@ void ANakatomiCharacter::BeginPlay()
|
|||
Super::BeginPlay();
|
||||
|
||||
SetInventoryToDefault();
|
||||
|
||||
NakatomiCMC = Cast<UNakatomiCMC>(GetCharacterMovement());
|
||||
}
|
||||
|
||||
// Called every frame
|
||||
|
@ -237,6 +239,11 @@ void ANakatomiCharacter::PushThrowableToInventory(TSubclassOf<AThrowable> Throwa
|
|||
}
|
||||
}
|
||||
|
||||
UNakatomiCMC* ANakatomiCharacter::GetCharacterMovementComponent()
|
||||
{
|
||||
return NakatomiCMC;
|
||||
}
|
||||
|
||||
void ANakatomiCharacter::CalculateHits(TArray<FHitResult>* hits)
|
||||
{
|
||||
}
|
||||
|
|
|
@ -104,6 +104,8 @@ public:
|
|||
|
||||
void PushThrowableToInventory(TSubclassOf<AThrowable> Throwable);
|
||||
|
||||
UNakatomiCMC* GetCharacterMovementComponent();
|
||||
|
||||
protected:
|
||||
virtual void CalculateHits(TArray<FHitResult>* hits);
|
||||
|
||||
|
|
|
@ -187,6 +187,12 @@ void APlayerCharacter::SetupPlayerInputComponent(UInputComponent* PlayerInputCom
|
|||
{
|
||||
Input->BindAction(PauseAction, ETriggerEvent::Completed, this, &APlayerCharacter::PauseCallback);
|
||||
}
|
||||
|
||||
if (CrouchAction)
|
||||
{
|
||||
Input->BindAction(CrouchAction, ETriggerEvent::Started, this, &APlayerCharacter::BeginCrouchCallback);
|
||||
Input->BindAction(CrouchAction, ETriggerEvent::Completed, this, &APlayerCharacter::EndCrouchCallback);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -268,17 +274,21 @@ void APlayerCharacter::QuitCallback(const FInputActionInstance& Instance)
|
|||
|
||||
void APlayerCharacter::SetSprintingCallback(const FInputActionInstance& Instance)
|
||||
{
|
||||
if (NakatomiCMC)
|
||||
UNakatomiCMC* cmc = GetCharacterMovementComponent();
|
||||
|
||||
if (cmc)
|
||||
{
|
||||
NakatomiCMC->EnableSprint();
|
||||
cmc->EnableSprint();
|
||||
}
|
||||
}
|
||||
|
||||
void APlayerCharacter::SetWalkingCallback(const FInputActionInstance& Instance)
|
||||
{
|
||||
if (NakatomiCMC)
|
||||
UNakatomiCMC* cmc = GetCharacterMovementComponent();
|
||||
|
||||
if (cmc)
|
||||
{
|
||||
NakatomiCMC->DisableSprint();
|
||||
cmc->DisableSprint();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -536,6 +546,26 @@ void APlayerCharacter::PauseCallback(const FInputActionInstance& Instance)
|
|||
}
|
||||
}
|
||||
|
||||
void APlayerCharacter::BeginCrouchCallback(const FInputActionInstance& Instance)
|
||||
{
|
||||
UNakatomiCMC* cmc = GetCharacterMovementComponent();
|
||||
|
||||
if (cmc)
|
||||
{
|
||||
cmc->EnableCrouch();
|
||||
}
|
||||
}
|
||||
|
||||
void APlayerCharacter::EndCrouchCallback(const FInputActionInstance& Instance)
|
||||
{
|
||||
UNakatomiCMC* cmc = GetCharacterMovementComponent();
|
||||
|
||||
if (cmc)
|
||||
{
|
||||
cmc->DisableCrouch();
|
||||
}
|
||||
}
|
||||
|
||||
void APlayerCharacter::OnFire()
|
||||
{
|
||||
if (!IsFiring || CurrentWeapon->GetAmmoCount() == 0)
|
||||
|
@ -684,4 +714,4 @@ AThrowable* APlayerCharacter::ThrowThrowable()
|
|||
}
|
||||
|
||||
return nullptr;
|
||||
}
|
||||
}
|
|
@ -64,6 +64,9 @@ public:
|
|||
|
||||
UPROPERTY(EditDefaultsOnly, BlueprintReadWrite)
|
||||
UInputAction* AimDownSightsAction;
|
||||
|
||||
UPROPERTY(EditDefaultsOnly, BlueprintReadWrite)
|
||||
UInputAction* CrouchAction;
|
||||
|
||||
UPROPERTY(EditDefaultsOnly, BlueprintReadWrite)
|
||||
TSoftObjectPtr<UInputMappingContext> InputMappingContext;
|
||||
|
@ -174,6 +177,10 @@ public:
|
|||
void EndAimDownSightsCallback(const FInputActionInstance& Instance);
|
||||
|
||||
void PauseCallback(const FInputActionInstance& Instance);
|
||||
|
||||
void BeginCrouchCallback(const FInputActionInstance& Instance);
|
||||
|
||||
void EndCrouchCallback(const FInputActionInstance& Instance);
|
||||
|
||||
virtual void OnFire() override;
|
||||
|
||||
|
|
Loading…
Reference in New Issue