Notification changes in UE Wingman

This commit is contained in:
2026-03-18 20:08:50 -04:00
parent 230f104fda
commit 809de505b6
16 changed files with 123 additions and 96 deletions

View File

@@ -94,8 +94,8 @@ public:
UEdGraphNode* Node = F.Node(Entry.Node).Cast<UEdGraphNode>();
if (!Node) return;
TArray<WingProperty> All = WingProperty::GetAll(Node, CPF_Edit);
WingProperty P = WingProperty::FindOneExactMatch(All, Entry.Name);
TArray<FWingProperty> All = FWingProperty::GetAll(Node, CPF_Edit);
FWingProperty P = FWingProperty::FindOneExactMatch(All, Entry.Name);
if (!P) return;
UWingServer::AddTouchedObject(Node);

View File

@@ -43,17 +43,17 @@ public:
WingFetcher F;
UObject* Template = F.Walk(Object).Cast<UObject>();
if (!Template) return;
TArray<WingProperty> AllProps = WingProperty::GetAll(Template, CPF_Edit);
TArray<WingProperty> Props = WingProperty::FindAllSubstring(AllProps, Query);
TArray<FWingProperty> AllProps = FWingProperty::GetAll(Template, CPF_Edit);
TArray<FWingProperty> Props = FWingProperty::FindAllSubstring(AllProps, Query);
if (Local)
{
UClass* ObjClass = Template->GetClass();
Props.RemoveAll([ObjClass](const WingProperty& P) { return P->GetOwnerStruct() != ObjClass; });
Props.RemoveAll([ObjClass](const FWingProperty& P) { return P->GetOwnerStruct() != ObjClass; });
}
// Group properties by category.
TMap<FString, TArray<WingProperty>> ByCategory;
for (WingProperty& P : Props)
TMap<FString, TArray<FWingProperty>> ByCategory;
for (FWingProperty& P : Props)
{
FString Category = P->HasMetaData(TEXT("Category")) ? P->GetMetaData(TEXT("Category")) : FString();
ByCategory.FindOrAdd(Category).Add(P);
@@ -75,7 +75,7 @@ public:
else
UWingServer::Printf(TEXT("\n%s:\n"), *Category);
for (WingProperty& P : ByCategory[Category])
for (FWingProperty& P : ByCategory[Category])
{
FString PropName = WingUtils::FormatName(P.Prop);
FString ValueStr = P.GetText();

View File

@@ -36,8 +36,8 @@ public:
UObject* Obj = F.Walk(Object).Cast<UObject>();
if (!Obj) return;
TArray<WingProperty> All = WingProperty::GetAll(Obj, CPF_Edit);
WingProperty P = WingProperty::FindOneExactMatch(All, Property);
TArray<FWingProperty> All = FWingProperty::GetAll(Obj, CPF_Edit);
FWingProperty P = FWingProperty::FindOneExactMatch(All, Property);
if (!P) return;
UWingServer::Print(P.GetText());

View File

@@ -44,11 +44,11 @@ public:
}
// Validation pass — resolve all properties and values before modifying anything.
TArray<WingProperty> All = WingProperty::GetAll(Obj, CPF_Edit);
TArray<TPair<WingProperty, FString>> Resolved;
TArray<FWingProperty> All = FWingProperty::GetAll(Obj, CPF_Edit);
TArray<TPair<FWingProperty, FString>> Resolved;
for (const auto& Pair : Properties.Json->Values)
{
WingProperty P = WingProperty::FindOneExactMatch(All, Pair.Key);
FWingProperty P = FWingProperty::FindOneExactMatch(All, Pair.Key);
if (!P) return;
FString ValueStr;