Navigation
Unreal Engine C++ API Reference > 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 |