Lost_Edge/Source/Lost_Edge/Private/Widgets/MainMenu/MainMenuWidget.h

57 lines
1.7 KiB
C++

// Oleg Petruny proprietary.
#pragma once
#include "Widgets/ResolutionResponsiveUserWidget.h"
#include "MainMenuWidget.generated.h"
DECLARE_DYNAMIC_MULTICAST_DELEGATE(FMainMenuOpeningDelegate);
DECLARE_DYNAMIC_MULTICAST_DELEGATE(FMainMenuClosingDelegate);
DECLARE_DYNAMIC_MULTICAST_DELEGATE(FMainMenuClosedDelegate);
UCLASS(Blueprintable, Abstract)
class UMainMenuWidget : public UUserWidget
{
GENERATED_BODY()
public:
virtual bool Initialize() override;
UFUNCTION(BlueprintCallable)
void Show(bool fast = true);
UFUNCTION(BlueprintCallable)
void Hide();
UPROPERTY(BlueprintAssignable)
FMainMenuOpeningDelegate OnMainMenuOpeningDelegate;
UPROPERTY(BlueprintAssignable)
FMainMenuClosedDelegate OnMainMenuClosingDelegate;
UPROPERTY(BlueprintAssignable)
FMainMenuClosedDelegate OnMainMenuClosedDelegate;
UPROPERTY(meta = (BindWidget))
class UMainMenuButtonWidget* ButtonContinue;
UPROPERTY(meta = (BindWidget))
class UMainMenuButtonWidget* ButtonLoadLastSave;
UPROPERTY(meta = (BindWidget))
class UMainMenuButtonWidget* ButtonNewGame;
UPROPERTY(meta = (BindWidget))
class UMainMenuButtonWidget* ButtonOptions;
UPROPERTY(meta = (BindWidget))
class UMainMenuButtonWidget* ButtonCredits;
UPROPERTY(meta = (BindWidget))
class UMainMenuButtonWidget* ButtonExit;
UPROPERTY(Transient, meta = (BindWidgetAnim))
class UWidgetAnimation* showFullAnimation;
UPROPERTY(Transient, meta = (BindWidgetAnim))
class UWidgetAnimation* showFastAnimation;
UPROPERTY(Transient, meta = (BindWidgetAnim))
class UWidgetAnimation* closeAnimation;
protected:
UFUNCTION()
void Closed();
};