#pragma once #include "CoreMinimal.h" #include "NiagaraComponentPoolMethodEnum.h" #include "NiagaraTickBehaviorEnum.h" #include "FXEnum.generated.h" UENUM(BlueprintType) enum class EFXPriorityType : uint8 { Low = 0, Level_Low = 5, DeadBorn = 10, PhantomHit = 15, PhantomBuff = 20, PhantomSkill = 30, PlayerHit = 40, MonsterHit = 45, Medium = 50, Level_Medium = 55, MonsterBuff = 60, PlayerBuff = 70, MonsterSkill = 80, PlayerSkill = 90, DropEffect = 97, Level_High = 98, High = 99, Always = 100, }; USTRUCT(BlueprintType) struct FFXSpawnInfo { GENERATED_BODY() UPROPERTY() EFXPriorityType PriorityType = EFXPriorityType::Low; UPROPERTY() TEnumAsByte LocationType = EAttachLocation::Type::KeepRelativeOffset; UPROPERTY() ENCPoolMethod PoolingMethod = ENCPoolMethod::None; UPROPERTY() bool bPreCullCheck = true; UPROPERTY() bool bFXPriorityBind = false; UPROPERTY() bool bIsDataChannel = false; UPROPERTY() bool bAutoDestroy = true; UPROPERTY() bool bAutoActivate = true; UPROPERTY() int EffectMaxNum = 0; UPROPERTY() float PlayFXCD = 0; UPROPERTY() ENiagaraTickBehavior TickBehavior = ENiagaraTickBehavior::UseComponentTickGroup; };