Hallo zusammen,
ich versuche gerade ein UMG Widget zu erstellen, dass mir mein Inventar anzeigt. Dafür wollte ich eine ScrollBox verwenden. Hier mein bisheriger Code:
.h
UCLASS()
class UE4PROJECT_API MyUserWidget : public UUserWidget
{
GENERATED_BODY()
virtual void Construct_Implementation() ;
public:
// Nur fuer testzwecke
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "ItemArrayFString")
TArray<FString> lBaseItemFString;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "ScrollBoxItems")
UScrollBox* ScrollBox;
};
Alles anzeigen
.cpp
void MyUserWidget::Construct_Implementation()
{
UE_LOG(LogTemp, Warning, TEXT("MyUserWidget-------Construct-----"));
//TSharedPtr<class SScrollBox> scrolli = ScrollBox->MyScrollBox;
}
Nun wollte ich entweder in der Construct oder RebuildWidget Methode in die ScrollBox Items hinzufügen. Nun ist mein Problem, dass es keine add Methode oder sonstige Methoden gibt, die ich gesehen habe, die mir irgendwie helfen könnten. Nur die SSrollBox (https://docs.unrealengine.com/…out/SScrollBox/index.html) besitzt eine AddSlot Methode. Da ich im Code von der UScrollBox gesehen habe, dass sie eine protected SScrollBox besitzt, wollte ich diese dann modifizieren, allerdings konnte ich dann auch nicht auf "MyScrollBox" zugreifen.
Das Ziel sollte eine Anzeige vom Inventar sein, dass man durchscrollen kann und das mit Werten aus der Inventarklasse gefüttert wird. Von dem Modus (Kampf, Nicht-Kampf, ...) abhängig, kann man die Items dann einsetzen, d.h. ich brauche wahrscheinlich dynamische Buttons, bei denen ich dann das Textfeld setzen muss und bei denen ich dann das Event abfragen muss.
Ich hoffe es kann mir jemand weiterhelfen.
Vielen Dank schon einmal!