#pragma once #include "CoreMinimal.h" #include "ArmorDamageInfo.h" #include "BaseArmorDamageComponent.h" #include "DestructableBodypartItem.h" #include "SimpleArmorRadialDamagedDelegateDelegate.h" #include "SimpleArmorDamageComponent.generated.h" UCLASS(Blueprintable, ClassGroup=Custom, meta=(BlueprintSpawnableComponent)) class USimpleArmorDamageComponent : public UBaseArmorDamageComponent { GENERATED_BODY() public: UPROPERTY(BlueprintAssignable, BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) FSimpleArmorRadialDamagedDelegate OnRadialArmorPartsDestroyedEvent; protected: UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) float ArmorStrength; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) TMap PhysBoneToArmor; UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, ReplicatedUsing=OnRep_ArmorDamageInfo, meta=(AllowPrivateAccess=true)) FArmorDamageInfo ArmorDamageInfo; public: USimpleArmorDamageComponent(); virtual void GetLifetimeReplicatedProps(TArray& OutLifetimeProps) const override; protected: UFUNCTION(BlueprintCallable) void OnRep_ArmorDamageInfo(FArmorDamageInfo OldArmorDamageInfo); };