Files
FLESH/Source/FLESH/Public/DismembermentGraph/DismembermentGraphAsset.h
2025-04-18 10:46:49 +08:00

46 lines
1.1 KiB
C++

#pragma once
#include "CoreMinimal.h"
#include "UObject/NoExportTypes.h"
// Forward declaration
class UDismembermentGraph;
#include "DismembermentGraphAsset.generated.h"
/**
* Asset that contains a dismemberment graph
* Used for visual programming of dismemberment logic
*/
UCLASS(BlueprintType)
class FLESH_API UDismembermentGraphAsset : public UObject
{
GENERATED_BODY()
public:
UDismembermentGraphAsset();
// The graph owned by this asset
UPROPERTY()
class UDismembermentGraph* Graph;
// Compile the graph into executable logic
UFUNCTION(BlueprintCallable, Category = "FLESH|Dismemberment")
bool CompileGraph();
// Execute the compiled graph
UFUNCTION(BlueprintCallable, Category = "FLESH|Dismemberment")
bool ExecuteGraph(class AActor* TargetActor);
#if WITH_EDITOR
// Called when the asset is created
virtual void PostInitProperties() override;
// Called when the asset is duplicated
virtual void PostDuplicate(bool bDuplicateForPIE) override;
// Called when the asset is loaded
virtual void PostLoad() override;
#endif
};