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