END_SLATE_FUNCTION_BUILD_OPTIMIZATION void SReflectorTreeWidgetItem::HandleHyperlinkNavigate() { FAssetData AssetData = WidgetInfo->GetWidgetAssetData(); if ( AssetData.IsValid() ) { if ( OnAccessAsset.IsBound() ) { AssetData.GetPackage(); OnAccessAsset.Execute(AssetData.GetAsset()); return; } } if ( OnAccessSourceCode.IsBound() ) { OnAccessSourceCode.Execute(GetWidgetFile(), GetWidgetLineNumber(), 0); } }
void SReflectorTreeWidgetItem::HandleHyperlinkNavigate() { TWeakPtr<SWidget> Widget = WidgetInfo.Get()->Widget; if ( Widget.IsValid() ) { TSharedPtr<SWidget> SafeWidget = Widget.Pin(); TSharedPtr<FReflectionMetaData> MetaData = SafeWidget->GetMetaData<FReflectionMetaData>(); if ( MetaData.IsValid() && MetaData->Asset.Get() != nullptr ) { if ( OnAccessAsset.IsBound() ) { OnAccessAsset.Execute(MetaData->Asset.Get()); return; } } } if ( OnAccessSourceCode.IsBound() ) { OnAccessSourceCode.Execute(GetWidgetFile(), GetWidgetLineNumber(), 0); } }