Payback 0.0.1
CK Graduation Project
로딩중...
검색중...
일치하는것 없음
UILayer.h
이 파일의 문서화 페이지로 가기
1#pragma once
2#include "CoreMinimal.h"
3#include "GameplayTagContainer.h"
4#include "UIContext.h"
5#include "UILayer.generated.h"
6
7struct FGameplayTag;
10
11
12UCLASS(BlueprintType)
13class UUILayer : public UObject
14{
15 GENERATED_BODY()
16
17public:
18 void InitLayer(FGameplayTag InLayerTag, int32 InPriority, UUIManagementSubsystem* InSubsystem);
19 virtual void Init() { }
20
21public:
22 void ShowLayer(const FUIContext* Context = nullptr);
23 void HideLayer(const FUIContext* Context = nullptr);
24
25 void PushWidget(UUserWidgetBase* Widget);
26 UUserWidgetBase* PopWidget();
27 void RemoveWidget(UUserWidgetBase* Widget);
28
29 bool ContainWidget(UUserWidgetBase* Widget) const;
30 UUserWidgetBase* GetTopWidget() const;
31 int32 WidgetCount() const;
32 void ClearWidget();
33
34#if WITH_EDITOR
35 CK_UE_API void PrintWidgetsToScreen() const;
36#endif
37
38public:
39 virtual void OnPushedToLayerStack() { }
40 virtual void OnPoppedFromLayerStack() { }
41
42public:
43 UFUNCTION(BlueprintCallable, Category = "UI|Layer")
44 FORCEINLINE TArray<UUserWidgetBase*> GetWidgets() const
45 {
46 return UserWidgets;
47 }
48
49 FORCEINLINE bool IsVisible() const
50 {
51 return bVisible;
52 }
53
54 FORCEINLINE FGameplayTag GetTag() const
55 {
56 return LayerTag;
57 }
58
59 FORCEINLINE int32 GetPriority() const
60 {
61 return Priority;
62 }
63
64protected:
65 UPROPERTY(EditAnywhere, BlueprintReadOnly)
66 FGameplayTag LayerTag;
67
68 UPROPERTY(Transient)
69 int32 Priority = 0;
70
71 UPROPERTY(Transient)
72 bool bTick = false;
73
74 UPROPERTY(Transient)
75 bool bVisible = true;
76
77 UPROPERTY(Transient)
78 TArray<TObjectPtr<UUserWidgetBase>> UserWidgets;
79
80 UPROPERTY(Transient)
81 TObjectPtr<UUIManagementSubsystem> OwnerSubsystem;
82};
Definition UILayer.h:14
virtual void OnPushedToLayerStack()
Definition UILayer.h:39
FORCEINLINE FGameplayTag GetTag() const
Definition UILayer.h:54
virtual void OnPoppedFromLayerStack()
Definition UILayer.h:40
FORCEINLINE int32 GetPriority() const
Definition UILayer.h:59
virtual void Init()
Definition UILayer.h:19
FORCEINLINE bool IsVisible() const
Definition UILayer.h:49
Definition UIManagementSubsystem.h:22
Definition UserWidgetBase.h:33
FGameplayTag LayerTag
Definition UserWidgetBase.h:126
Definition UIContext.h:10