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;
|
DefaultFOV = Character->GetFollowCamera()->FieldOfView;
|
||||||
CurrentFOV = DefaultFOV;
|
CurrentFOV = DefaultFOV;
|
||||||
}
|
}
|
||||||
|
if (Character->HasAuthority())
|
||||||
|
{
|
||||||
|
InitializeCarriedAmmo();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -219,6 +223,16 @@ bool UCombatComponent::CanFire()
|
||||||
|
|
||||||
void UCombatComponent::OnRep_CarriedAmmo()
|
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)
|
void UCombatComponent::ServerFire_Implementation(const FVector_NetQuantize& TraceHitTarget)
|
||||||
|
@ -299,6 +313,18 @@ void UCombatComponent::EquipWeapon(AWeapon* WeaponToEquip)
|
||||||
}
|
}
|
||||||
EquippedWeapon->SetOwner(Character);
|
EquippedWeapon->SetOwner(Character);
|
||||||
EquippedWeapon->SetHUDAmmo();
|
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->GetCharacterMovement()->bOrientRotationToMovement = false;
|
||||||
Character->bUseControllerRotationYaw = true;
|
Character->bUseControllerRotationYaw = true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -110,4 +110,9 @@ private:
|
||||||
void OnRep_CarriedAmmo();
|
void OnRep_CarriedAmmo();
|
||||||
|
|
||||||
TMap<EWeaponType, int32> CarriedAmmoMap;
|
TMap<EWeaponType, int32> CarriedAmmoMap;
|
||||||
|
|
||||||
|
UPROPERTY(EditAnywhere)
|
||||||
|
int32 StartingARAmmo = 30;
|
||||||
|
|
||||||
|
void InitializeCarriedAmmo();
|
||||||
};
|
};
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "CoreMinimal.h"
|
#include "CoreMinimal.h"
|
||||||
|
#include "WeaponTypes.h"
|
||||||
#include "GameFramework/Actor.h"
|
#include "GameFramework/Actor.h"
|
||||||
#include "Weapon.generated.h"
|
#include "Weapon.generated.h"
|
||||||
|
|
||||||
|
@ -121,6 +122,9 @@ private:
|
||||||
|
|
||||||
UPROPERTY()
|
UPROPERTY()
|
||||||
class ABlasterPlayerController* OwnerController;
|
class ABlasterPlayerController* OwnerController;
|
||||||
|
|
||||||
|
UPROPERTY(EditAnywhere)
|
||||||
|
EWeaponType WeaponType;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
void SetWeaponState(EWeaponState State);
|
void SetWeaponState(EWeaponState State);
|
||||||
|
@ -128,5 +132,6 @@ public:
|
||||||
FORCEINLINE USkeletalMeshComponent* GetWeaponMesh() const { return WeaponMesh; };
|
FORCEINLINE USkeletalMeshComponent* GetWeaponMesh() const { return WeaponMesh; };
|
||||||
FORCEINLINE float GetZoomedFOV() const { return ZoomedFOV; };
|
FORCEINLINE float GetZoomedFOV() const { return ZoomedFOV; };
|
||||||
FORCEINLINE float GetZoomInterpSpeed() const { return ZoomInterpSpeed; };
|
FORCEINLINE float GetZoomInterpSpeed() const { return ZoomInterpSpeed; };
|
||||||
|
FORCEINLINE EWeaponType GetWeaponType() const { return WeaponType; }
|
||||||
bool IsEmpty();
|
bool IsEmpty();
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue