38 lines
1.2 KiB
C++
38 lines
1.2 KiB
C++
// Fill out your copyright notice in the Description page of Project Settings.
|
|
|
|
#pragma once
|
|
|
|
#include "CoreMinimal.h"
|
|
#include "Blueprint/UserWidget.h"
|
|
#include "PlayerNameplateWidget.generated.h"
|
|
|
|
class UTextBlock;
|
|
|
|
/**
|
|
* L'etiquette flottante au-dessus d'un joueur : son pseudo Steam.
|
|
*
|
|
* Volontairement passive -- elle ne va chercher aucune donnee et ne s'abonne a
|
|
* rien. C'est UPlayerNameplateComponent qui la nourrit, parce que lui seul sait
|
|
* DE QUEL joueur il s'agit : un widget pose sur le pawn d'autrui n'a aucun moyen
|
|
* fiable de remonter jusqu'a son PlayerState sans supposer une hierarchie.
|
|
*
|
|
* Classe Abstract comme les autres widgets du projet : on cree un
|
|
* WBP_PlayerNameplate qui en herite, le C++ porte la logique et le Blueprint la
|
|
* mise en page.
|
|
*/
|
|
UCLASS(Abstract)
|
|
class SURVIVAL_PROJET_API UPlayerNameplateWidget : public UUserWidget
|
|
{
|
|
GENERATED_BODY()
|
|
|
|
public:
|
|
/** Ecrit le pseudo affiche. Sans effet si le Text Block n'existe pas. */
|
|
UFUNCTION(BlueprintCallable, Category = "Nameplate")
|
|
void SetPlayerName(const FText& InName);
|
|
|
|
protected:
|
|
/** A nommer exactement "PlayerNameText" dans le WBP. */
|
|
UPROPERTY(meta = (BindWidget))
|
|
TObjectPtr<UTextBlock> PlayerNameText;
|
|
};
|