112 - Displaying Carried Ammo
This commit is contained in:
parent
e93a80d107
commit
2d10e1886d
Binary file not shown.
|
@ -42,6 +42,10 @@ void UCombatComponent::BeginPlay()
|
|||
DefaultFOV = Character->GetFollowCamera()->FieldOfView;
|
||||
CurrentFOV = DefaultFOV;
|
||||
}
|
||||
if (Character->HasAuthority())
|
||||
{
|
||||
InitializeCarriedAmmo();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -219,6 +223,16 @@ bool UCombatComponent::CanFire()
|
|||
|
||||
void UCombatComponent::OnRep_CarriedAmmo()
|
||||
{
|
||||
Controller = Controller == nullptr ? Cast<ABlasterPlayerController>(Character->Controller) : Controller;
|
||||
if (Controller)
|
||||
{
|
||||
Controller->SetHUDCarriedAmmo(CarriedAmmo);
|
||||
}
|
||||
}
|
||||
|
||||
void UCombatComponent::InitializeCarriedAmmo()
|
||||
{
|
||||
CarriedAmmoMap.Emplace(EWeaponType::EWT_AssaultRifle, StartingARAmmo);
|
||||
}
|
||||
|
||||
void UCombatComponent::ServerFire_Implementation(const FVector_NetQuantize& TraceHitTarget)
|
||||
|
@ -299,6 +313,18 @@ void UCombatComponent::EquipWeapon(AWeapon* WeaponToEquip)
|
|||
}
|
||||
EquippedWeapon->SetOwner(Character);
|
||||
EquippedWeapon->SetHUDAmmo();
|
||||
|
||||
if (CarriedAmmoMap.Contains(EquippedWeapon->GetWeaponType()))
|
||||
{
|
||||
CarriedAmmo = CarriedAmmoMap[EquippedWeapon->GetWeaponType()];
|
||||
}
|
||||
|
||||
Controller = Controller == nullptr ? Cast<ABlasterPlayerController>(Character->Controller) : Controller;
|
||||
if (Controller)
|
||||
{
|
||||
Controller->SetHUDCarriedAmmo(CarriedAmmo);
|
||||
}
|
||||
|
||||
Character->GetCharacterMovement()->bOrientRotationToMovement = false;
|
||||
Character->bUseControllerRotationYaw = true;
|
||||
}
|
||||
|
|
|
@ -110,4 +110,9 @@ private:
|
|||
void OnRep_CarriedAmmo();
|
||||
|
||||
TMap<EWeaponType, int32> CarriedAmmoMap;
|
||||
|
||||
UPROPERTY(EditAnywhere)
|
||||
int32 StartingARAmmo = 30;
|
||||
|
||||
void InitializeCarriedAmmo();
|
||||
};
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
#pragma once
|
||||
|
||||
#include "CoreMinimal.h"
|
||||
#include "WeaponTypes.h"
|
||||
#include "GameFramework/Actor.h"
|
||||
#include "Weapon.generated.h"
|
||||
|
||||
|
@ -121,6 +122,9 @@ private:
|
|||
|
||||
UPROPERTY()
|
||||
class ABlasterPlayerController* OwnerController;
|
||||
|
||||
UPROPERTY(EditAnywhere)
|
||||
EWeaponType WeaponType;
|
||||
|
||||
public:
|
||||
void SetWeaponState(EWeaponState State);
|
||||
|
@ -128,5 +132,6 @@ public:
|
|||
FORCEINLINE USkeletalMeshComponent* GetWeaponMesh() const { return WeaponMesh; };
|
||||
FORCEINLINE float GetZoomedFOV() const { return ZoomedFOV; };
|
||||
FORCEINLINE float GetZoomInterpSpeed() const { return ZoomInterpSpeed; };
|
||||
FORCEINLINE EWeaponType GetWeaponType() const { return WeaponType; }
|
||||
bool IsEmpty();
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue