|
| static COREUOBJECT_API void | RegisterDelegateOffset (const UObject *OwningObject, FName DelegateName, size_t OffsetToOwner) |
| |
| static COREUOBJECT_API bool | Add (const UObject *DelegateOwner, const FName DelegateName, FScriptDelegate Delegate) |
| |
| static COREUOBJECT_API bool | AddUnique (const UObject *DelegateOwner, const FName DelegateName, FScriptDelegate Delegate) |
| |
| static COREUOBJECT_API bool | Contains (const UObject *DelegateOwner, const FName DelegateName, const FScriptDelegate &Delegate) |
| |
| static COREUOBJECT_API bool | Contains (const UObject *DelegateOwner, const FName DelegateName, const UObject *InObject, FName InFunctionName) |
| |
| static COREUOBJECT_API bool | Remove (const UObject *DelegateOwner, const FName DelegateName, const FScriptDelegate &Delegate) |
| |
| static COREUOBJECT_API bool | Remove (const UObject *DelegateOwner, const FName DelegateName, const UObject *InObject, FName InFunctionName) |
| |
| static COREUOBJECT_API bool | RemoveAll (const UObject *DelegateOwner, const FName DelegateName, const UObject *UserObject) |
| |
| static COREUOBJECT_API void | Clear (const UObject *DelegateOwner, const FName DelegateName) |
| |
| static COREUOBJECT_API FMulticastScriptDelegate * | GetMulticastDelegate (const UObject *DelegateOwner, const FName DelegateName) |
| |
| static COREUOBJECT_API TSharedPtr< FMulticastScriptDelegate > | GetSharedMulticastDelegate (const UObject *DelegateOwner, const FName DelegateName) |
| |
| static COREUOBJECT_API void | SetMulticastDelegate (const UObject *DelegateOwner, const FName DelegateName, FMulticastScriptDelegate Delegate) |
| |
| static COREUOBJECT_API FSparseDelegate * | ResolveSparseDelegate (const UObject *OwningObject, FName DelegateName) |
| |
| static COREUOBJECT_API UObject * | ResolveSparseOwner (const FSparseDelegate &SparseDelegate, const FName OwningClassName, const FName DelegateName) |
| |
| static COREUOBJECT_API void | SparseDelegateReport (const TArray< FString > &, UWorld *, FOutputDevice &) |
| |
Sparse delegates can be used for infrequently bound dynamic delegates so that the object uses only 1 byte of storage instead of having the full overhead of the delegate invocation list. The cost to invoke, add, remove, etc. from the delegate is higher than using the delegate directly and thus the memory savings benefit should be traded off against the frequency with which you would expect the delegate to be bound. Helper class for handling sparse delegate bindings