#pragma once #include "CoreMinimal.h" #include "Engine/DataAsset.h" #include "GameplayTagContainer.h" #include "EliteEnemyEntry.h" #include "RandFloatInterval.h" #include "RandRange.h" #include "Templates/SubclassOf.h" #include "EnemySettings.generated.h" class UDamageComponent; class UEnemyDescriptor; class UEnemyID; UCLASS(Blueprintable) class UEnemySettings : public UDataAsset { GENERATED_BODY() public: UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) FRandRange EnemyWaveRange; UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true)) TMap EnemyDescriptor; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) FGameplayTagQuery EliteAllowQuery; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) TMap HeroEnemies; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) FRandFloatInterval HeroEnemySpawn; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) int32 EliteRequiredCampaignProgress; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) TArray> ExplodingEnemiesDamageComponents; UEnemySettings(); };