Navigation
API > API/Editor > API/Editor/KismetCompiler
References
| Module | KismetCompiler |
| Header | /Engine/Source/Editor/KismetCompiler/Public/KismetCompilerMisc.h |
| Include | #include "KismetCompilerMisc.h" |
Syntax
class FKismetCompilerUtilities
Remarks
This is a loose collection of utilities used when 'compiling' a new UClass from a K2 graph.
Functions
| Type | Name | Description | |
|---|---|---|---|
| bool | CheckFunctionCompiledStatementsThreadSafety
(
const UEdGraphNode* InNode, |
Helper function used by CheckFunctionThreadSafety. Split out to allow the ability to examine individual compiled statement lists (e.g. for the ubergraph) | |
| bool | CheckFunctionThreadSafety
(
const FKismetFunctionContext& InContext, |
Check the passed-in function to verify its thread safety. This makes sure that it only uses/calls thread-safe functions/nodes. | |
| FFieldVariant | CheckPropertyNameOnScope
(
UStruct* Scope, |
Checks that the property name isn't taken in the given scope (used by CreatePropertyOnScope()) | |
| void | CompileDefaultProperties
(
UClass* Class |
||
| void | ConsignToOblivion
(
UClass* OldClass, |
Rename a class and it's CDO into the transient package, and clear RF_Public on both of them. | |
| void | CreateObjectAssignmentStatement
(
FKismetFunctionContext& Context, |
Create Kismet assignment statement with proper object <-> interface cast | |
| FProperty * | CreatePrimitiveProperty
(
FFieldVariant PropertyScope, |
Helper function for creating property for primitive types. | |
| FProperty * | CreatePropertyOnScope
(
UStruct* Scope, |
Creates a property named PropertyName of type PropertyType in the Scope or returns NULL if the type is unknown, but does not link that property in | |
| void | DetectValuesReturnedByRef
(
const UFunction* Func, |
Generate an error for non-const output parameters | |
| ConvertibleSignatureMatchResult | DoSignaturesHaveConvertibleFloatTypes
(
const UFunction* SourceFunction, |
Similar to UFunction::IsSignatureCompatibleWith, but also checks if the function signatures are convertible. | |
| FProperty * | FindNamedPropertyInScope
(
UStruct* Scope, |
Finds a property by name, starting in the specified scope, returning NULL if it's not found. | |
| const UFunction * | FindOverriddenImplementableEvent
(
const FName& EventName, |
Return function, that overrides BlueprintImplementableEvent with given name in given class (super-classes are not considered) | |
| FProperty * | FindPropertyInScope
(
UStruct* Scope, |
Finds a property by name, starting in the specified scope; Validates property type and returns NULL along with emitting an error if there is a mismatch. | |
| TArray< TSet< UEdGraphNode * > > | FindUnsortedSeparateExecutionGroups
(
const TArray< UEdGraphNode* >& Nodes |
Find groups of nodes, that can be executed separately. | |
| UEdGraphPin * | GenerateAssignmentNodes
(
FKismetCompilerContext& CompilerContext, |
Create 'set var by name' nodes and hook them up - used to set values when components are added or actor are created at run time. | |
| TTuple< UEdGraphPin *, UEdGraphPin * > | GenerateBroadcastFieldNotificationNode
(
FKismetCompilerContext& CompilerContext, |
Create node to broadcast a FieldNotification value changed | |
| TTuple< UEdGraphPin *, UEdGraphPin * > | GenerateFieldNotificationSetNode
(
FKismetCompilerContext& CompilerContext, |
Create node that replace regular setter and use the SetPropertyValueAndBroadcast. | |
| bool | IsIntermediateFunctionGraphTrivial
(
FName FunctionName, |
||
| bool | IsMissingMemberPotentiallyLoading
(
const UBlueprint* SelfBlueprint, |
Intended to avoid errors that come from checking for external member (function, variable, etc.) dependencies. | |
| bool | IsPropertyUsesFieldNotificationSetValueAndBroadcast
(
const FProperty* Property |
||
| bool | IsStatementReducible
(
EKismetCompiledStatementType StatementType |
||
| bool | IsTypeCompatibleWithProperty
(
UEdGraphPin* SourcePin, |
Tests to see if a pin is schema compatible with a property. | |
| void | LinkAddedProperty
(
UStruct* Structure, |
||
| void | RemoveObjectRedirectorIfPresent
(
UObject* Package, |
||
| void | UpdateBlueprintSkeletonStubClassAfterFailedCompile
(
UBlueprint* Blueprint, |
||
| void | UpdateDependentBlueprints
(
UBlueprint* BP |
Add this BP to any BPs that it in | |
| void | ValidateEnumProperties
(
const UObject* DefaultObject, |
Checks if enum variables from given object store proper indexes | |
| void | ValidateProperEndExecutionPath
(
FKismetFunctionContext& Context |
||
| bool | ValidateSelfCompatibility
(
const UEdGraphPin* Pin, |
Checks if the specified pin can default to self |
Constants
| Name | Description |
|---|---|
| ConsignToOblivionCounter | Counter to ensure unique names in the transient package, to avoid GC collection issues with classes and their CDOs |