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>
|
#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.
|
// 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.
|
// 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,
|
bool UNakatomiCMC::FSavedMove_Nakatomi::CanCombineWith(const FSavedMovePtr& NewMove, ACharacter* InCharacter,
|
||||||
|
@ -83,10 +88,6 @@ FNetworkPredictionData_Client* UNakatomiCMC::GetPredictionData_Client() const
|
||||||
return ClientPredictionData;
|
return ClientPredictionData;
|
||||||
}
|
}
|
||||||
|
|
||||||
UNakatomiCMC::UNakatomiCMC(): Safe_bWantsToSprint(false)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void UNakatomiCMC::UpdateFromCompressedFlags(uint8 Flags)
|
void UNakatomiCMC::UpdateFromCompressedFlags(uint8 Flags)
|
||||||
{
|
{
|
||||||
Super::UpdateFromCompressedFlags(Flags);
|
Super::UpdateFromCompressedFlags(Flags);
|
||||||
|
@ -120,3 +121,13 @@ void UNakatomiCMC::DisableSprint()
|
||||||
{
|
{
|
||||||
Safe_bWantsToSprint = false;
|
Safe_bWantsToSprint = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void UNakatomiCMC::EnableCrouch()
|
||||||
|
{
|
||||||
|
bWantsToCrouch = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
void UNakatomiCMC::DisableCrouch()
|
||||||
|
{
|
||||||
|
bWantsToCrouch = false;
|
||||||
|
}
|
||||||
|
|
|
@ -57,4 +57,10 @@ public:
|
||||||
|
|
||||||
UFUNCTION(BlueprintCallable)
|
UFUNCTION(BlueprintCallable)
|
||||||
void DisableSprint();
|
void DisableSprint();
|
||||||
|
|
||||||
|
UFUNCTION(BlueprintCallable)
|
||||||
|
void EnableCrouch();
|
||||||
|
|
||||||
|
UFUNCTION(BlueprintCallable)
|
||||||
|
void DisableCrouch();
|
||||||
};
|
};
|
||||||
|
|
|
@ -25,6 +25,8 @@ void ANakatomiCharacter::BeginPlay()
|
||||||
Super::BeginPlay();
|
Super::BeginPlay();
|
||||||
|
|
||||||
SetInventoryToDefault();
|
SetInventoryToDefault();
|
||||||
|
|
||||||
|
NakatomiCMC = Cast<UNakatomiCMC>(GetCharacterMovement());
|
||||||
}
|
}
|
||||||
|
|
||||||
// Called every frame
|
// Called every frame
|
||||||
|
@ -237,6 +239,11 @@ void ANakatomiCharacter::PushThrowableToInventory(TSubclassOf<AThrowable> Throwa
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
UNakatomiCMC* ANakatomiCharacter::GetCharacterMovementComponent()
|
||||||
|
{
|
||||||
|
return NakatomiCMC;
|
||||||
|
}
|
||||||
|
|
||||||
void ANakatomiCharacter::CalculateHits(TArray<FHitResult>* hits)
|
void ANakatomiCharacter::CalculateHits(TArray<FHitResult>* hits)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
|
@ -104,6 +104,8 @@ public:
|
||||||
|
|
||||||
void PushThrowableToInventory(TSubclassOf<AThrowable> Throwable);
|
void PushThrowableToInventory(TSubclassOf<AThrowable> Throwable);
|
||||||
|
|
||||||
|
UNakatomiCMC* GetCharacterMovementComponent();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual void CalculateHits(TArray<FHitResult>* hits);
|
virtual void CalculateHits(TArray<FHitResult>* hits);
|
||||||
|
|
||||||
|
|
|
@ -187,6 +187,12 @@ void APlayerCharacter::SetupPlayerInputComponent(UInputComponent* PlayerInputCom
|
||||||
{
|
{
|
||||||
Input->BindAction(PauseAction, ETriggerEvent::Completed, this, &APlayerCharacter::PauseCallback);
|
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)
|
void APlayerCharacter::SetSprintingCallback(const FInputActionInstance& Instance)
|
||||||
{
|
{
|
||||||
if (NakatomiCMC)
|
UNakatomiCMC* cmc = GetCharacterMovementComponent();
|
||||||
|
|
||||||
|
if (cmc)
|
||||||
{
|
{
|
||||||
NakatomiCMC->EnableSprint();
|
cmc->EnableSprint();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void APlayerCharacter::SetWalkingCallback(const FInputActionInstance& Instance)
|
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()
|
void APlayerCharacter::OnFire()
|
||||||
{
|
{
|
||||||
if (!IsFiring || CurrentWeapon->GetAmmoCount() == 0)
|
if (!IsFiring || CurrentWeapon->GetAmmoCount() == 0)
|
||||||
|
|
|
@ -65,6 +65,9 @@ public:
|
||||||
UPROPERTY(EditDefaultsOnly, BlueprintReadWrite)
|
UPROPERTY(EditDefaultsOnly, BlueprintReadWrite)
|
||||||
UInputAction* AimDownSightsAction;
|
UInputAction* AimDownSightsAction;
|
||||||
|
|
||||||
|
UPROPERTY(EditDefaultsOnly, BlueprintReadWrite)
|
||||||
|
UInputAction* CrouchAction;
|
||||||
|
|
||||||
UPROPERTY(EditDefaultsOnly, BlueprintReadWrite)
|
UPROPERTY(EditDefaultsOnly, BlueprintReadWrite)
|
||||||
TSoftObjectPtr<UInputMappingContext> InputMappingContext;
|
TSoftObjectPtr<UInputMappingContext> InputMappingContext;
|
||||||
|
|
||||||
|
@ -175,6 +178,10 @@ public:
|
||||||
|
|
||||||
void PauseCallback(const FInputActionInstance& Instance);
|
void PauseCallback(const FInputActionInstance& Instance);
|
||||||
|
|
||||||
|
void BeginCrouchCallback(const FInputActionInstance& Instance);
|
||||||
|
|
||||||
|
void EndCrouchCallback(const FInputActionInstance& Instance);
|
||||||
|
|
||||||
virtual void OnFire() override;
|
virtual void OnFire() override;
|
||||||
|
|
||||||
void WeaponCooldownHandler();
|
void WeaponCooldownHandler();
|
||||||
|
|
Loading…
Reference in New Issue