Module |
|
Header |
/Engine/Plugins/VirtualProduction/RemoteControl/Source/RemoteControl/Public/RemoteControlFieldPath.h |
Include |
#include "RemoteControlFieldPath.h" |
[USTRUCT](Programming/UnrealArchitecture/Reference/Structs)()
struct FRCFieldPathInfo
Holds a path from a UObject to a field. Has facilities to resolve for a given owner.
Example Usage Create a path to relative location's x value, then resolve it on an static mesh component. FRCFieldPathInfo Path("RelativeLocation.X")); bool bResolved = Path.Resolve(MyStaticMeshComponent); if (bResolved) { FRCFieldResolvedData Data = Path.GetResolvedData(); Data.ContainerAddress corresponds to &MyStaticMeshComponent.RelativeLocation Data.Field corresponds to FFloatProperty (X) Data.Struct corresponds to FVector }
Other example paths: "MyStructProperty.NestedArrayProperty[3]" "RelativeLocation" "RelativeLocation.X"
Supports array/set/map indexing. @note Only String keys are currently supported for map key indexing. ie. MyStructProperty.MyStringToVectorMap["MyKey"].X Be aware that MyStringToVectorMap[2] will not correspond to the key 2 in the map, but to the index 2 of the map. This behaviour is intended to match PropertyHandle's GeneratePathToProperty method.
Name | Description | |
---|---|---|
|
FRCFieldPathInfo() |
|
|
FRCFieldPathInfo ( |
Builds a path info from a property. |
|
FRCFieldPathInfo |
Builds a path info from a string of format with '.' delimiters Optionally can reduce duplicates when dealing with containers If true -> Struct.ArrayName.ArrayName[2].Member will collapse to Struct.ArrayName[2].Member This is when being used with PathToProperty |
Name | Description | ||
---|---|---|---|
|
GetFieldName() |
Returns last segment's name |
|
|
const FRCFie... |
GetFieldSegment ( |
Gets a segment from this path |
|
FRCFieldReso... |
GetResolvedData() |
Returns the resolved data of the last segment If last segment is not resolved, data won't be valid |
|
GetSegmentCount() |
Returns the number of segment in this path |
|
|
IsEqual ( |
Returns true if the hash of the string corresponds to the string we were built with |
|
|
IsEqual ( |
Returns true if hash of both PathInfo matches |
|
|
IsResolved() |
Returns true if last segment was resolved |
|
|
Resolve ( |
Go through each segment and finds the property associated + container address for a given UObject owner |
|
|
ToEditPropertyChain ( |
Builds an EditPropertyChain from the segments |
|
|
ToPathPropertyString ( |
Converts this PathInfo to a string of PathToProperty format Struct.ArrayName.ArrayName[Index] If EndSegment is not none, will stop at the desired segment |
|
|
FPropertyCha... |
ToPropertyChangedEvent ( |
Builds a property change event from all the segments |
|
ToString ( |
Converts this PathInfo to a string Walks the full path by default If EndSegment is not none, will stop at the desired segment |