5#include "Components/GridPanel.h"
6#include "Components/Image.h"
7#include "Components/RetainerBox.h"
8#include "Components/SizeBox.h"
9#include "CoreMinimal.h"
10#include "ProfilePicWidget.h"
11#include "StreamWidget.h"
12#include "User/UserRef.h"
14#include "AvatarWidget.generated.h"
20class STREAMCHATUI_API UAvatarWidget : public UStreamWidget
25 UFUNCTION(BlueprintCallable, Category = "Stream Chat")
26 void Setup(const TArray<
FUserRef>& InUsers, int32 InSize = -1);
27 UFUNCTION(BlueprintCallable, Category = "Stream Chat")
28 void SetupWithUrl(const FString& InImageUrl, int32 InSize = -1);
31 UPROPERTY(meta = (BindWidget))
34 UPROPERTY(meta = (BindWidget))
37 UPROPERTY(meta = (BindWidget))
38 URetainerBox* RetainerBox;
40 UPROPERTY(EditDefaultsOnly, NoClear, Category = Defaults)
41 TSubclassOf<UProfilePicWidget> ProfilePicWidgetClass = UProfilePicWidget::StaticClass();
43 UPROPERTY(EditDefaultsOnly, Category = Defaults)
44 UMaterialInterface* EffectMaterial;
46 UPROPERTY(EditDefaultsOnly, Category = Defaults)
47 FName OnlineStatusMaterialParameterName = TEXT("bOnline");
49 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = Setup)
51 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = Setup)
54 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = Setup)
58 virtual
void OnSetup() override;
59 virtual
void NativeConstruct() override;
60 virtual
void NativeDestruct() override;
61 void UpdateOnlineStatus(
bool bOnline);
62 void CreateProfilePics();
63 UProfilePicWidget* CreateProfilePic(const
FUserRef&);
69 UMaterialInstanceDynamic* EffectMaterialDynamic;
A reference to a unique User.
Definition: UserRef.h:23