#pragma once #include "CoreMinimal.h" #include "DismembermentGraphNode.h" #include "NiagaraSystem.h" #include "DismembermentGraphNodeBloodEffect.generated.h" /** * Node for creating blood effects in the dismemberment graph */ UCLASS() class FLESHEDITOR_API UDismembermentGraphNodeBloodEffect : public UDismembermentGraphNode { GENERATED_BODY() public: UDismembermentGraphNodeBloodEffect(); // Blood effect parameters UPROPERTY(EditAnywhere, Category = "Blood Effect") TObjectPtr BloodEffect; UPROPERTY(EditAnywhere, Category = "Blood Effect") float BloodAmount; UPROPERTY(EditAnywhere, Category = "Blood Effect") float BloodPressure; UPROPERTY(EditAnywhere, Category = "Blood Effect") bool bCreateBloodPool; UPROPERTY(EditAnywhere, Category = "Blood Effect", meta = (EditCondition = "bCreateBloodPool")) float BloodPoolSize; UPROPERTY(EditAnywhere, Category = "Blood Effect", meta = (EditCondition = "bCreateBloodPool")) TObjectPtr BloodPoolMaterial; // UEdGraphNode interface virtual void AllocateDefaultPins() override; virtual FText GetNodeTitle(ENodeTitleType::Type TitleType) const override; // End of UEdGraphNode interface // UDismembermentGraphNode interface virtual void CompileNode(class FDismembermentCompiler* Compiler) override; virtual void ExecuteNode(class FDismembermentExecutor* Executor) override; // End of UDismembermentGraphNode interface };