BP/NativeがDelegateを使いたいなら
DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnInventoryItemChanged, bool, bAdded, URPGItem*, Item);
DECLARE_MULTICAST_DELEGATE_TwoParams(FOnInventoryItemChangedNative, bool, URPGItem*);
/** Delegate called when an inventory item has been added or removed */
UPROPERTY(BlueprintAssignable, Category = Inventory)
FOnInventoryItemChanged OnInventoryItemChanged;
/** Native version above, called before BP delegate */
FOnInventoryItemChangedNative OnInventoryItemChangedNative;
void ARPGPlayerControllerBase::NotifyInventoryItemChanged(bool bAdded, URPGItem* Item)
{
// Notify native before blueprint
OnInventoryItemChangedNative.Broadcast(bAdded, Item);
OnInventoryItemChanged.Broadcast(bAdded, Item);
// Call BP update event
InventoryItemChanged(bAdded, Item);
}
MULTICAST DELEGATEは青緑色では利用できないため、DYNAMIC MULTICAST DELEGATEが使用されていることがわかります.BP/NativeがDelegateを呼び出す場合、このような構成が最も理想的なコードであると考えられます.
Reference
この問題について(BP/NativeがDelegateを使いたいなら), 我々は、より多くの情報をここで見つけました https://velog.io/@hon454/언리얼-C-Delegate-활용-패턴テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol