//NewInventoryGrid.h
UPROPERTY(EditDefaultsOnly, Category = "WidgetVariable")
TSubclassOf<UUserWidget> WNewItemWidget = nullptr;
UNewItemwidget* newitemwidget;
//NewInventoryGrid.cpp
void UNewInventoryGrid::RefreshInventory()
{
//...
newitemwidget = CreateWidget<UNewItemwidget>(this, WNewItemWidget);
if (newitemwidget)
{
newitemwidget->Tilesize = TileSize;
newitemwidget->ItemObj = ele.Key;
newitemwidget->Refresh();
}
}
//NewItem.h
#include "CoreMinimal.h"
#include "Blueprint/UserWidget.h"
#include "Runtime/UMG/Public/UMG.h"
#include "Runtime/UMG/Public/UMGStyle.h"
#include "Runtime/UMG/Public/Slate/SObjectWidget.h"
#include "Runtime/UMG/Public/IUMGModule.h"
#include "Runtime/UMG/Public/Blueprint/UserWidget.h"
#include "NewItemwidget.generated.h"
class OPENWORLDRPG_API UNewItemwidget : public UUserWidget
{
GENERATED_BODY()
public:
UPROPERTY(BlueprintReadOnly)
UNewItemObject* ItemObj;
UPROPERTY(BlueprintReadOnly)
float Tilesize;
UPROPERTY(BlueprintReadOnly)
FVector2D widgetsize;
//...
UPROPERTY(BlueprintReadOnly, Category = "WidgetVariable", meta = (BindWidget))
USizeBox* BGSizeBox;
UPROPERTY(BlueprintReadOnly, Category = "WidgetVariable", meta = (BindWidget))
UBorder* BGBorder;
UPROPERTY(BlueprintReadOnly, Category = "WidgetVariable", meta = (BindWidget))
UImage* ItemIcon;
i put NewItem widget template in NewInventoryGrid widget.
but still bindwidget variable is null.