You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
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]
32 lines
962 B
C++
32 lines
962 B
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
#pragma once
|
|
|
|
#include "CoreMinimal.h"
|
|
#include "IAnimBlueprintCompilerHandler.h"
|
|
|
|
class FAnimBlueprintCompilerContext;
|
|
class IAnimBlueprintCompilerCreationContext;
|
|
|
|
class ANIMGRAPH_API IAnimBlueprintCompilerHandlerCollection
|
|
{
|
|
public:
|
|
virtual ~IAnimBlueprintCompilerHandlerCollection() {}
|
|
|
|
/** Register a named handler */
|
|
static void RegisterHandler(FName InName, TFunction<TUniquePtr<IAnimBlueprintCompilerHandler>(IAnimBlueprintCompilerCreationContext&)> InFunction);
|
|
|
|
/** Register a named handler */
|
|
static void UnregisterHandler(FName InName);
|
|
|
|
// Get a GetHandler of specified type with the specified name
|
|
template<typename THandlerClass>
|
|
THandlerClass* GetHandler(FName InName) const
|
|
{
|
|
return static_cast<THandlerClass*>(GetHandlerByName(InName));
|
|
}
|
|
|
|
protected:
|
|
// Get a GetHandler with the specified name
|
|
virtual IAnimBlueprintCompilerHandler* GetHandlerByName(FName InName) const = 0;
|
|
}; |