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

59 lines
1.7 KiB
C++

#pragma once
#include "CoreMinimal.h"
#include "DismembermentGraphNode.h"
#include "DismembermentGraphNodeOrgan.generated.h"
/**
* Node for organ simulation in the dismemberment graph
*/
UCLASS()
class FLESHEDITOR_API UDismembermentGraphNodeOrgan : public UDismembermentGraphNode
{
GENERATED_BODY()
public:
UDismembermentGraphNodeOrgan();
// Organ parameters
UPROPERTY(EditAnywhere, Category = "Organ Parameters")
TObjectPtr<UStaticMesh> OrganMesh;
UPROPERTY(EditAnywhere, Category = "Organ Parameters")
TObjectPtr<UMaterialInterface> OrganMaterial;
UPROPERTY(EditAnywhere, Category = "Organ Parameters")
FName AttachBoneName;
UPROPERTY(EditAnywhere, Category = "Organ Parameters")
FVector RelativeLocation;
UPROPERTY(EditAnywhere, Category = "Organ Parameters")
FRotator RelativeRotation;
UPROPERTY(EditAnywhere, Category = "Organ Parameters")
FVector RelativeScale;
UPROPERTY(EditAnywhere, Category = "Organ Parameters")
bool bSimulatePhysics;
UPROPERTY(EditAnywhere, Category = "Organ Parameters")
float DamageMultiplier;
UPROPERTY(EditAnywhere, Category = "Organ Parameters")
bool bIsCriticalOrgan;
UPROPERTY(EditAnywhere, Category = "Organ Parameters")
float BloodAmount;
// 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
};