Navigation
API > API/Plugins > API/Plugins/RemoteControl
References
| Module | RemoteControl |
| Header | /Engine/Plugins/VirtualProduction/RemoteControl/Source/RemoteControl/Public/RemoteControlFieldPath.h |
| Include | #include "RemoteControlFieldPath.h" |
Syntax
USTRUCT&40;&41;
struct FRCFieldPathInfo
Remarks
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. 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.
Variables
| Type | Name | Description | |
|---|---|---|---|
| uint32 | PathHash | Hash created from the string we were built from to quickly compare to paths | |
| TArray< FRCFieldPathSegment > | Segments | List of segments to point to a given field |
Constructors
| Type | Name | Description | |
|---|---|---|---|
FRCFieldPathInfo
(
FProperty* Property |
Builds a path info from a property. | ||
FRCFieldPathInfo
(
const FString& PathInfo, |
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 |
Functions
| Type | Name | Description | |
|---|---|---|---|
| FName | GetFieldName () |
Returns last segment's name | |
| const FRCFieldPathSegment & | GetFieldSegment
(
int32 Index |
Gets a segment from this path | |
| FRCFieldResolvedData | Returns the resolved data of the last segment If last segment is not resolved, data won't be valid | ||
| int32 | Returns the number of segment in this path | ||
| bool | IsEqual
(
FStringView OtherPath |
Returns true if the hash of the string corresponds to the string we were built with | |
| bool | IsEqual
(
const FRCFieldPathInfo& OtherPath |
Returns true if hash of both PathInfo matches | |
| bool | IsResolved () |
Returns true if last segment was resolved | |
| bool | Go through each segment and finds the property associated + container address for a given UObject owner | ||
| void | ToEditPropertyChain
(
FEditPropertyChain& OutPropertyChain |
Builds an EditPropertyChain from the segments | |
| FString | ToPathPropertyString
(
int32 EndSegment |
Converts this PathInfo to a string of PathToProperty format Struct.ArrayName.ArrayName[Index] If EndSegment is not none, will stop at the desired segment | |
| FPropertyChangedEvent | ToPropertyChangedEvent
(
EPropertyChangeType::Type InChangeType |
Builds a property change event from all the segments | |
| TSharedRef< FPropertyPath > | Converts this RCPath to a property path. | ||
| FString | ToString
(
int32 EndSegment |
Converts this PathInfo to a string Walks the full path by default If EndSegment is not none, will stop at the desired segment |
Operators
| Type | Name | Description | |
|---|---|---|---|
| bool | operator!=
(
const FRCFieldPathInfo& Other |
||
| bool | operator==
(
const FRCFieldPathInfo& Other |