2020-09-01 14:07:48 -04:00
// Copyright Epic Games, Inc. All Rights Reserved.
# pragma once
# include "CoreMinimal.h"
# include "UObject/Interface.h"
# include "Containers/ArrayView.h"
# include "Delegates/Delegate.h"
2020-09-09 08:32:25 -04:00
# include "IAnimBlueprintCompilerHandler.h"
2020-09-01 14:07:48 -04:00
enum class EPropertyAccessBatchType : uint8 ;
2020-09-09 08:32:25 -04:00
class IAnimBlueprintGeneratedClassCompiledData ;
2021-04-22 04:57:09 -04:00
class IAnimBlueprintCompilationBracketContext ;
2020-09-01 14:07:48 -04:00
2020-09-09 08:32:25 -04:00
// Delegate called when the library is compiled (whether successfully or not)
2021-04-22 04:57:09 -04:00
DECLARE_MULTICAST_DELEGATE_TwoParams ( FOnPostLibraryCompiled , IAnimBlueprintCompilationBracketContext & /*InCompilationContext*/ , IAnimBlueprintGeneratedClassCompiledData & /*OutCompiledData*/ )
2020-09-09 08:32:25 -04:00
2021-04-22 04:57:09 -04:00
class UE_DEPRECATED ( 5.0 , " FPropertyAccessCompilerHandler is no longer used. Use UAnimBlueprintExtension_PropertyAccess instead " ) FPropertyAccessCompilerHandler ;
PRAGMA_DISABLE_DEPRECATION_WARNINGS
2020-09-09 08:32:25 -04:00
class FPropertyAccessCompilerHandler : public IAnimBlueprintCompilerHandler
2020-09-01 14:07:48 -04:00
{
public :
// Add a copy to the property access library we are compiling
// @return an integer handle to the pending copy. This can be resolved to a true copy index by calling MapCopyIndex
virtual int32 AddCopy ( TArrayView < FString > InSourcePath , TArrayView < FString > InDestPath , EPropertyAccessBatchType InBatchType , UObject * InObject = nullptr ) = 0 ;
// Delegate called when the library is compiled (whether successfully or not)
virtual FSimpleMulticastDelegate & OnPreLibraryCompiled ( ) = 0 ;
// Delegate called when the library is compiled (whether successfully or not)
2020-09-09 08:32:25 -04:00
virtual FOnPostLibraryCompiled & OnPostLibraryCompiled ( ) = 0 ;
2020-09-01 14:07:48 -04:00
// Maps the initial integer copy handle to a true handle, post compilation
virtual int32 MapCopyIndex ( int32 InIndex ) const = 0 ;
2021-04-22 04:57:09 -04:00
} ;
PRAGMA_ENABLE_DEPRECATION_WARNINGS