Add Ammo counts to Weapon
This commit is contained in:
parent
495e08ec74
commit
ba7457dca9
|
@ -13,6 +13,8 @@ AWeapon::AWeapon()
|
||||||
void AWeapon::BeginPlay()
|
void AWeapon::BeginPlay()
|
||||||
{
|
{
|
||||||
Super::BeginPlay();
|
Super::BeginPlay();
|
||||||
|
|
||||||
|
SetAmmoCountToDefault();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -65,3 +67,43 @@ void AWeapon::SetFireSound(USoundBase* USoundBase)
|
||||||
{
|
{
|
||||||
FireSound = USoundBase;
|
FireSound = USoundBase;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int AWeapon::GetAmmoCount()
|
||||||
|
{
|
||||||
|
return AmmoCount;
|
||||||
|
}
|
||||||
|
|
||||||
|
void AWeapon::SetAmmoCount(int ammoCount)
|
||||||
|
{
|
||||||
|
AmmoCount = ammoCount;
|
||||||
|
|
||||||
|
if (AmmoCount > WeaponProperties.MaxAmmo)
|
||||||
|
{
|
||||||
|
AmmoCount = WeaponProperties.MaxAmmo;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void AWeapon::SetAmmoCountToDefault()
|
||||||
|
{
|
||||||
|
AmmoCount = WeaponProperties.DefaultAmmo;
|
||||||
|
}
|
||||||
|
|
||||||
|
void AWeapon::IncrementAmmoCount(int ammoCount)
|
||||||
|
{
|
||||||
|
AmmoCount += ammoCount;
|
||||||
|
|
||||||
|
if (AmmoCount > WeaponProperties.MaxAmmo)
|
||||||
|
{
|
||||||
|
AmmoCount = WeaponProperties.MaxAmmo;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void AWeapon::DecrementAmmoCount(int ammoCount)
|
||||||
|
{
|
||||||
|
AmmoCount -= ammoCount;
|
||||||
|
|
||||||
|
if (AmmoCount < 0)
|
||||||
|
{
|
||||||
|
AmmoCount = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -31,6 +31,12 @@ struct FWeaponProperties
|
||||||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Weapon Properties")
|
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Weapon Properties")
|
||||||
float WeaponChangeTime = 2.0f;
|
float WeaponChangeTime = 2.0f;
|
||||||
|
|
||||||
|
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Weapon Properties")
|
||||||
|
int MaxAmmo = 1;
|
||||||
|
|
||||||
|
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Weapon Properties")
|
||||||
|
int DefaultAmmo = 1;
|
||||||
|
|
||||||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Weapon Properties")
|
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Weapon Properties")
|
||||||
int ProjectilesPerShot = 1;
|
int ProjectilesPerShot = 1;
|
||||||
|
|
||||||
|
@ -66,6 +72,9 @@ protected:
|
||||||
UPROPERTY(EditDefaultsOnly)
|
UPROPERTY(EditDefaultsOnly)
|
||||||
USoundBase* FireSound;
|
USoundBase* FireSound;
|
||||||
|
|
||||||
|
UPROPERTY(VisibleAnywhere)
|
||||||
|
int AmmoCount;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
// Sets default values for this actor's properties
|
// Sets default values for this actor's properties
|
||||||
AWeapon();
|
AWeapon();
|
||||||
|
@ -94,4 +103,14 @@ public:
|
||||||
USoundBase* GetFireSound();
|
USoundBase* GetFireSound();
|
||||||
|
|
||||||
void SetFireSound(USoundBase* USoundBase);
|
void SetFireSound(USoundBase* USoundBase);
|
||||||
|
|
||||||
|
int GetAmmoCount();
|
||||||
|
|
||||||
|
void SetAmmoCount(int ammoCount);
|
||||||
|
|
||||||
|
void SetAmmoCountToDefault();
|
||||||
|
|
||||||
|
void IncrementAmmoCount(int ammoCount);
|
||||||
|
|
||||||
|
void DecrementAmmoCount(int ammoCount);
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue