#pragma once #include "CoreMinimal.h" #include "DismembermentGraphNode.h" #include "DismembermentGraphNodePhysics.generated.h" /** * Node for physics simulation in the dismemberment graph */ UCLASS() class FLESHEDITOR_API UDismembermentGraphNodePhysics : public UDismembermentGraphNode { GENERATED_BODY() public: UDismembermentGraphNodePhysics(); // Physics parameters UPROPERTY(EditAnywhere, Category = "Physics Parameters") float Mass; UPROPERTY(EditAnywhere, Category = "Physics Parameters") float LinearDamping; UPROPERTY(EditAnywhere, Category = "Physics Parameters") float AngularDamping; UPROPERTY(EditAnywhere, Category = "Physics Parameters") bool bEnableGravity; UPROPERTY(EditAnywhere, Category = "Physics Parameters") bool bSimulatePhysics; UPROPERTY(EditAnywhere, Category = "Physics Parameters") bool bGenerateOverlapEvents; UPROPERTY(EditAnywhere, Category = "Physics Parameters") TObjectPtr PhysicalMaterial; UPROPERTY(EditAnywhere, Category = "Physics Parameters") float ImpulseForce; UPROPERTY(EditAnywhere, Category = "Physics Parameters") float ImpulseRadius; // 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 };