Files
FLESH/Source/FLESHEditor/Public/DismembermentGraph/DismembermentGraphNodeBloodEffect.h
2025-04-17 23:59:17 +08:00

47 lines
1.4 KiB
C++

#pragma once
#include "CoreMinimal.h"
#include "DismembermentGraphNode.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<UNiagaraSystem> 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<UMaterialInterface> 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
};