I’m trying to do a bit of details panel customisation for a custom actor class and I’d like to refresh said details panel whenever a property, in this case an array called IncomingRoadPoints, is changed. This is the code I’m using:
RoadNodeArrayPtr = LayoutBuilder->GetProperty(GET_MEMBER_NAME_CHECKED(AIntersectionController, IncomingRoadPoints));
FSimpleDelegate OnNodeArrayChanged = FSimpleDelegate::CreateSP(this, &FIntersectionControllerDetails::UpdateRoadNodeInfo);
RoadNodeArrayPtr->SetOnPropertyValueChanged(OnNodeArrayChanged);
This is triggered just fine whenever the length of the array changes, or if I get a different property (Like a bool or something), but is not triggered when I change one of the values in the array. From stepping through the source code, it looks like the delegate doesn’t exist when it tries to broadcast the change event, but I can’t figure out why.
Any ideas?