21 void BindToOwner(AActor* InOwner);
24 virtual void NativeConstruct()
override;
25 virtual void NativeDestruct()
override;
26 virtual void NativeTick(
const FGeometry& MyGeometry,
float InDeltaTime)
override;
30 void HandleChargeBegin();
33 void HandlePhaseChanged(int32 InNewPhase);
36 void HandleChargeEnd();
39 void UpdateInnerCircleProgress();
40 void SetInnerCircleProgress(
float InProgress);
41 void SetPhaseCircleSegments(int32 InSegments);
42 void SetPhaseCircleProgress(int32 InCurrentPhase);
43 void UnbindFromStateComp();
46 UPROPERTY(BlueprintReadOnly, Category =
"UI|ChargeGauge", meta = (BindWidget))
47 TObjectPtr<UImage> IMG_InnerCircleProgressBar;
49 UPROPERTY(BlueprintReadOnly, Category = "
UI|ChargeGauge", meta = (BindWidget))
50 TObjectPtr<UImage> IMG_PhaseCircleProgressBar;
53 TObjectPtr<UMaterialInstanceDynamic> InnerCircleProgressMaterial;
56 TObjectPtr<UMaterialInstanceDynamic> PhaseCircleProgressMaterial;
59 TWeakObjectPtr<UChargeStateComponent> CachedStateComp;
62 uint8 bSkipNextInnerCircleProgressUpdate : 1 = false;
65 const FName ProgressParameterName = TEXT("Progress");
66 const FName SegmentsParameterName = TEXT("Segments");