RealtimeStyleTransferRuntime/Source/LyraGame/Settings/Screens/LyraSafeZoneEditor.h

64 lines
1.9 KiB
C
Raw Normal View History

2022-05-23 18:41:30 +00:00
// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CommonActivatableWidget.h"
#include "CommonInputBaseTypes.h"
#include "Widgets/IGameSettingActionInterface.h"
#include "LyraSafeZoneEditor.generated.h"
class UGameSetting;
class UCommonButtonBase;
class UCommonRichTextBlock;
class UWidgetSwitcher;
class UGameSettingValueScalar;
UCLASS(Abstract)
class ULyraSafeZoneEditor : public UCommonActivatableWidget, public IGameSettingActionInterface
{
GENERATED_BODY()
public:
FSimpleMulticastDelegate OnSafeZoneSet;
public:
ULyraSafeZoneEditor(const FObjectInitializer& Initializer);
// Begin IGameSettingActionInterface
virtual bool ExecuteActionForSetting_Implementation(FGameplayTag ActionTag, UGameSetting* InSetting) override;
// End IGameSettingActionInterface
protected:
UPROPERTY(EditAnywhere, Category = "Restrictions")
bool bCanCancel = true;
virtual void NativeOnActivated() override;
virtual void NativeOnInitialized() override;
virtual FReply NativeOnAnalogValueChanged(const FGeometry& InGeometry, const FAnalogInputEvent& InAnalogEvent) override;
virtual FReply NativeOnMouseWheel(const FGeometry& InGeometry, const FPointerEvent& InMouseEvent) override;
void HandleInputModeChanged(ECommonInputType InInputType);
private:
UFUNCTION()
void HandleBackClicked();
UFUNCTION()
void HandleDoneClicked();
TWeakObjectPtr<UGameSettingValueScalar> ValueSetting;
UPROPERTY(BlueprintReadOnly, meta = (BindWidget, AllowPrivateAccess = true))
UWidgetSwitcher* Switcher_SafeZoneMessage;
UPROPERTY(BlueprintReadOnly, meta = (BindWidget, AllowPrivateAccess = true))
UCommonRichTextBlock* RichText_Default;
UPROPERTY(BlueprintReadOnly, meta = (BindWidget, AllowPrivateAccess = true))
UCommonButtonBase* Button_Back;
UPROPERTY(BlueprintReadOnly, meta = (BindWidget, AllowPrivateAccess = true))
UCommonButtonBase* Button_Done;
};