Space Plunder
Loading...
Searching...
No Matches
ScoreboardWidget.h
Go to the documentation of this file.
1// Fill out your copyright notice in the Description page of Project Settings.
2
3#pragma once
4
5#include "CoreMinimal.h"
6#include "Blueprint/UserWidget.h"
7#include "ScoreboardWidget.generated.h"
8
9struct FTeamScoreData;
10
11UCLASS()
12class MENUSYSTEM_API UScoreboardWidget : public UUserWidget
13{
14 GENERATED_BODY()
15
16public:
17 UScoreboardWidget(const FObjectInitializer& ObjectInitializer);
18
19 virtual bool Initialize() override;
20
21 virtual void NativeConstruct() override;
22 virtual void NativePreConstruct() override;
23
24 UFUNCTION(BlueprintCallable, Category="Menu System")
25 void SetNumberOfTeams(int32 Amount){Teams = Amount;};
26 UFUNCTION(BlueprintCallable, Category="Menu System")
27 void SetTotalScores(TArray<FTeamScoreData> Score, int32 Goal);
28
29 UFUNCTION()
30 void UpdateScoreboard();
31 UFUNCTION()
32 void GetTeams();
33
34
35 void UpdateScoreboardPlayers(TArray<APlayerState*> PlayerStates);
36
37protected:
38 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, meta=(BindWidget), Category="Menu System")
39 class UTextBlock* GameModeTextBlock;
40 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, meta=(BindWidget), Category="Menu System")
41 class UVerticalBox* TeamsVerticalBox;
42
43 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="Menu System")
44 int32 Teams = 1;
45 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="Menu System")
46 float ScoreboardUpdateFrequency = 0.5f;
47
48 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category="Menu System")
49 TArray<class UScoreboardTeamWidget*> TeamWidgets;
50private:
51 void CreateTeamWidgets();
52
53 UFUNCTION()
54 void VisibilityChanged(ESlateVisibility NewVisibility);
55
56 FTimerHandle UpdateScoreboardTimerHandle;
57
58 UPROPERTY(VisibleAnywhere, Category="Menu System")
59 TSubclassOf<class UScoreboardRowWidget> ScoreboardRowWidgetClass;
60 UPROPERTY(VisibleAnywhere, Category="Menu System")
61 TSubclassOf<class UScoreboardTeamWidget> ScoreboardTeamWidgetClass;
62
63 TArray<APlayerState*> AllPlayerStates;
64
65};
UCLASS(Blueprintable, BlueprintType, ClassGroup=(BucciGames), meta=(BlueprintSpawnableComponent)) class CHATSYSTEM_API UChatSystemComponent
Definition ChatSystemComponent.h:13
Definition ScoreboardRowWidget.h:11
Definition ScoreboardTeamWidget.h:11
Definition ScoreboardWidget.h:13
Definition MultiplayerData.h:37