UFunction *UK2Node_LiveEditObject::GetEventMIDISignature() const { FMemberReference ReferenceToUse; FGuid DelegateGuid; UBlueprint::GetGuidFromClassByFieldName<UFunction>(ULiveEditorBroadcaster::StaticClass(), TEXT("OnEventMIDI"), DelegateGuid); ReferenceToUse.SetDirect( TEXT("OnEventMIDI"), DelegateGuid, ULiveEditorBroadcaster::StaticClass(), false ); UMulticastDelegateProperty* DelegateProperty = ReferenceToUse.ResolveMember<UMulticastDelegateProperty>(this); if (DelegateProperty != NULL) { return DelegateProperty->SignatureFunction; } return NULL; }
UFunction* UK2Node_BaseMCDelegate::GetDelegateSignature(bool bForceNotFromSkelClass) const { FMemberReference ReferenceToUse; if(!bForceNotFromSkelClass) { ReferenceToUse = DelegateReference; } else { UClass* OwnerClass = DelegateReference.GetMemberParentClass(this); FGuid DelegateGuid; if (OwnerClass) { UBlueprint::GetGuidFromClassByFieldName<UFunction>(OwnerClass, DelegateReference.GetMemberName(), DelegateGuid); } ReferenceToUse.SetDirect(DelegateReference.GetMemberName(), DelegateGuid, OwnerClass ? OwnerClass->GetAuthoritativeClass() : NULL, false); } UMulticastDelegateProperty* DelegateProperty = ReferenceToUse.ResolveMember<UMulticastDelegateProperty>(this); return (DelegateProperty != NULL) ? DelegateProperty->SignatureFunction : NULL; }