You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
Another consequence of using doubles everywhere in Blueprints is that delegate binding can fail if a native delegate signature uses floats. The initial attempt at fixing this would update modify function pins in the current Blueprint to use PC_Float as a subcategory if it was used in a delegate binding. Unfortunately, this doesn't work if we're binding to a function in a different BP class. Attempting to fix up those functions would dirty several Blueprints, and likely confuse users. The approach that we take here creates a proxy delegate function that matches the underlying signature. The proxy's function graph will then call the original bound function, which implicitly handles any double/float conversions. Additionally, we'll perform a "capture" of any actors that we need to call the bound function on. The compiler will add a new hidden property for the actor class, which we set in the original graph that had the bound delegate. The proxy function graph will then read this property when it calls the original function. #jira UE-145634 #preflight 63191b1cb069eea9ab594ea2 #rb phillip.kavan [CL 22087332 by dave jones2 in ue5-main branch]
58 lines
1.1 KiB
C#
58 lines
1.1 KiB
C#
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
using UnrealBuildTool;
|
|
|
|
public class GraphEditor : ModuleRules
|
|
{
|
|
public GraphEditor(ReadOnlyTargetRules Target) : base(Target)
|
|
{
|
|
PublicIncludePathModuleNames.AddRange(
|
|
new string[] {
|
|
"ClassViewer",
|
|
"StructViewer",
|
|
}
|
|
);
|
|
|
|
PrivateDependencyModuleNames.AddRange(
|
|
new string[] {
|
|
"AppFramework",
|
|
"Core",
|
|
"CoreUObject",
|
|
"Engine",
|
|
"InputCore",
|
|
"Slate",
|
|
"SlateCore",
|
|
|
|
"EditorWidgets",
|
|
"EditorFramework",
|
|
"UnrealEd",
|
|
"AssetRegistry",
|
|
"Kismet",
|
|
"KismetCompiler",
|
|
"KismetWidgets",
|
|
"BlueprintGraph",
|
|
"Documentation",
|
|
"RenderCore",
|
|
"RHI",
|
|
"ToolMenus",
|
|
"ToolWidgets",
|
|
}
|
|
);
|
|
|
|
DynamicallyLoadedModuleNames.AddRange(
|
|
new string[] {
|
|
"ContentBrowser",
|
|
"ClassViewer",
|
|
"StructViewer",
|
|
}
|
|
);
|
|
|
|
// Circular references that need to be cleaned up
|
|
CircularlyReferencedDependentModules.AddRange(
|
|
new string[] {
|
|
"Kismet"
|
|
}
|
|
);
|
|
}
|
|
}
|