46 lines
1.1 KiB
C++
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
|
|
};
|