GASATHON/Project/Source/Gasa/UI/GlobeProgressBar.h

74 lines
2.1 KiB
C++

#pragma once
#include "GasaCommon.h"
#include "GasaUserWidget.h"
#include "GlobeProgressBar.generated.h"
UCLASS()
class GASA_API UGlobeProgressBar : public UGasaUserWidget
{
GENERATED_BODY()
public:
// Just learning: https://benui.ca/unreal/build-widgets-in-editor/?utm_medium=social&utm_source=Discord
UFUNCTION(CallInEditor, Category="Generate Designer Widget Template")
void GenerateDesignerWidgetTemplate();
#pragma region Bindings
UPROPERTY(EditAnywhere, BlueprintReadWrite, meta = (BindWidgetOptional), Category="Globe")
UGasaSizeBox* Root_SB;
UPROPERTY(EditAnywhere, BlueprintReadWrite, meta = (BindWidgetOptional), Category="Globe")
UGasaOverlay* Overlay;
UPROPERTY(EditAnywhere, BlueprintReadWrite, meta = (BindWidgetOptional), Category="Globe")
UGasaImage* Bezel;
UPROPERTY(EditAnywhere, BlueprintReadWrite, meta = (BindWidgetOptional), Category="Globe")
UGasaProgressBar* Bar;
UPROPERTY(EditAnywhere, BlueprintReadWrite, meta = (BindWidgetOptional), Category="Globe")
UGasaImage* Glass;
UFUNCTION(BlueprintCallable, Category="Globe")
void SetBezelStyle(FSlateBrush brush);
UFUNCTION(BlueprintCallable, Category="Globe")
void SetBarPadding( FMargin margin );
UFUNCTION(BlueprintCallable, Category="Globe")
void SetBarStyle(FProgressBarStyle style);
UFUNCTION(BlueprintCallable, Category="Globe")
void SetGlassPadding( FMargin margin );
UFUNCTION(BlueprintCallable, Category="Globe")
void SetGlassStyle(FSlateBrush brush);
UFUNCTION(BlueprintCallable, Category="Globe")
void SetPercentage(float CurrentValue, float MaxValue);
UFUNCTION(BlueprintCallable, Category="Globe")
void SetSize(float width, float height);
#pragma endregion Bindings
// UGlobeProgressBar(FObjectInitializer const& ObjectInitializer);
#pragma region Widget
void SynchronizeProperties() override;
#pragma endregion Widget
void PostEditChangeProperty(FPropertyChangedEvent& PropertyChangedEvent) override;
#pragma region UserWidget
void NativePreConstruct() override;
#pragma endregion UserWidget
#pragma region Object
void Serialize(FArchive& Ar) override;
void Serialize(FStructuredArchive::FRecord Record) override;
#pragma endregion Object
};