#pragma once #include "CoreMinimal.h" #include "DismembermentGraphNode.h" #include "NiagaraSystem.h" #include "DismembermentGraphNodeWound.generated.h" /** * Node for wound effects in the dismemberment graph */ UCLASS() class FLESHEDITOR_API UDismembermentGraphNodeWound : public UDismembermentGraphNode { GENERATED_BODY() public: UDismembermentGraphNodeWound(); // Wound parameters UPROPERTY(EditAnywhere, Category = "Wound Parameters") float WoundSize; UPROPERTY(EditAnywhere, Category = "Wound Parameters") float WoundDepth; UPROPERTY(EditAnywhere, Category = "Wound Parameters") TObjectPtr WoundMaterial; UPROPERTY(EditAnywhere, Category = "Wound Parameters") TObjectPtr WoundEffect; UPROPERTY(EditAnywhere, Category = "Wound Parameters") bool bCreateDecal; UPROPERTY(EditAnywhere, Category = "Wound Parameters", meta = (EditCondition = "bCreateDecal")) TObjectPtr DecalMaterial; UPROPERTY(EditAnywhere, Category = "Wound Parameters", meta = (EditCondition = "bCreateDecal")) float DecalSize; UPROPERTY(EditAnywhere, Category = "Wound Parameters", meta = (EditCondition = "bCreateDecal")) float DecalLifetime; UPROPERTY(EditAnywhere, Category = "Wound Parameters") bool bAffectBoneHealth; UPROPERTY(EditAnywhere, Category = "Wound Parameters", meta = (EditCondition = "bAffectBoneHealth")) float BoneDamage; // 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 };