Files
UnrealEngineUWP/Engine/Source/Editor/AnimGraph/Public/IAnimBlueprintGeneratedClassCompiledData.h
Thomas Sarkanen 8b3709fb28 Restricted anim BP compiler subsystem APIs
Removed direct access to currently compiling BP class to restrict unguarded mutation.
Const-corrected various accessors and overrides.
Moved UObject-based compiler subsystems to 'handlers' and removed UObject dependency.
Moved from set of virtual functions on subsystems/handlers to a restricted set of contexts passed to specific multicast delegates that handlers subscribe to.
Removed anim class subsystems.
Moved property access code to engine module (editor code is still in a plugin).
Fixed nativized builds where anim BPs have nativized/non-nativized classes in the hierarchy

#rb Dan.OConnor
#jira none

[CL 14278258 by Thomas Sarkanen in ue5-main branch]
2020-09-09 08:32:25 -04:00

45 lines
1.7 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "Animation/AnimStateMachineTypes.h"
#include "Animation/AnimClassInterface.h"
#include "Animation/AnimTypes.h"
#include "Animation/AnimNodeBase.h"
struct FBlueprintDebugData;
struct FPropertyAccessLibrary;
struct FAnimBlueprintDebugData;
/** Interface to the writable parts of the generated class that handlers can operate on */
class ANIMGRAPH_API IAnimBlueprintGeneratedClassCompiledData
{
public:
// Get the baked state machines data for the currently-compiled class
virtual TArray<FBakedAnimationStateMachine>& GetBakedStateMachines() const = 0;
// Get the saved pose indices map data for the currently-compiled class
virtual TMap<FName, FCachedPoseIndices>& GetOrderedSavedPoseIndicesMap() const = 0;
// Get the debug data for the currently-compiled class
virtual FBlueprintDebugData& GetBlueprintDebugData() const = 0;
// Get the currently-compiled classes anim notifies
virtual TArray<FAnimNotifyEvent>& GetAnimNotifies() const = 0;
// Finds a notify event or adds if it doesn't already exist
virtual int32 FindOrAddNotify(FAnimNotifyEvent& Notify) const = 0;
// Get the currently-compiled classes exposed value handlers
virtual TArray<FExposedValueHandler>& GetExposedValueHandlers() const = 0;
// Get the currently-compiled classes property access library
virtual FPropertyAccessLibrary& GetPropertyAccessLibrary() const = 0;
// Get the anim debug data for the currently-compiled class
virtual FAnimBlueprintDebugData& GetAnimBlueprintDebugData() const = 0;
// Get the currently-compiled classes graph asset player information
virtual TMap<FName, FGraphAssetPlayerInformation>& GetGraphAssetPlayerInformation() const = 0;
};