17 TSharedPtr<FLiveConfigPropertyDefinition> PropertyDefinition;
18 TArray<TSharedRef<FLiveConfigPropertyModelNode>> Children;
19 TWeakPtr<FLiveConfigPropertyModelNode> Parent;
21 bool IsProperty()
const {
return PropertyDefinition.IsValid() && PropertyDefinition->PropertyType != ELiveConfigPropertyType::Struct; }
22 bool IsStruct()
const {
return PropertyDefinition.IsValid() && PropertyDefinition->PropertyType == ELiveConfigPropertyType::Struct; }
36 virtual void Initialize(FSubsystemCollectionBase& Collection)
override;
37 virtual void Deinitialize()
override;
41 const TArray<TSharedRef<FLiveConfigPropertyModelNode>>& GetRootNodes()
const {
return RootNodes; }
44 const TMap<FString, TSharedPtr<FLiveConfigPropertyModelNode>>& GetNodeByPath()
const {
return NodeByPath; }
47 const TArray<TSharedPtr<FLiveConfigPropertyDefinition>>& GetDefinitions()
const {
return Definitions; }
49 void RebuildFromSystem();
52 TArray<TSharedPtr<FLiveConfigPropertyDefinition>> Definitions;
55 void Rebuild(
const TMap<FLiveConfigProperty, FLiveConfigPropertyDefinition>& InDefs);
57 TArray<TSharedRef<FLiveConfigPropertyModelNode>> RootNodes;
58 TMap<FString, TSharedPtr<FLiveConfigPropertyModelNode>> NodeByPath;
59 TMap<FString, TSharedPtr<FLiveConfigPropertyDefinition>> StructByName;
60 FDelegateHandle PropertiesUpdatedHandle;