RealtimeStyleTransferRuntime/Source/LyraGame/UI/LyraActivatableWidget.cpp

54 lines
1.9 KiB
C++
Raw Permalink Normal View History

2022-05-23 18:41:30 +00:00
// Copyright Epic Games, Inc. All Rights Reserved.
#include "LyraActivatableWidget.h"
#include "Editor/WidgetCompilerLog.h"
2022-09-13 07:18:28 +00:00
#include "CommonInputModeTypes.h"
2022-05-23 18:41:30 +00:00
#include "Input/UIActionBindingHandle.h"
#define LOCTEXT_NAMESPACE "Lyra"
ULyraActivatableWidget::ULyraActivatableWidget(const FObjectInitializer& ObjectInitializer)
: Super(ObjectInitializer)
{
}
TOptional<FUIInputConfig> ULyraActivatableWidget::GetDesiredInputConfig() const
{
switch (InputConfig)
{
case ELyraWidgetInputMode::GameAndMenu:
return FUIInputConfig(ECommonInputMode::All, GameMouseCaptureMode);
case ELyraWidgetInputMode::Game:
return FUIInputConfig(ECommonInputMode::Game, GameMouseCaptureMode);
case ELyraWidgetInputMode::Menu:
return FUIInputConfig(ECommonInputMode::Menu, EMouseCaptureMode::NoCapture);
case ELyraWidgetInputMode::Default:
default:
return TOptional<FUIInputConfig>();
}
}
#if WITH_EDITOR
void ULyraActivatableWidget::ValidateCompiledWidgetTree(const UWidgetTree& BlueprintWidgetTree, class IWidgetCompilerLog& CompileLog) const
{
Super::ValidateCompiledWidgetTree(BlueprintWidgetTree, CompileLog);
if (!GetClass()->IsFunctionImplementedInScript(GET_FUNCTION_NAME_CHECKED(ULyraActivatableWidget, BP_GetDesiredFocusTarget)))
{
if (GetParentNativeClass(GetClass()) == ULyraActivatableWidget::StaticClass())
{
CompileLog.Warning(LOCTEXT("ValidateGetDesiredFocusTarget_Warning", "GetDesiredFocusTarget wasn't implemented, you're going to have trouble using gamepads on this screen."));
}
else
{
//TODO - Note for now, because we can't guarantee it isn't implemented in a native subclass of this one.
CompileLog.Note(LOCTEXT("ValidateGetDesiredFocusTarget_Note", "GetDesiredFocusTarget wasn't implemented, you're going to have trouble using gamepads on this screen. If it was implemented in the native base class you can ignore this message."));
}
}
}
#endif
#undef LOCTEXT_NAMESPACE