Small Projectile Weapon refactor

This commit is contained in:
baz 2025-07-26 03:41:55 +01:00
parent 375ed69817
commit eb4ce4cb79
2 changed files with 6 additions and 7 deletions

View File

@ -10,7 +10,8 @@ void AProjectileWeapon::FireWeaponAction_Implementation()
Super::FireWeaponAction_Implementation(); Super::FireWeaponAction_Implementation();
remainingProjectilesToSpawn = ProjectilesPerActivation; remainingProjectilesToSpawn = ProjectilesPerActivation;
GetWorldTimerManager().SetTimer(FireProjectileTimerHandler, this, &AProjectileWeapon::FireProjectile, ProjectileSpawningDelay, true, 0.0f); GetWorldTimerManager().SetTimer(FireProjectileTimerHandler, this, &AProjectileWeapon::FireProjectile,
ProjectileSpawningDelay, true, 0.0f);
} }
void AProjectileWeapon::FireProjectile() void AProjectileWeapon::FireProjectile()

View File

@ -17,8 +17,8 @@ class VAMPIRES_API AProjectileWeapon : public AWeapon
{ {
GENERATED_BODY() GENERATED_BODY()
public: protected:
UPROPERTY(EditAnywhere, Category = "Weapon | Projectiles") UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = "Weapon | Projectiles")
TObjectPtr<UProjectileDataAsset> ProjectileTemplate = nullptr; TObjectPtr<UProjectileDataAsset> ProjectileTemplate = nullptr;
UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = "Weapon | Projectiles") UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = "Weapon | Projectiles")
@ -27,16 +27,14 @@ public:
UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = "Weapon | Projectiles") UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = "Weapon | Projectiles")
float ProjectileSpawningDelay = 0.25f; float ProjectileSpawningDelay = 0.25f;
protected: private:
FTimerHandle FireProjectileTimerHandler; FTimerHandle FireProjectileTimerHandler;
private:
int remainingProjectilesToSpawn = 0; int remainingProjectilesToSpawn = 0;
public: protected:
virtual void FireWeaponAction_Implementation() override; virtual void FireWeaponAction_Implementation() override;
protected:
UFUNCTION() UFUNCTION()
virtual void FireProjectile(); virtual void FireProjectile();
}; };