#pragma once #include "CoreMinimal.h" #include "Projectile.h" #include "ChargedProjectile.generated.h" UCLASS(Blueprintable) class AChargedProjectile : public AProjectile { GENERATED_BODY() public: protected: UPROPERTY(BlueprintReadWrite, EditAnywhere, Replicated, Transient, meta=(AllowPrivateAccess=true)) bool ExplodesWhenDead; UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true)) bool PersistentExplosion; UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true)) bool AoEDamageInFlight; UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true)) float DirectDamageReduction; public: AChargedProjectile(); virtual void GetLifetimeReplicatedProps(TArray& OutLifetimeProps) const override; protected: UFUNCTION(BlueprintCallable, BlueprintImplementableEvent) void OnAoEDamageEnabled(); };