Payback 0.0.1
CK Graduation Project
로딩중...
검색중...
일치하는것 없음
ChargeGaugeWidget.h
이 파일의 문서화 페이지로 가기
1// Fill out your copyright notice in the Description page of Project Settings.
2
3#pragma once
4
5#include "UI/UserWidgetBase.h"
6#include "ChargeGaugeWidget.generated.h"
7
8
9class UImage;
10class UMaterialInstanceDynamic;
11class UChargeStateComponent;
12
13
14UCLASS()
15class CK_UE_API UChargeGaugeWidget : public UUserWidgetBase
16{
17 GENERATED_BODY()
18
19public:
20 UFUNCTION()
21 void BindToOwner(AActor* InOwner);
22
23protected:
24 virtual void NativeConstruct() override;
25 virtual void NativeDestruct() override;
26 virtual void NativeTick(const FGeometry& MyGeometry, float InDeltaTime) override;
27
28protected:
29 UFUNCTION()
30 void HandleChargeBegin();
31
32 UFUNCTION()
33 void HandlePhaseChanged(int32 InNewPhase);
34
35 UFUNCTION()
36 void HandleChargeEnd();
37
38protected:
39 void UpdateInnerCircleProgress();
40 void SetInnerCircleProgress(float InProgress);
41 void SetPhaseCircleSegments(int32 InSegments);
42 void SetPhaseCircleProgress(int32 InCurrentPhase);
43 void UnbindFromStateComp();
44
45protected:
46 UPROPERTY(BlueprintReadOnly, Category = "UI|ChargeGauge", meta = (BindWidget))
47 TObjectPtr<UImage> IMG_InnerCircleProgressBar;
48
49 UPROPERTY(BlueprintReadOnly, Category = "UI|ChargeGauge", meta = (BindWidget))
50 TObjectPtr<UImage> IMG_PhaseCircleProgressBar;
51
52 UPROPERTY(Transient)
53 TObjectPtr<UMaterialInstanceDynamic> InnerCircleProgressMaterial;
54
55 UPROPERTY(Transient)
56 TObjectPtr<UMaterialInstanceDynamic> PhaseCircleProgressMaterial;
57
58 UPROPERTY(Transient)
59 TWeakObjectPtr<UChargeStateComponent> CachedStateComp;
60
61 UPROPERTY(Transient)
62 uint8 bSkipNextInnerCircleProgressUpdate : 1 = false;
63
64protected:
65 const FName ProgressParameterName = TEXT("Progress");
66 const FName SegmentsParameterName = TEXT("Segments");
67};
Definition ChargeGaugeWidget.h:16
Definition UserWidgetBase.h:33